20,741
edits
| Line 1,419: | Line 1,419: | ||
|date = Aug 14th, 2016 | |date = Aug 14th, 2016 | ||
|added = Aug 14th, 2016 | |added = Aug 14th, 2016 | ||
|script_version = 0.40 | |||
}}</ref> | |||
The safest way for frontends like fgrun/fgX and friends would be to process a file from $FG_ROOT that details possible startup options (options.xml) and simply provides a UI on top of these, so that there would be no tight coupling at all: [http://sourceforge.net/p/fgrun/feature-requests/22/ http://sourceforge.net/p/fgrun/feature-requests/22/] | |||
options.xml and $FG_ROOT/Translations would need to be extended a little - but otherwise that could even be useful for the Phi/Qt5 efforts, i.e. a front-end agnostic mechanism for describing startup, and run-time, options that supports localiations, and that has otherwise no tight integration with the underlying binaries (i.e. no hard-coded assumptions). | |||
Short of doing something along these lines, it is extremely likely that with the increasing plethora of FG front-ends, the functionality/features and use-cases supported by each will be more and more diverging over time. | |||
Basically, options.xml would need to be extended to classify startup/run-time options, and to encode compatibility/exclusivity of options (think YaSim vs. JSBSim, AW vs. BW, ALS vs. Rembrandt) so that the UI front-end (Phi, Qt, Canvas, fgX, fgrun etc) would simply process an XML file and procedurally create a UI based on a PropertyList-encoded list of supported features/options and heuristics/rules. | |||
The underlying control logic would ideally not use any custom Nasal blocks at all, but merely resort to property rules and XML state machine rules. That way, the UI would no longer matter.<ref>{{cite web | |||
|url = https://forum.flightgear.org/viewtopic.php?p=260383#p260383 | |||
|title = <nowiki> Re: New Canvas GUI </nowiki> | |||
|author = <nowiki> Hooray </nowiki> | |||
|date = Oct 12th, 2015 | |||
|added = Oct 12th, 2015 | |||
|script_version = 0.40 | |script_version = 0.40 | ||
}}</ref> | }}</ref> | ||