1
0
Fork 0
fgdata/gui/dialogs/radios.xml

816 lines
20 KiB
XML

<?xml version="1.0"?>
<PropertyList>
<name>radios</name>
<!--
<width>550</width>
-->
<modal>false</modal>
<nasal>
<open>
<![CDATA[
var modes = ['OFF', 'STANDBY', 'TEST', 'GROUND', 'ON', 'ALTITUDE'];
var v = getprop('/instrumentation/transponder/inputs/knob-mode') or 0;
setprop("/sim/gui/dialogs/radios/transponder-mode", modes[v]);
var poweroften = [1, 10, 100, 1000];
var idcode = getprop('/instrumentation/transponder/id-code');
if (idcode != nil)
{
for (var i = 0; i < 4 ; i = i+1)
{
setprop("/instrumentation/transponder/inputs/digit[" ~ i ~ "]", sprintf("%1d", math.mod(idcode/poweroften[i], 10)) );
}
}
var updateTransponderCode = func {
var goodcode = 1;
var code = 0;
for (var i = 3; i >= 0 ; i -= 1)
{
goodcode = goodcode and (num(getprop("/instrumentation/transponder/inputs/digit[" ~ i ~ "]")) != nil) ;
code = code * 10 + (num(getprop("/instrumentation/transponder/inputs/digit[" ~ i ~ "]")) or 0);
}
setprop('/instrumentation/transponder/goodcode', goodcode);
setprop('/instrumentation/transponder/id-code', code);
}
]]>
</open>
</nasal>
<layout>vbox</layout>
<group>
<layout>hbox</layout>
<empty>
<stretch>1</stretch>
</empty>
<text>
<label>Radio Frequencies</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>
<!-- headers -->
<text>
<row>0</row>
<col>1</col>
<label>Selected</label>
</text>
<text>
<row>0</row>
<col>4</col>
<label>Standby</label>
</text>
<text>
<row>0</row>
<col>6</col>
<label>Radial</label>
</text>
<!-- Dummy label to stretch table, as layout manager doesn't handle labels well -->
<text>
<row>0</row>
<col>7</col>
<label></label>
</text>
<text>
<row>1</row>
<col>0</col>
<halign>right</halign>
<label>COM1</label>
</text>
<input>
<name>com1-selected</name>
<row>1</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/comm[0]/frequencies/selected-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>com1-selected</object-name>
</binding>
</input>
<button>
<row>1</row>
<col>3</col>
<width>35</width>
<height>26</height>
<border>1</border>
<legend>&lt;-&gt;</legend>
<binding>
<command>dialog-apply</command>
<object-name>com1-selected</object-name>
</binding>
<binding>
<command>dialog-apply</command>
<object-name>com1-standby</object-name>
</binding>
<binding>
<command>property-swap</command>
<property>/instrumentation/comm[0]/frequencies/selected-mhz</property>
<property>/instrumentation/comm[0]/frequencies/standby-mhz</property>
</binding>
<binding>
<command>dialog-update</command>
<object-name>com1-selected</object-name>
</binding>
<binding>
<command>dialog-update</command>
<object-name>com1-standby</object-name>
</binding>
</button>
<input>
<name>com1-standby</name>
<row>1</row>
<col>4</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/comm[0]/frequencies/standby-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>com1-standby</object-name>
</binding>
</input>
<text>
<row>2</row>
<col>0</col>
<halign>right</halign>
<label>COM2</label>
</text>
<input>
<name>com2-selected</name>
<row>2</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/comm[1]/frequencies/selected-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>com2-selected</object-name>
</binding>
</input>
<button>
<row>2</row>
<col>3</col>
<width>35</width>
<height>26</height>
<border>1</border>
<legend>&lt;-&gt;</legend>
<binding>
<command>dialog-apply</command>
<object-name>com2-selected</object-name>
</binding>
<binding>
<command>dialog-apply</command>
<object-name>com2-standby</object-name>
</binding>
<binding>
<command>property-swap</command>
<property>/instrumentation/comm[1]/frequencies/selected-mhz</property>
<property>/instrumentation/comm[1]/frequencies/standby-mhz</property>
</binding>
<binding>
<command>dialog-update</command>
<object-name>com2-selected</object-name>
</binding>
<binding>
<command>dialog-update</command>
<object-name>com2-standby</object-name>
</binding>
</button>
<input>
<name>com2-standby</name>
<row>2</row>
<col>4</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/comm[1]/frequencies/standby-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>com2-standby</object-name>
</binding>
</input>
<text>
<row>3</row>
<col>0</col>
<halign>right</halign>
<label>NAV1</label>
</text>
<input>
<name>nav1-selected</name>
<row>3</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/nav[0]/frequencies/selected-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>nav1-selected</object-name>
</binding>
</input>
<button>
<row>3</row>
<col>3</col>
<width>35</width>
<height>26</height>
<border>1</border>
<legend>&lt;-&gt;</legend>
<binding>
<command>dialog-apply</command>
<object-name>nav1-selected</object-name>
</binding>
<binding>
<command>dialog-apply</command>
<object-name>nav1-standby</object-name>
</binding>
<binding>
<command>property-swap</command>
<property>/instrumentation/nav[0]/frequencies/selected-mhz</property>
<property>/instrumentation/nav[0]/frequencies/standby-mhz</property>
</binding>
<binding>
<command>dialog-update</command>
<object-name>nav1-selected</object-name>
</binding>
<binding>
<command>dialog-update</command>
<object-name>nav1-standby</object-name>
</binding>
</button>
<input>
<name>nav1-standby</name>
<row>3</row>
<col>4</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/nav[0]/frequencies/standby-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>nav1-standby</object-name>
</binding>
</input>
<input>
<name>nav1-radial</name>
<row>3</row>
<col>6</col>
<width>75</width>
<height>25</height>
<label>deg</label>
<live>true</live>
<property>/instrumentation/nav[0]/radials/selected-deg</property>
<binding>
<command>dialog-apply</command>
<object-name>nav1-radial</object-name>
</binding>
</input>
<text>
<row>4</row>
<col>0</col>
<halign>right</halign>
<label>NAV2</label>
</text>
<input>
<name>nav2-selected</name>
<row>4</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/nav[1]/frequencies/selected-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>nav2-selected</object-name>
</binding>
</input>
<button>
<row>4</row>
<col>3</col>
<width>35</width>
<height>26</height>
<border>1</border>
<legend>&lt;-&gt;</legend>
<binding>
<command>dialog-apply</command>
<object-name>nav2-selected</object-name>
</binding>
<binding>
<command>dialog-apply</command>
<object-name>nav2-standby</object-name>
</binding>
<binding>
<command>property-swap</command>
<property>/instrumentation/nav[1]/frequencies/selected-mhz</property>
<property>/instrumentation/nav[1]/frequencies/standby-mhz</property>
</binding>
<binding>
<command>dialog-update</command>
<object-name>nav2-selected</object-name>
</binding>
<binding>
<command>dialog-update</command>
<object-name>nav2-standby</object-name>
</binding>
</button>
<input>
<name>nav2-standby</name>
<row>4</row>
<col>4</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/nav[1]/frequencies/standby-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>nav2-standby</object-name>
</binding>
</input>
<input>
<name>nav2-radial</name>
<row>4</row>
<col>6</col>
<width>75</width>
<height>25</height>
<label>deg</label>
<live>true</live>
<property>/instrumentation/nav[1]/radials/selected-deg</property>
<binding>
<command>dialog-apply</command>
<object-name>nav2-radial</object-name>
</binding>
</input>
<text>
<row>5</row>
<col>0</col>
<halign>right</halign>
<label>ADF</label>
</text>
<input>
<name>adf-selected</name>
<row>5</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>kHz</label>
<live>true</live>
<property>/instrumentation/adf/frequencies/selected-khz</property>
<binding>
<command>dialog-apply</command>
<object-name>adf-selected</object-name>
</binding>
</input>
<button>
<row>5</row>
<col>3</col>
<width>35</width>
<height>26</height>
<border>1</border>
<legend>&lt;-&gt;</legend>
<binding>
<command>dialog-apply</command>
<object-name>adf-selected</object-name>
</binding>
<binding>
<command>dialog-apply</command>
<object-name>adf-standby</object-name>
</binding>
<binding>
<command>property-swap</command>
<property>/instrumentation/adf/frequencies/selected-khz</property>
<property>/instrumentation/adf/frequencies/standby-khz</property>
</binding>
<binding>
<command>dialog-update</command>
<object-name>adf-selected</object-name>
</binding>
<binding>
<command>dialog-update</command>
<object-name>adf-standby</object-name>
</binding>
</button>
<input>
<name>adf-standby</name>
<row>5</row>
<col>4</col>
<width>75</width>
<height>25</height>
<label>kHz</label>
<live>true</live>
<property>/instrumentation/adf/frequencies/standby-khz</property>
<binding>
<command>dialog-apply</command>
<object-name>adf-standby</object-name>
</binding>
</input>
<input>
<name>adf-radial</name>
<row>5</row>
<col>6</col>
<width>75</width>
<height>25</height>
<label>deg</label>
<live>true</live>
<property>/instrumentation/adf/rotation-deg</property>
<binding>
<command>dialog-apply</command>
<object-name>adf-radial</object-name>
</binding>
</input>
<text>
<row>6</row>
<col>0</col>
<halign>right</halign>
<label>DME</label>
</text>
<input>
<name>dme-selected</name>
<row>6</row>
<col>1</col>
<width>75</width>
<height>25</height>
<label>MHz</label>
<live>true</live>
<property>/instrumentation/dme/frequencies/selected-mhz</property>
<binding>
<command>dialog-apply</command>
<object-name>dme-selected</object-name>
</binding>
</input>
</group>
<!-- TACAN related things -->
<hrule/>
<group>
<layout>hbox</layout>
<text>
<label> TACAN </label>
</text>
<combo>
<name>tacan-1</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/tacan/frequencies/selected-channel[1]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<binding>
<command>dialog-apply</command>
<object-name>tacan-1</object-name>
</binding>
</combo>
<!---->
<combo>
<name>tacan-2</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/tacan/frequencies/selected-channel[2]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<binding>
<command>dialog-apply</command>
<object-name>tacan-2</object-name>
</binding>
</combo>
<combo>
<name>tacan-3</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/tacan/frequencies/selected-channel[3]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<binding>
<command>dialog-apply</command>
<object-name>tacan-3</object-name>
</binding>
</combo>
<combo>
<name>tacan-4</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/tacan/frequencies/selected-channel[4]</property>
<value>X</value>
<value>Y</value>
<binding>
<command>dialog-apply</command>
<object-name>tacan-4</object-name>
</binding>
</combo>
<empty>
<stretch>true</stretch>
</empty>
<button>
<legend>ATC Services in range</legend>
<binding>
<command>ATC-freq-search</command>
</binding>
</button>
<text>
<label> </label>
</text>
</group>
<!-- of TACAN group -->
<!-- transponder controls -->
<hrule/>
<group>
<layout>hbox</layout>
<text>
<label> Transponder</label>
</text>
<combo>
<name>Tponder-1</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/transponder/inputs/digit[3]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<binding>
<command>dialog-apply</command>
<object-name>Tponder-1</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<![CDATA[
updateTransponderCode();
]]>
</script>
</binding>
</combo>
<!-- -->
<combo>
<name>Tponder-2</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/transponder/inputs/digit[2]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<binding>
<command>dialog-apply</command>
<object-name>Tponder-2</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<![CDATA[
updateTransponderCode();
]]>
</script>
</binding>
</combo>
<combo>
<name>Tponder-3</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/transponder/inputs/digit[1]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<binding>
<command>dialog-apply</command>
<object-name>Tponder-3</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<![CDATA[
updateTransponderCode();
]]>
</script>
</binding>
</combo>
<combo>
<name>Tponder-4</name>
<pref-width>55</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/instrumentation/transponder/inputs/digit[0]</property>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<binding>
<command>dialog-apply</command>
<object-name>Tponder-4</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<![CDATA[
updateTransponderCode();
]]>
</script>
</binding>
</combo>
<empty>
<stretch>true</stretch>
</empty>
<text>
<label>Mode</label>
</text>
<combo>
<name>Tponder-5</name>
<pref-width>120</pref-width>
<pref-height>25</pref-height>
<live>true</live>
<property>/sim/gui/dialogs/radios/transponder-mode</property>
<value>OFF</value>
<value>STANDBY</value>
<value>TEST</value>
<value>GROUND</value>
<value>ON</value>
<value>ALTITUDE</value>
<binding>
<command>dialog-apply</command>
<object-name>Tponder-5</object-name>
</binding>
<binding>
<command>nasal</command>
<script>
<![CDATA[
var v = getprop("/sim/gui/dialogs/radios/transponder-mode");
#var modes = ['OFF', 'STANDBY', 'TEST', 'GROUND', 'ON', 'ALTITUDE'];
var index=0;
for (; index<size(modes) and (v != modes[index]); index+=1) { }
setprop("/instrumentation/transponder/inputs/knob-mode", index);
]]>
</script>
</binding>
</combo>
<button>
<legend>IDENT</legend>
<property>/instrumentation/transponder/inputs/ident-btn</property>
<binding>
<command>dialog-apply</command>
</binding>
</button>
<text>
<label> </label>
</text>
</group>
<!-- Transponder group -->
<!-- bottom button box -->
<hrule/>
<group>
<layout>hbox</layout>
<default-padding>6</default-padding>
<empty>
<stretch>true</stretch>
</empty>
<button>
<legend>Close</legend>
<default>true</default>
<equal>true</equal>
<binding>
<command>dialog-apply</command>
</binding>
<binding>
<command>dialog-close</command>
</binding>
</button>
<empty>
<stretch>true</stretch>
</empty>
</group>
</PropertyList>