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 + + + 20 + /sim/gui/dialogs/airports/use_best_runway + true + + nasal + + + + + + 21 + right + + + /sim/gui/dialogs/airports/use_best_runway + + + + 22 + right + + + /sim/gui/dialogs/airports/use_best_runway + + + + + 30 + /sim/gui/dialogs/airports/use_runway + true + + nasal + + + + + + 31 + right + + + /sim/gui/dialogs/airports/use_runway + + + + + runway-list + 32 + 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 + + + + + 40 + /sim/gui/dialogs/airports/use_parkpos + true + + nasal + + + + + + 41 + right + + + /sim/gui/dialogs/airports/use_parkpos + + + + + parking-list + 42 + 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 - - - 20 - /sim/gui/dialogs/airports/use_best_runway - true - - nasal - - - - - - 21 - right - - - /sim/gui/dialogs/airports/use_best_runway - - - - 22 - right - - - /sim/gui/dialogs/airports/use_best_runway - + + /sim/gui/dialogs/airports/selected-airport/comms/freq[4]/label - - 30 - /sim/gui/dialogs/airports/use_runway - true - - nasal - - - - - 31 - right - - - /sim/gui/dialogs/airports/use_runway - - - - - runway-list - 32 - 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 - - - - - 40 - /sim/gui/dialogs/airports/use_parkpos + 5 + 1 + right true - - nasal - - - - - - 41 - right - - - /sim/gui/dialogs/airports/use_parkpos - + + /sim/gui/dialogs/airports/selected-airport/comms/freq[4]/value - - parking-list - 42 - 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 + + +