UI Unification: Difference between revisions

Jump to navigation Jump to search
Line 28: Line 28:
   |script_version = 0.40  
   |script_version = 0.40  
   }}</ref>  
   }}</ref>  
We can use the Canvas UI route to facilitate phasing out PUI/XML in favor of Phi/Qt5 - to do that, the first step is simplifying the XML dialog files to become entirely declarative, like both, Torsten and James have confirmed more than once - once they're are purely declarative, they can be parsed and/or converted/tranformed by arbitrary tools, and for arbitrary purposes - for that to happen, the first step is havinig a parser that parses PUI/XML, which supports all its features, so that they can be mapped to other constructs (think Phi, Qt5, "CUI") - this will entail removing Nasal blobs, and introducing new tags for custom widgets currently unsupported by PUI, but emulated via Nasal, conditions and existing elements (think tabs implemented via buttons hiding PUI groups via SGConditions).<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=288910#p288910
  |title  =  <nowiki> Re: Aircraft Center | pui2canvas parser (devel-list follow-u </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 16th, 2016
  |added  =  Jun 16th, 2016
  |script_version = 0.40
  }}</ref>


Specifically, this means that UI dialogs will no longer contain any logic in the form of Nasal scripts, but that they will need to be reviewed to identify generic functionality that can be added in the form of dedicated tags for layouting, widgets, fgcommands and remote properties which can be supported by all existing, and upcoming, UI front-ends, without having to know anything about FlightGear scripting in the form of Nasal.
Specifically, this means that UI dialogs will no longer contain any logic in the form of Nasal scripts, but that they will need to be reviewed to identify generic functionality that can be added in the form of dedicated tags for layouting, widgets, fgcommands and remote properties which can be supported by all existing, and upcoming, UI front-ends, without having to know anything about FlightGear scripting in the form of Nasal.

Navigation menu