20,741
edits
m (→GUI frontend) |
|||
Line 401: | Line 401: | ||
{text: 'Position root', default_value:'/position', focus:1, callback:nil, tooltip:'property path to position node', validate: 'AircraftRoot', convert:nil, unit: 'property path'}, | {text: 'Position root', default_value:'/position', focus:1, callback:nil, tooltip:'property path to position node', validate: 'AircraftRoot', convert:nil, unit: 'property path'}, | ||
{text: 'Airport', default_value:'KSFO', focus:0, callback:nil, tooltip:'ICAO ID, e.g. KSFO', validate: 'Airport', convert:nil, unit:'ICAO'}, | {text: 'Airport', default_value:'KSFO', focus:0, callback:nil, tooltip:'ICAO ID, e.g. KSFO', validate: 'Airport', convert:nil, unit:'ICAO'}, | ||
{text: 'Runway', default_value:'28R', focus:0, callback:nil, tooltip:'runway identifier, e.g. 28L', validate: 'Runway', convert:nil, unit:' | {text: 'Runway', default_value:'28R', focus:0, callback:nil, tooltip:'runway identifier, e.g. 28L', validate: 'Runway', convert:nil, unit:'rwy'}, | ||
{text: 'Final Approach', default_value:'10.00', focus:0, callback:nil, tooltip:'length of final approach leg', validate: 'FinalApproach', convert:nil, unit:'nm'}, | {text: 'Final Approach', default_value:'10.00', focus:0, callback:nil, tooltip:'length of final approach leg', validate: 'FinalApproach', convert:nil, unit:'nm'}, | ||
Line 410: | Line 410: | ||
{text: 'Touchdown Offset', default_value:'0.00', focus:0, callback:nil, tooltip:'touchdown offset', validate: 'TouchdownOffset', convert:nil, unit:'m'}, | {text: 'Touchdown Offset', default_value:'0.00', focus:0, callback:nil, tooltip:'touchdown offset', validate: 'TouchdownOffset', convert:nil, unit:'m'}, | ||
{text: 'Transmission interval', default_value:'5.00', focus:0, callback:nil, tooltip:'Controller/timer resolution', validate: 'TransmissionInterval', convert:nil, unit:'secs'}, | {text: 'Transmission interval', default_value:'5.00', focus:0, callback:nil, tooltip:'Controller/timer resolution', validate: 'TransmissionInterval', convert:nil, unit:'secs'}, | ||
{text: 'Transmission property', default_value:'/sim/messages/approach', focus:0, callback:nil, tooltip:'property to use for transmissions. For example: /sim/multiplay/chat', validate: 'TransmissionProperty', convert:nil, unit:'property'}, | {text: 'Transmission property', default_value:'/sim/messages/approach', focus:0, callback:nil, tooltip:'property to use for transmissions. For example: /sim/multiplay/chat or /sim/sound/voices/approach', validate: 'TransmissionProperty', convert:nil, unit:'property'}, | ||
]; # input fields | ]; # input fields | ||
Line 416: | Line 416: | ||
# TODO: pass input hash | # TODO: pass input hash | ||
var widget = setupLabeledInput(root, myLayout, input); | var widget = setupLabeledInput(root, myLayout, input); | ||
input.widget = widget; | |||
} | } | ||
var validateFields = func() { | var validateFields = func() { | ||
foreach(var f; inputs) { | foreach(var f; inputs) { | ||
var result = validationHelpers[f.validate] ( f.widget.text() ); | |||
var result = validationHelpers[f.validate] ( | |||
if (result == 1) { | if (result == 1) { | ||
Line 452: | Line 452: | ||
setupWidgetTooltip(widget:button, tooltip: "toggle GCA on/off"); | setupWidgetTooltip(widget:button, tooltip: "toggle GCA on/off"); | ||
myLayout.addItem(button);</syntaxhighlight> | myLayout.addItem(button); | ||
</syntaxhighlight> | |||
== Visualizing the Approach == | == Visualizing the Approach == |