Difference between revisions of "Hackathon Proposal:POH Checklists"

From FlightGear wiki
Jump to: navigation, search
m (https://forum.flightgear.org/viewtopic.php?f=4&t=37992&p=373519&hilit=checklists#p373505)
m (this is a long-standing idea: https://forum.flightgear.org/viewtopic.php?f=4&t=37992&p=373519&#p373511)
Line 7: Line 7:
 
|supporters=none
 
|supporters=none
 
|background=Stuart would like to improve how checklists are displayed within the simulator.
 
|background=Stuart would like to improve how checklists are displayed within the simulator.
 +
 +
The PUI checklist dialog has a bug where selecting a new group doesn't update the checklist selection combo-box. Stuart has tried various tricks to update it, but thinks it's an underlying issue with PUI itself. <ref>https://sourceforge.net/p/flightgear/mailman/message/36292913/</ref>
 +
 +
Trying to do something more complicated with Nasal and PUI is a real pain, and Stuart doesn't think it's worth the effort. One thought he had a while back was it would be nice to replace the checklist function with some Canvas window that looked a bit more like a traditional paper checklist.<ref>https://sourceforge.net/p/flightgear/mailman/message/36937987/</ref>
 +
 +
Hopefully as we move to using Canvas in the future we'll be able to improve the checklist display to include a set of dots linking the items.<ref>https://sourceforge.net/p/flightgear/mailman/message/29824616/</ref>
  
 
Stuart would be very happy to help anyone who is interested in creating either a generic MFD checklist feature, or to replace the [[PUI]] version with a better canvas implementation.  
 
Stuart would be very happy to help anyone who is interested in creating either a generic MFD checklist feature, or to replace the [[PUI]] version with a better canvas implementation.  
 
<ref>https://forum.flightgear.org/viewtopic.php?f=4&t=37992&p=373519&#p373519</ref>So if someone is looking for a Hackathon idea - using QML or [[Canvas]] to render checklists so that they look more like a traditional checklist in a POH would be quite a neat little project. <ref>https://sourceforge.net/p/flightgear/mailman/message/37124720/</ref>
 
<ref>https://forum.flightgear.org/viewtopic.php?f=4&t=37992&p=373519&#p373519</ref>So if someone is looking for a Hackathon idea - using QML or [[Canvas]] to render checklists so that they look more like a traditional checklist in a POH would be quite a neat little project. <ref>https://sourceforge.net/p/flightgear/mailman/message/37124720/</ref>
  
The PUI checklist dialog has a bug where selecting a new group doesn't update the checklist selection combo-box. Stuart has tried various tricks to update it, but thinks it's an underlying issue with PUI itself. <ref>https://sourceforge.net/p/flightgear/mailman/message/36292913/</ref>
+
Note that checklists are primarily PropertyList/XML encoded, so can be easily turned into a Canvas dialog - it would be pretty straightforward to do so using what we have already, unless people care enough to provide dedicated/custom widgets for a certain look and feel.
 +
And in fact, given the groundwork by rleibner, Thorsten and jsb, there's now quite a bit of library code to draw widgets procedurally.
  
Hopefully as we move to using Canvas in the future we'll be able to improve the checklist display to include a set of dots linking the items.<ref>https://sourceforge.net/p/flightgear/mailman/message/29824616/</ref>
+
There probably isn't anything missing to provide a Canvas front-end for checklists, as per Stuart's original idea.
  
Trying to do something more complicated with Nasal and PUI is a real pain, and Stuart doesn't think it's worth the effort. One thought he had a while back was it would be nice to replace the checklist function with some Canvas window that looked a bit more like a traditional paper checklist.<ref>https://sourceforge.net/p/flightgear/mailman/message/36937987/</ref>
+
And in fact, t seems that Stuart has meanwhile actually created a Canvas-front-end as part of his FG1000 work - so for someone familiar with Nasal and Canvas, it should be pretty straightforward to extract that code, generalize it and turn it into a generic checklist widget.
 +
 
 +
So if there are folks who are interested in seeing a non PUI front-end (without depending on an optional dependency like Qt5/QML), their best bet would indeed be to look at the FG1000 repo and reuse Stuart's checklist implementation there.
 +
 
 +
the checklist handling stuff from the FG1000 is to be found here:
 +
 
 +
* https://sourceforge.net/p/flightgear/fgdata/ci/next/tree/Aircraft/Instruments-3d/FG1000/MFDPages/Checklist.svg
 +
* https://sourceforge.net/p/flightgear/fgdata/ci/next/tree/Aircraft/Instruments-3d/FG1000/Nasal/MFDPages/Checklist/
 +
 
 +
Looking at the code, anyone wanting to just use Stuart's code "as is" would be best off by instantiating a fresh MFDDisplay object and simply adding Stuart's ChecklistPage to that (otherwise empty) MFD - the MFD would then merely act as the boilerplate, but could trivially be shown inside a Canvas GUI dialog. That way, even aircraft without an MFD could use Stuart's checklist work to render a Canvas-based checklist.
 +
 
 +
To learn more about Richard's MFD framework (which is what Stuart's FG1000 is using under the hood), see: [[Canvas_MFD_Framework]] <ref>https://forum.flightgear.org/viewtopic.php?f=4&t=37992&p=373519&#p373519</ref>
  
 
|skills= [[Nasal]], [[Canvas]]
 
|skills= [[Nasal]], [[Canvas]]

Revision as of 13:33, 8 October 2020

This is an example Hackathon idea for the Virtual FSWeekend Hackathon 2020.


Title: POH Checklists

FG1000 Checklist MFD page.png
Sponsors: Stuart
Interested Parties: none
Status: n/a
Summary: n/a
Background: Stuart would like to improve how checklists are displayed within the simulator.

The PUI checklist dialog has a bug where selecting a new group doesn't update the checklist selection combo-box. Stuart has tried various tricks to update it, but thinks it's an underlying issue with PUI itself. [1]

Trying to do something more complicated with Nasal and PUI is a real pain, and Stuart doesn't think it's worth the effort. One thought he had a while back was it would be nice to replace the checklist function with some Canvas window that looked a bit more like a traditional paper checklist.[2]

Hopefully as we move to using Canvas in the future we'll be able to improve the checklist display to include a set of dots linking the items.[3]

Stuart would be very happy to help anyone who is interested in creating either a generic MFD checklist feature, or to replace the PUI version with a better canvas implementation. [4]So if someone is looking for a Hackathon idea - using QML or Canvas to render checklists so that they look more like a traditional checklist in a POH would be quite a neat little project. [5]

Note that checklists are primarily PropertyList/XML encoded, so can be easily turned into a Canvas dialog - it would be pretty straightforward to do so using what we have already, unless people care enough to provide dedicated/custom widgets for a certain look and feel. And in fact, given the groundwork by rleibner, Thorsten and jsb, there's now quite a bit of library code to draw widgets procedurally.

There probably isn't anything missing to provide a Canvas front-end for checklists, as per Stuart's original idea.

And in fact, t seems that Stuart has meanwhile actually created a Canvas-front-end as part of his FG1000 work - so for someone familiar with Nasal and Canvas, it should be pretty straightforward to extract that code, generalize it and turn it into a generic checklist widget.

So if there are folks who are interested in seeing a non PUI front-end (without depending on an optional dependency like Qt5/QML), their best bet would indeed be to look at the FG1000 repo and reuse Stuart's checklist implementation there.

the checklist handling stuff from the FG1000 is to be found here:

Looking at the code, anyone wanting to just use Stuart's code "as is" would be best off by instantiating a fresh MFDDisplay object and simply adding Stuart's ChecklistPage to that (otherwise empty) MFD - the MFD would then merely act as the boilerplate, but could trivially be shown inside a Canvas GUI dialog. That way, even aircraft without an MFD could use Stuart's checklist work to render a Canvas-based checklist.

To learn more about Richard's MFD framework (which is what Stuart's FG1000 is using under the hood), see: Canvas_MFD_Framework [6]

Details: n/a
Required skills: Nasal, Canvas
Learning Opportunities: * Aircraft checklists
Notes:
References