20,741
edits
No edit summary |
No edit summary |
||
Line 45: | Line 45: | ||
avoid future problems of this kind.</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30166.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | avoid future problems of this kind.</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30166.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | ||
{{cquote|<nowiki>IMO the menu reordering represents a significant usability improvement and is | |||
something we want to encourage. Furthermore backing it out will also require | |||
changes to the manual, so isn't quite as straightforward as it might seem at | |||
first. | |||
I think the number of affected theses aircraft is sufficiently small that they | |||
can be updated to fix this. Aircraft maintainers have always had to keep up | |||
with changes in the core code (e.g. The ambient material change) and this is no | |||
different except that it has only been noticed fairly late in the release | |||
cycle. | |||
Aircraft outside of the shears repository are not restricted to our release | |||
cycle and can be updated after the release as and when their maintainers notice | |||
this issue. I suspect that a number are waiting for the release to test their | |||
aircraft anyway. | |||
Adding symbolic names along with some helper functions for disabling them in | |||
Nasal/gui.nas is pretty easy. I'm happy to take on writing the code etc. | |||
Probably not today though!</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30178.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | |||
{{cquote|<nowiki>It turns out that Nasal/gui.nas already had a menuEnable function for | |||
enabling or disabling entire menus or individual menu items using | |||
unique names rather than the labels. Names already exist for the | |||
autopilot menu and the Fuel & Payload dialog. So, the fix is for the | |||
aircraft to make use of this e.g. | |||
gui.menuEnable("fuel-and-payload", false); | |||
We can add new names for any other menus that we might want to disable | |||
on a per-aircraft basis, but from a quick skim through the menus I | |||
couldn't see any other candidates.</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30188.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | |||
{{cquote|<nowiki>Going through the aircraft highlighted a number of functions that | |||
aren't covered by the existing enable/disable function in gui.nas | |||
1) Replacing the autopilot dialog with another. | |||
2) Adding pushback. Most aircraft add this to the Equipment menu | |||
I'll need to think about how to handle these cases.</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30194.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | |||
{{cquote|<nowiki>The following aircraft override the radio dialog, which has moved since v2.0.0. | |||
777-200ER | |||
b1900d | |||
Citation-Bravo | |||
I've just pushed an enhancement to gui.nas that allows the aircraft developer to | |||
change the binding for a symbolically named dialog, in the same way | |||
that they can | |||
enable/disable dialogs and menus using the existing gui.menuEnable() function. | |||
So, you can now put the following code in your aircraft-specific Nasal files: | |||
gui.menuBind("radio", "dialogs.Radio.open()"); | |||
This replaces the binding for the "radio" menu item with a command to open the | |||
dialogs.Radio dialog box (that you've defined elsewhere). | |||
Note that this searches the menu for the symbolic names (name tag) defined in | |||
menubar.xml, (e.g. radio, autopilot-settings, gps, map) rather than | |||
the label tag, | |||
which may change over time, so should be a robust long-term solution. | |||
</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30208.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}} | |||
<references/> | <references/> |