1
0
Fork 0
fgdata/gui/dialogs/joystick-info.xml

191 lines
3.8 KiB
XML
Raw Normal View History

2006-10-21 10:19:04 +00:00
<?xml version="1.0"?>
<PropertyList>
<name>joystick-info</name>
<layout>vbox</layout>
<resizable>true</resizable>
2006-10-21 10:19:04 +00:00
<default-padding>3</default-padding>
<group>
<layout>hbox</layout>
<default-padding>1</default-padding>
<empty><stretch>true</stretch></empty>
2006-10-21 10:19:04 +00:00
<text>
<label>Joystick Information</label>
</text>
<empty><stretch>true</stretch></empty>
<button>
<legend></legend>
<key>Esc</key>
<pref-width>16</pref-width>
<pref-height>16</pref-height>
<border>2</border>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
<hrule/>
2006-10-21 10:19:04 +00:00
<nasal>
<open>
2008-07-30 21:54:42 +00:00
var value = func(p, default = "") {
2006-10-21 10:19:04 +00:00
return p != nil and (var v = p.getValue()) != nil ? v : default;
}
2008-07-30 21:54:42 +00:00
var items = func(it, name) {
2006-10-21 10:19:04 +00:00
var t = "";
foreach (var x; it) {
t ~= " [";
2006-10-21 11:46:43 +00:00
t ~= value(x.getNode("name"), name ~ " #" ~ x.getIndex());
t ~= "] ... ";
2006-10-21 10:19:04 +00:00
t ~= value(x.getNode("desc"), "???");
t ~= "\n";
}
return t;
}
var t = "";
var joysticks = props.globals.getNode("/input/joysticks").getChildren("js");
var numjs = size(joysticks);
2006-10-21 10:19:04 +00:00
forindex (var i; joysticks) {
var js = joysticks[i];
var id = value(js.getNode("id"), "[unnamed]");
var source = value(js.getNode("source"), "[user defined]");
2006-10-21 10:19:04 +00:00
var names = js.getChildren("name");
t ~= "Joystick #" ~ js.getIndex() ~ ": \"" ~ id ~ "\"\n\n";
t ~= " Driver: " ~ source ~ "\n";
2006-10-21 10:19:04 +00:00
if (size(names)) {
t ~= " Used for: ";
2006-10-21 10:50:42 +00:00
var last = pop(names);
2008-07-30 21:54:42 +00:00
foreach (var n; names)
2006-10-21 10:19:04 +00:00
t ~= '"' ~ value(n) ~ '", ';
2008-07-30 21:54:42 +00:00
2006-10-21 10:50:42 +00:00
t ~= '"' ~ value(last) ~ '"';
2006-10-21 10:19:04 +00:00
}
t ~= "\n\n";
t ~= items(js.getChildren("axis"), "Axis");
2006-10-21 11:46:43 +00:00
t ~= "\n";
t ~= items(js.getChildren("button"), "Button");
2006-10-21 10:19:04 +00:00
var help = value(js.getNode("help"), nil);
2008-07-30 21:54:42 +00:00
if (help != nil)
t ~= "\n\n" ~ help;
2008-07-30 21:54:42 +00:00
if (numjs > 1 and i &lt; numjs - 1)
2006-10-21 10:19:04 +00:00
t ~= "\n\n\n----------------------------------------\n\n\n";
}
var text = props.globals.getNode("/sim/gui/dialogs/joystick-info/text", 1);
text.setValue(t);
</open>
<close>
text.setValue("");
</close>
</nasal>
<group>
<layout>table</layout>
<default-padding>2</default-padding>
<empty>
<width>150</width>
<col>0</col>
<row>0</row>
</empty>
<text>
<label>Aileron: </label>
<halign>right</halign>
<col>1</col>
<row>0</row>
</text>
<text>
<label>-0.00000</label>
<halign>left</halign>
<format>%.5f</format>
<property>/controls/flight/aileron</property>
<live>1</live>
<col>2</col>
<row>0</row>
</text>
<text>
<label>Elevator: </label>
<halign>right</halign>
<col>1</col>
<row>1</row>
</text>
<text>
<label>-0.00000</label>
<halign>left</halign>
<format>%.5f</format>
<property>/controls/flight/elevator</property>
<live>1</live>
<col>2</col>
<row>1</row>
</text>
<text>
<label>Rudder: </label>
<halign>right</halign>
<col>3</col>
<row>0</row>
</text>
<text>
<label>-0.00000</label>
<halign>left</halign>
<format>%.5f</format>
<property>/controls/flight/rudder</property>
<live>1</live>
<col>4</col>
<row>0</row>
</text>
<text>
<label>Throttle: </label>
<halign>right</halign>
<col>3</col>
<row>1</row>
</text>
<text>
<label>-0.00000</label>
<halign>left</halign>
<format>%.5f</format>
<property>/controls/engines/engine/throttle</property>
<live>1</live>
<col>4</col>
<row>1</row>
</text>
<empty>
<width>150</width>
<col>5</col>
<row>0</row>
</empty>
</group>
2006-10-21 10:19:04 +00:00
<textbox>
<halign>fill</halign>
<valign>fill</valign>
<stretch>true</stretch>
2006-10-21 10:19:04 +00:00
<pref-width>640</pref-width>
<pref-height>480</pref-height>
<slider>20</slider>
<wrap>true</wrap>
<editable>false</editable>
<property>/sim/gui/dialogs/joystick-info/text</property>
</textbox>
</PropertyList>