<?xml version="1.0"?> <PropertyList> <name>tanker</name> <x>-10</x> <layout>vbox</layout> <nasal> <open> var dlgRoot = cmdarg(); var tankers = props.globals.getNode("/sim/ai/tankers/", 1).getChildren("tanker"); var types = props.globals.getNode("/systems/refuel/", 1).getChildren("type"); var tanker_node = props.globals.getNode("/sim/gui/dialogs/tanker/tanker", 1); # Force default speed of 250kts setprop("/sim/gui/dialogs/tanker/tanker/speed-kts", 250.0); if (size(types) == 0) { # This really shouldn't happen, as Nasal/tanker.nas disables this menu item # if no refueling type is available. gui.popupTip("Air to air refueling unavailable in this aircraft", 5); fgcommand("dialog-close", props.Node.new({ "dialog-name" : "tanker"})); } if (size(tankers) > 0) { var combo = gui.findElementByName(dlgRoot, "tanker-combo"); var idx = 0; foreach (var t; tankers) { foreach(var type; types) { if (type.getValue() == t.getNode("type", 1).getValue()) { combo.getChild("value", idx, 1).setValue(t.getNode("name", 1).getValue()); idx += 1; } } } } var select_tanker = func() { var name = getprop("/sim/gui/dialogs/tanker/selected-tanker"); foreach (var t; tankers) { if (name == t.getNode("name", 1).getValue()) { props.copy(t, tanker_node); } } } var generate_tanker = func() { if (tanker_node.getNode("name", 1).getValue()) { tanker.request_new(tanker_node); } } </open> </nasal> <group> <layout>hbox</layout> <empty><stretch>1</stretch></empty> <text> <label>Air-to-Air Refueling Tanker</label> </text> <empty><stretch>1</stretch></empty> <button> <pref-width>16</pref-width> <pref-height>16</pref-height> <legend></legend> <keynum>27</keynum> <border>2</border> <binding> <command>dialog-close</command> </binding> </button> </group> <hrule/> <group> <layout>table</layout> <text> <row>0</row> <col>0</col> <halign>right</halign> <label>Tanker:</label> </text> <combo> <name>tanker-combo</name> <row>0</row> <col>1</col> <colspan>2</colspan> <halign>left</halign> <property>/sim/gui/dialogs/tanker/selected-tanker</property> <editable>false</editable> <pref-width>200</pref-width> <halign>fill</halign> <binding> <command>dialog-apply</command> <object-name>tanker-combo</object-name> </binding> <binding> <command>nasal</command> <script>select_tanker();</script> </binding> </combo> <text> <row>1</row> <col>0</col> <halign>right</halign> <label>Type:</label> </text> <text> <row>1</row> <col>1</col> <visible> <equals> <property>/sim/gui/dialogs/tanker/tanker/type</property> <value>probe</value> </equals> </visible> <colspan>3</colspan> <halign>left</halign> <label>Drogue and Probe</label> </text> <text> <row>1</row> <col>1</col> <visible> <equals> <property>/sim/gui/dialogs/tanker/tanker/type</property> <value>boom</value> </equals> </visible> <colspan>3</colspan> <halign>left</halign> <label>Boom</label> </text> <text> <row>2</row> <col>0</col> <halign>right</halign> <label>Speed:</label> </text> <slider> <name>tanker-speed</name> <row>2</row> <col>1</col> <halign>fill</halign> <min>100</min> <max>350</max> <live>true</live> <property>/sim/gui/dialogs/tanker/tanker/speed-kts</property> <binding> <command>dialog-apply</command> <object-name>tanker-speed</object-name> </binding> </slider> <text> <row>2</row> <col>2</col> <halign>left</halign> <format>%2.0fkts</format> <label>250</label> <property>/sim/gui/dialogs/tanker/tanker/speed-kts</property> <live>true</live> </text> <text> <row>3</row> <col>0</col> <halign>right</halign> <label>Contact radius:</label> </text> <slider> <name>contact-radius</name> <row>3</row> <col>1</col> <halign>fill</halign> <min>1</min> <max>100</max> <property>/systems/refuel/contact-radius-m</property> <binding> <command>dialog-apply</command> <object-name>contact-radius</object-name> </binding> </slider> <text> <row>3</row> <col>2</col> <halign>left</halign> <format>%2.0fm</format> <property>/systems/refuel/contact-radius-m</property> <live>true</live> </text> <text> <row>4</row> <col>0</col> <halign>right</halign> <label>Report refueling:</label> </text> <checkbox> <name>report-contact</name> <row>4</row> <col>1</col> <halign>left</halign> <property>/systems/refuel/report-contact</property> <binding> <command>dialog-apply</command> <object-name>report-contact</object-name> </binding> </checkbox> </group> <hrule/> <group> <layout>hbox</layout> <default-padding>5</default-padding> <empty><stretch>true</stretch></empty> <button> <legend>Request</legend> <equal>true</equal> <binding> <command>nasal</command> <script>generate_tanker();</script> </binding> </button> <empty><stretch>true</stretch></empty> <button> <legend>Get Position</legend> <equal>true</equal> <binding> <command>nasal</command> <script>tanker.report()</script> </binding> </button> <empty><stretch>true</stretch></empty> <button> <legend>Close</legend> <equal>true</equal> <key>Esc</key> <binding> <command>dialog-close</command> </binding> </button> <empty><stretch>true</stretch></empty> </group> </PropertyList>