Hackathon Proposal:POH Checklists: Difference between revisions
No edit summary |
m (split up layout) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
|image = FG1000 Checklist MFD page.png | |image = FG1000 Checklist MFD page.png | ||
|imginfo = The [[FG1000]] already contains a [[Canvas]] based checklist implementation that could be extracted/generalized and turned into a standalone dialog/widget. | |imginfo = The [[FG1000]] already contains a [[Canvas]] based checklist implementation that could be extracted/generalized and turned into a standalone dialog/widget. | ||
|sponsor=Stuart | |sponsor={{Usr|Stuart}} | ||
|supporters= | |supporters=Patrick Trottier <ref>https://sourceforge.net/p/flightgear/mailman/message/37126419/</ref> | ||
| | |summary = Stuart would like to improve how [[Aircraft Checklists]] are displayed within the simulator. | ||
|background= The [[PUI]] (our legacy GUI engine) 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]] (scripting) 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 (scripting 2D GUI rendering framework) 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> | ||
|details=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. | |||
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. | 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. | There probably isn't anything missing to provide a Canvas front-end for checklists, as per Stuart's original idea. | ||
And in fact, | And in fact, it seems that Stuart has meanwhile actually created a Canvas-front-end as part of his [[FG1000]] (MFD) 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. | 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. | ||
Line 37: | Line 35: | ||
|skills= [[Property tree]], [[PropertyList XML File]], [[Nasal]], [[Canvas]] | |skills= [[Property tree]], [[PropertyList XML File]], [[Nasal]], [[Canvas]] | ||
|opportunities=</p> | |opportunities=</p> | ||
* [[Aircraft checklists]] | * [[Aircraft checklists]] - details the existing implementation | ||
* [[Canvas Snippets]] | * [[Canvas Snippets]] - contains snippets of useful Nasal/Canvas snippets get going quickly | ||
* [[Canvas Image]] | * [[Canvas Image]] - Canvas library to load/handle raster images | ||
* [[Howto:Creating a Canvas GUI Widget]] | * [[Canvas draw library]] - library to for procedural drawing using OpenVG paths | ||
* [[FG1000]] | * [[Howto:Creating a Canvas GUI Widget]] - introduction to creating Canvas widgets from scratch | ||
* [[Canvas MFD Framework]] | * [[FG1000]] - moving map MFD containing the existing Canvas based checklist implementation | ||
* [[Emesary]] | * [[Canvas MFD Framework]] - the underlying framework used by the FG1000 | ||
* [[Emesary]] - the messaging framework used to hook up the FG1000 front-end and back-end (not necessarily needed here) | |||
}} | }} |
Revision as of 21:41, 10 October 2020
Title: | POH Checklists
|
Potential mentors: | Stuart |
Intro: | (short intro) |
Interested Parties: | Patrick Trottier [1] |
Status: | n/a |
Summary: | Stuart would like to improve how Aircraft Checklists are displayed within the simulator. |
Background: | The PUI (our legacy GUI engine) 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. [2]
Trying to do something more complicated with Nasal (scripting) 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 (scripting 2D GUI rendering framework) that looked a bit more like a traditional paper checklist.[3] 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.[4] 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. [5]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. [6] |
Details: | 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, it seems that Stuart has meanwhile actually created a Canvas-front-end as part of his FG1000 (MFD) 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 [7] |
Ideas: | |
Required skills: | Property tree, PropertyList XML File, Nasal, Canvas |
Learning Opportunities: |
|
Notes: |