diff --git a/gui/dialogs/airports.xml b/gui/dialogs/airports.xml
index 47749fc6d..9e68800fe 100644
--- a/gui/dialogs/airports.xml
+++ b/gui/dialogs/airports.xml
@@ -25,8 +25,8 @@
dialog-close
- property-toggle
- /sim/gui/dialogs/airports/signals/dialog-close
+ property-toggle
+ /sim/gui/dialogs/airports/signals/dialog-close
@@ -36,10 +36,13 @@
0) {
+ # Airport has one or more frequencies assigned to it.
+ var freqs = {};
+ var comms = info.comms();
+
+ foreach (var c; comms) {
+ var f = sprintf("%.3f", c.frequency);
+ if (freqs[c.ident] == nil) {
+ freqs[c.ident] = f;
+ } else {
+ freqs[c.ident] = freqs[c.ident] ~ " " ~ f;
+ }
+ }
+
+ foreach (var c; sort(keys(freqs), string.icmp)) {
+ setprop("sim/gui/dialogs/airports/selected-airport/comms/freq[" ~ fcount ~ "]/label", c);
+ setprop("sim/gui/dialogs/airports/selected-airport/comms/freq[" ~ fcount ~ "]/value", freqs[c]);
+ fcount += 1;
+ }
+ }
+
+ while (fcount < 8) {
+ # zero remaining comms channels
+ setprop("sim/gui/dialogs/airports/selected-airport/comms/freq[" ~ fcount ~ "]/label", "");
+ setprop("sim/gui/dialogs/airports/selected-airport/comms/freq[" ~ fcount ~ "]/value", "");
+ fcount += 1;
+ }
+
var longest_runway = 0;
var runway_string = "";
var runways = info.runways;
@@ -188,9 +223,9 @@
setprop("/sim/presets/runway", "");
setprop("/sim/presets/parkpos", getprop("/sim/gui/dialogs/airports/selected-airport/parkpos"));
}
- }
-
- canvas.register_callback(update_info); # FIXME: this is a workaround to run dialog-specific code in the canvas block
+ }
+
+ canvas.register_callback(update_info); # FIXME: this is a workaround to run dialog-specific code in the canvas block
]]>
@@ -357,233 +392,422 @@
-
+
+ hbox
+
+ table
+ top
+
+
+ hbox
+ fill
+ 0
+ 0
+ 2
+
+
+
+
+
+ 1
+
+
+
+ 1
+ 0
+ right
+
+
+
+ 1
+ 1
+ left
+ true
+
+
+ /sim/gui/dialogs/airports/selected-airport/name
+
+
+
+ 2
+ 0
+ right
+
+
+
+ 2
+ 1
+ left
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/id
+
+
+
+ 3
+ 0
+ right
+
+
+
+ 3
+ 1
+ left
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/location
+
+
+
+ 4
+ 0
+ right
+
+
+
+ 4
+ 1
+ left
+ true
+ %.0f ft
+ /sim/gui/dialogs/airports/selected-airport/elevation-ft
+
+
+
+ 5
+ 0
+ right
+
+
+
+ 5
+ 1
+ left
+ true
+ %.0f ft
+ /sim/gui/dialogs/airports/selected-airport/longest-runway
+
+
+
+ 6
+ 0
+ right
+
+
+
+ 6
+ 1
+ left
+ true
+ %.1f nm
+ /sim/gui/dialogs/airports/selected-airport/distance-nm
+
+
+
+ 7
+ 0
+ right
+
+
+
+ 7
+ 1
+ left
+ true
+ %.0f deg
+ /sim/gui/dialogs/airports/selected-airport/course-deg
+
+
+
+
+
+
+ vbox
+ top
+
+
+ hbox
+ fill
+ 0
+ 0
+ 2
+
+
+
+
+
+ 1
+
+
+
+ table
+ center
+
+
+ 2
0
+ /sim/gui/dialogs/airports/use_best_runway
+ true
+
+ nasal
+
+
+
+
+
+ 2
1
+ right
+
+
+ /sim/gui/dialogs/airports/use_best_runway
+
+
+
+ 2
2
+ right
+
+
+ /sim/gui/dialogs/airports/use_best_runway
+
+
+
+
+ 3
0
+ /sim/gui/dialogs/airports/use_runway
+ true
+
+ nasal
+
+
+
+
+
+ 3
1
+ right
+
+
+ /sim/gui/dialogs/airports/use_runway
+
+
+
+
+ runway-list
+ 3
2
+ 85
+
+ /sim/gui/dialogs/airports/use_runway
+
+ /sim/gui/dialogs/airports/selected-airport/rwy
+ false
+ sim/gui/dialogs/airports/available-runways
+
+ dialog-apply
+ runway-list
+
+
+
+
+ 4
0
+ /sim/gui/dialogs/airports/use_parkpos
+ true
+
+ nasal
+
+
+
+
+
+ 4
1
+ right
+
+
+ /sim/gui/dialogs/airports/use_parkpos
+
+
+
+
+ parking-list
+ 4
2
+ 85
+
+ /sim/gui/dialogs/airports/use_parkpos
+
+ /sim/gui/dialogs/airports/selected-airport/parkpos
+ false
+ sim/gui/dialogs/airports/available-parking
+
+ dialog-apply
+ parking-list
+
+
+
+
+
+
table
+ fill
-
+
+ hbox
+ fill
0
0
- 100
- right
-
-
-
- 0
- 1
- 3
- left
- true
- /sim/gui/dialogs/airports/selected-airport/name
-
+ 2
+
+
+
+
+
+ 1
+
1
0
- right
-
-
-
- 1
- 1
left
true
- /sim/gui/dialogs/airports/selected-airport/location
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[0]/label
1
- 2
- right
-
+ 1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[0]/value
+
- 1
- 3
+ 2
+ 0
left
true
- %.0f ft
- /sim/gui/dialogs/airports/selected-airport/elevation-ft
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[1]/label
-
- 2
- 0
- right
-
-
2
1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[1]/value
+
+
+
+ 3
+ 0
left
true
- %.0f ft
- /sim/gui/dialogs/airports/selected-airport/longest-runway
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[2]/label
-
- 3
- 0
- right
-
-
3
1
- left
+ right
true
- %.1f nm
- /sim/gui/dialogs/airports/selected-airport/distance-nm
-
-
-
- 3
- 2
- right
-
-
-
- 3
- 3
- left
- true
- %.0f deg
- /sim/gui/dialogs/airports/selected-airport/course-deg
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[2]/value
4
0
- 3
left
true
-
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[3]/label
-
- metar
+
+ 4
+ 1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[3]/value
+
+
+
5
0
- 4
- fill
- true
- 300
- 60
- 0
- false
- true
+ left
true
- /sim/gui/dialogs/airports/selected-airport/metar/data
-
-
-
-
-
-
-
- table
- center
-
-
- 2
0
- /sim/gui/dialogs/airports/use_best_runway
- true
-
- nasal
-
-
-
-
-
- 2
1
- right
-
-
- /sim/gui/dialogs/airports/use_best_runway
-
-
-
- 2
2
- right
-
-
- /sim/gui/dialogs/airports/use_best_runway
-
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[4]/label
-
- 3
0
- /sim/gui/dialogs/airports/use_runway
- true
-
- nasal
-
-
-
-
- 3
1
- right
-
-
- /sim/gui/dialogs/airports/use_runway
-
-
-
-
- runway-list
- 3
2
- 85
-
- /sim/gui/dialogs/airports/use_runway
-
- /sim/gui/dialogs/airports/selected-airport/rwy
- false
- sim/gui/dialogs/airports/available-runways
-
- dialog-apply
- runway-list
-
-
-
-
- 4
0
- /sim/gui/dialogs/airports/use_parkpos
+ 5
+ 1
+ right
true
-
- nasal
-
-
-
-
-
- 4
1
- right
-
-
- /sim/gui/dialogs/airports/use_parkpos
-
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[4]/value
-
- parking-list
- 4
2
- 85
-
- /sim/gui/dialogs/airports/use_parkpos
-
- /sim/gui/dialogs/airports/selected-airport/parkpos
- false
- sim/gui/dialogs/airports/available-parking
-
- dialog-apply
- parking-list
-
-
-
+
+ 6
+ 0
+ left
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[5]/label
+
-
+
+ 6
+ 1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[5]/value
+
+
+
+ 7
+ 0
+ left
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[6]/label
+
+
+
+ 7
+ 1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[6]/value
+
+
+
+ 8
+ 0
+ left
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[7]/label
+
+
+
+ 8
+ 1
+ right
+ true
+
+ /sim/gui/dialogs/airports/selected-airport/comms/freq[7]/value
+
+
+
+
@@ -599,9 +823,9 @@
fill
true
600
- 400
+ 600
600
- 400
+ 600
@@ -656,7 +880,6 @@
Show Tower
enabled
-
hbox
+
+
+ hbox
+ fill
+ 0
+ 0
+ 2
+
+
+
+
+
+ 1
+
+
+
+ metar
+ fill
+ true
+ 300
+ 60
+ 0
+ false
+ true
+ true
+ /sim/gui/dialogs/airports/selected-airport/metar/data
+
+
+