|
|
|
@ -26,27 +26,55 @@
|
|
|
|
|
|
|
|
|
|
<group>
|
|
|
|
|
<layout>hbox</layout>
|
|
|
|
|
<list>
|
|
|
|
|
<name>mission_list</name>
|
|
|
|
|
<pref-width>300</pref-width>
|
|
|
|
|
<pref-height>250</pref-height>
|
|
|
|
|
<halign>fill</halign>
|
|
|
|
|
<valign>fill</valign>
|
|
|
|
|
<stretch>true</stretch>
|
|
|
|
|
<padding>6</padding>
|
|
|
|
|
<property>/sim/mission/gui/selected-mission</property>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>dialog-apply</command>
|
|
|
|
|
</binding>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>nasal</command>
|
|
|
|
|
<script>
|
|
|
|
|
select_mission();
|
|
|
|
|
</script>
|
|
|
|
|
</binding>
|
|
|
|
|
<value>...</value>
|
|
|
|
|
<value>...</value>
|
|
|
|
|
</list>
|
|
|
|
|
<group>
|
|
|
|
|
<layout>vbox</layout>
|
|
|
|
|
<group>
|
|
|
|
|
<layout>hbox</layout>
|
|
|
|
|
<button>
|
|
|
|
|
<legend>Generic missions</legend>
|
|
|
|
|
<pref-height>30</pref-height>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>nasal</command>
|
|
|
|
|
<script>
|
|
|
|
|
missions_dir = getprop("/sim/mission/root_path") ~ "/Missions";
|
|
|
|
|
update_list();
|
|
|
|
|
</script>
|
|
|
|
|
</binding>
|
|
|
|
|
</button>
|
|
|
|
|
<button>
|
|
|
|
|
<legend>Aircraft-specific missions</legend>
|
|
|
|
|
<pref-height>30</pref-height>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>nasal</command>
|
|
|
|
|
<script>
|
|
|
|
|
missions_dir = getprop("/sim/aircraft-dir") ~ "/Missions";
|
|
|
|
|
update_list();
|
|
|
|
|
</script>
|
|
|
|
|
</binding>
|
|
|
|
|
</button>
|
|
|
|
|
</group>
|
|
|
|
|
<list>
|
|
|
|
|
<name>mission_list</name>
|
|
|
|
|
<pref-width>300</pref-width>
|
|
|
|
|
<pref-height>250</pref-height>
|
|
|
|
|
<halign>fill</halign>
|
|
|
|
|
<valign>fill</valign>
|
|
|
|
|
<stretch>true</stretch>
|
|
|
|
|
<padding>6</padding>
|
|
|
|
|
<property>/sim/mission/gui/selected-mission</property>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>dialog-apply</command>
|
|
|
|
|
</binding>
|
|
|
|
|
<binding>
|
|
|
|
|
<command>nasal</command>
|
|
|
|
|
<script>
|
|
|
|
|
select_mission();
|
|
|
|
|
</script>
|
|
|
|
|
</binding>
|
|
|
|
|
<value>...</value>
|
|
|
|
|
<value>...</value>
|
|
|
|
|
</list>
|
|
|
|
|
</group>
|
|
|
|
|
|
|
|
|
|
<group>
|
|
|
|
|
<layout>vbox</layout>
|
|
|
|
@ -97,8 +125,9 @@
|
|
|
|
|
|
|
|
|
|
<nasal>
|
|
|
|
|
<open> <![CDATA[
|
|
|
|
|
var list = cmdarg().getNode("group[1]/list");
|
|
|
|
|
var list = cmdarg().getNode("group[1]/group[0]/list");
|
|
|
|
|
var mission_root = "";
|
|
|
|
|
var missions_dir = getprop("/sim/mission/root_path") ~ "/Missions";
|
|
|
|
|
var selected_mission = "";
|
|
|
|
|
var data_node = props.getNode("sim/mission/gui/data", 1);
|
|
|
|
|
data_node.setValues({description: ""});
|
|
|
|
@ -116,10 +145,14 @@
|
|
|
|
|
var update_list = func {
|
|
|
|
|
list.removeChildren("value");
|
|
|
|
|
|
|
|
|
|
var mission_path = getprop("/sim/mission/root_path") ~ "/Missions";
|
|
|
|
|
foreach (var a; directory(mission_path)) {
|
|
|
|
|
# var mission_path = "";
|
|
|
|
|
# if (mode == nil)
|
|
|
|
|
# mission_path = getprop("/sim/mission/root_path") ~ "/Missions";
|
|
|
|
|
# else mission_path = getprop("/sim/aircraft-dir") ~ "/Missions";
|
|
|
|
|
|
|
|
|
|
foreach (var a; directory(missions_dir)) {
|
|
|
|
|
if (a != "." and a != ".." and a != "Generic") {
|
|
|
|
|
foreach (var b; directory(mission_path ~ "/" ~ a)) {
|
|
|
|
|
foreach (var b; directory(missions_dir ~ "/" ~ a)) {
|
|
|
|
|
if (b != "." and b != "..") {
|
|
|
|
|
list.addChild("value").setValue(a ~ "/" ~ b);
|
|
|
|
|
}
|
|
|
|
@ -132,7 +165,7 @@
|
|
|
|
|
|
|
|
|
|
var select_mission = func {
|
|
|
|
|
selected_mission = getprop("/sim/mission/gui/selected-mission");
|
|
|
|
|
mission_root = getprop("/sim/mission/root_path") ~ "/Missions/" ~ selected_mission;
|
|
|
|
|
mission_root = missions_dir ~ "/" ~ selected_mission; #getprop("/sim/mission/root_path") ~ "/Missions/" ~ selected_mission;
|
|
|
|
|
|
|
|
|
|
data_node.setValues({description: ""});
|
|
|
|
|
io.read_properties(mission_root ~ "/metadata.xml", data_node);
|
|
|
|
|