2,733
edits
No edit summary |
Red Leader (talk | contribs) (Remove Integrated Qt5 Launcher, because that is a replacement for FGRun, not PUI. Plus other things) |
||
Line 1: | Line 1: | ||
[[File:Custom-autopilot-dialog.png|right|200px]] | [[File:Custom-autopilot-dialog.png|right|200px]] | ||
'''PUI''' is the standard GUI engine used in FlightGear, it is part of [[ | '''PUI''' is the standard GUI engine used in FlightGear, it is part of [[PLIB]] and is using raw, fixed-pipeline, [[OpenGL]] code internally (no [[OpenSceneGraph]]). PUI provides a fairly basic, but robust, set of widgets. PUI is also used for rendering the [[Menubar]]: | ||
[[File:menubar2.jpg|517px]] | [[File:menubar2.jpg|517px]] | ||
PUI dialogs are standard [[PropertyList XML File]]s that are stored in $FG_ROOT/gui/dialogs, they can contain the widgets mentioned in | PUI dialogs are standard [[PropertyList XML File]]s that are stored in $FG_ROOT/gui/dialogs, they can contain the widgets mentioned in {{readme file|gui}}, using a simple layout engine discussed in {{readme file|layout}}, and bindings using a combination of so called fgcommands and custom [[Nasal]] code. In addition, each PUI/XML dialog may contain Nasal sections that are executed when opening/closing the dialog. | ||
PUI/XML dialogs can be loaded, updated and closed using a handful of fgcommands: | PUI/XML dialogs can be loaded, updated and closed using a handful of fgcommands: | ||
Line 16: | Line 16: | ||
PUI is also known to affect rendering performance quite significantly, while also preventing FlightGear from using a more recent version of OpenGL. | PUI is also known to affect rendering performance quite significantly, while also preventing FlightGear from using a more recent version of OpenGL. | ||
In addition, OpenSceneGraph (OSG) can obviously not help optimize any PUI related GL code. | In addition, [[OpenSceneGraph]] (OSG) can obviously not help optimize any PUI related GL code. | ||
For these reasons, we're hoping to phase out PUI in FlightGear. | For these reasons, we're hoping to phase out PUI in FlightGear. | ||
As of late 2015, there is heavy activity towards providing alternatives to a PUI-based UI: | As of late 2015, there is heavy activity towards providing alternatives to a PUI-based UI: | ||
* [[Integrated Web GUI]] (external, browser-based - fully asynchronous) | * [[Integrated Web GUI]] (external, browser-based - fully asynchronous) | ||
* [[Howto:Processing legacy PUI dialogs using Canvas]] (internal, using the [[Canvas]] system and a simple [[Nasal]] parser to deal with existing PUI/XML dialogs) | * [[Howto:Processing legacy PUI dialogs using Canvas]] (internal, using the [[Canvas]] system and a simple [[Nasal]] parser to deal with existing PUI/XML dialogs) | ||
<gallery> | <gallery mode="packed"> | ||
Early-Phi-screen shot.PNG| | Early-Phi-screen shot.PNG|Screenshot showing [[Phi]] | ||
About-dialog-rendered-by-canvas.png|Screenshot showing a dialog rendered by the [[Howto:Processing legacy PUI dialogs using Canvas|pui2canvas parser]] | |||
About-dialog-rendered-by-canvas.png| | </gallery> | ||
<gallery> | |||
[[Category:Software]] |