From d4863a100143e56b293e46d8e33b93e9b98483c2 Mon Sep 17 00:00:00 2001 From: mfranz Date: Mon, 19 Mar 2007 23:29:54 +0000 Subject: [PATCH] adjustment dialog for tutorial markers --- gui/dialogs/marker-adjust.xml | 506 ++++++++++++++++++++++++++++++++++ 1 file changed, 506 insertions(+) create mode 100644 gui/dialogs/marker-adjust.xml diff --git a/gui/dialogs/marker-adjust.xml b/gui/dialogs/marker-adjust.xml new file mode 100644 index 000000000..f7fd05085 --- /dev/null +++ b/gui/dialogs/marker-adjust.xml @@ -0,0 +1,506 @@ + + + + marker-adjust + vbox + -20 + -20 + + + hbox + 1 + + + + + + 1 + + + + + + + + + var self = cmdarg(); + var dlgname = self.getNode("name").getValue(); + + var Value = { + new : func(name, init = 0) { + var m = { parents: [Value] }; + m.name = name; + var n = props.globals.getNode("/sim/model/marker/" ~ m.name, 1); + m.sliderN = n.getNode("slider", 1); + m.offsetN = n.getNode("offset", 1); + m.valueN = n.getNode("value", 1); + m.offsetN.setDoubleValue(0); + m.sliderN.setDoubleValue(0); + m.valueN.setDoubleValue(init); + m.last_slider = 0; + m.center(); + m.sliderL = setlistener(m.sliderN, func { m.update() }); + return m; + }, + del : func { + removelistener(me.sliderL); + }, + update : func { + var offs = me.sliderN.getValue(); + var v = me.offsetN.getValue() + me.sliderN.getValue() - me.last_slider; + me.valueN.setValue(me.valueN.getValue() + v * 0.1); + me.offsetN.setDoubleValue(0); + me.last_slider = offs; + }, + center : func { + me.offsetN.setValue(me.offsetN.getValue() + me.sliderN.getValue()); + me.sliderN.setDoubleValue(0); + }, + }; + + var values = [ + Value.new("x"), + Value.new("y"), + Value.new("z"), + Value.new("scale", 1), + ]; + + var center = func { + foreach (var v; values) { + v.center(); + } + } + + var dump = func { + print("<marker>"); + foreach (var v; values) { + print(sprintf(" <%s>%.3f</%s>", v.name, v.valueN.getValue(), v.name)); + } + print("</marker>"); + } + + var update = func(w) { + self.setValues({"dialog-name": dlgname, "object-name": w}); + fgcommand("dialog-update", self); + center(); + } + + setprop("/sim/model/marker/arrow-enabled", 1); + setprop("/sim/model/marker/cross-enabled", 1); + + + + setprop("/sim/model/marker/cross-enabled", 0); + setprop("/sim/model/marker/arrow-enabled", 0); + foreach (var v; values) { + v.del(); + } + + + + + hbox + 0 + + + + + + + x + /sim/model/marker/x/slider + fore/aft + 250 + 1 + -1 + 1 + + + 1.0 + 0.6 + 0.6 + 1 + + + + dialog-apply + x + + + + + + + + + + hbox + 0 + + + + + + + y + /sim/model/marker/y/slider + left/right + 250 + 1 + -1 + 1 + + + 0.6 + 1.0 + 0.6 + 1.0 + + + + dialog-apply + y + + + + + + + + + + hbox + 0 + + + + + + + z + /sim/model/marker/z/slider + down/up + 250 + 1 + -1 + 1 + + + 0.6 + 0.6 + 1.0 + 1.0 + + + + dialog-apply + z + + + + + + + + + + hbox + 0 + + + + + + + scale + /sim/model/marker/scale/slider + size + 250 + 1 + -1 + 1 + + + 1.0 + 0.6 + 1.0 + 1.0 + + + + dialog-apply + scale + + + + + + + + + + hbox + 2 + + 1 + + + + 1 + + + +