10 var dlgRoot = cmdarg();
12 var tankers = props.globals.getNode("/sim/ai/tankers/", 1).getChildren("tanker");
13 var types = props.globals.getNode("/systems/refuel/", 1).getChildren("type");
14 var tanker_node = props.globals.getNode("/sim/gui/dialogs/tanker/tanker", 1);
16 # Force default speed of 250kts
17 setprop("/sim/gui/dialogs/tanker/tanker/speed-kts", 250.0);
19 if (size(types) == 0) {
20 # This really shouldn't happen, as Nasal/tanker.nas disables this menu item
21 # if no refueling type is available.
22 gui.popupTip("Air to air refueling unavailable in this aircraft", 5);
23 fgcommand("dialog-close", props.Node.new({ "dialog-name" : "tanker"}));
27 if (size(tankers) > 0) {
28 var combo = gui.findElementByName(dlgRoot, "tanker-combo");
30 foreach (var t; tankers) {
31 foreach(var type; types) {
32 if (type.getValue() == t.getNode("type", 1).getValue()) {
33 combo.getChild("value", idx, 1).setValue(t.getNode("name", 1).getValue());
40 var select_tanker = func() {
41 var name = getprop("/sim/gui/dialogs/tanker/selected-tanker");
43 foreach (var t; tankers) {
44 if (name == t.getNode("name", 1).getValue()) {
45 props.copy(t, tanker_node);
50 var generate_tanker = func() {
51 if (tanker_node.getNode("name", 1).getValue()) {
52 tanker.request_new(tanker_node);
61 <empty><stretch>1</stretch></empty>
64 <label>Air-to-Air Refueling Tanker</label>
67 <empty><stretch>1</stretch></empty>
70 <pref-width>16</pref-width>
71 <pref-height>16</pref-height>
77 <command>dialog-close</command>
85 <layout>table</layout>
90 <halign>right</halign>
91 <label>Tanker:</label>
95 <name>tanker-combo</name>
100 <property>/sim/gui/dialogs/tanker/selected-tanker</property>
101 <editable>false</editable>
102 <pref-width>200</pref-width>
103 <halign>fill</halign>
105 <command>dialog-apply</command>
106 <object-name>tanker-combo</object-name>
109 <command>nasal</command>
110 <script>select_tanker();</script>
117 <halign>right</halign>
126 <property>/sim/gui/dialogs/tanker/tanker/type</property>
131 <halign>left</halign>
132 <label>Drogue and Probe</label>
140 <property>/sim/gui/dialogs/tanker/tanker/type</property>
145 <halign>left</halign>
152 <halign>right</halign>
153 <label>Speed:</label>
157 <name>tanker-speed</name>
160 <halign>fill</halign>
164 <property>/sim/gui/dialogs/tanker/tanker/speed-kts</property>
166 <command>dialog-apply</command>
167 <object-name>tanker-speed</object-name>
174 <halign>left</halign>
175 <format>%2.0fkts</format>
177 <property>/sim/gui/dialogs/tanker/tanker/speed-kts</property>
184 <halign>right</halign>
185 <label>Contact radius:</label>
189 <name>contact-radius</name>
192 <halign>fill</halign>
195 <property>/systems/refuel/contact-radius-m</property>
197 <command>dialog-apply</command>
198 <object-name>contact-radius</object-name>
205 <halign>left</halign>
206 <format>%2.0fm</format>
207 <property>/systems/refuel/contact-radius-m</property>
214 <halign>right</halign>
215 <label>Report refueling:</label>
219 <name>report-contact</name>
222 <halign>left</halign>
223 <property>/systems/refuel/report-contact</property>
225 <command>dialog-apply</command>
226 <object-name>report-contact</object-name>
235 <layout>hbox</layout>
236 <default-padding>5</default-padding>
238 <empty><stretch>true</stretch></empty>
241 <legend>Request</legend>
244 <command>nasal</command>
245 <script>generate_tanker();</script>
249 <empty><stretch>true</stretch></empty>
252 <legend>Get Position</legend>
255 <command>nasal</command>
256 <script>tanker.report()</script>
260 <empty><stretch>true</stretch></empty>
263 <legend>Close</legend>
267 <command>dialog-close</command>
271 <empty><stretch>true</stretch></empty>