aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins/Big Bento/scripts/timecontrol.m
diff options
context:
space:
mode:
Diffstat (limited to 'Src/resources/skins/Big Bento/scripts/timecontrol.m')
-rw-r--r--Src/resources/skins/Big Bento/scripts/timecontrol.m89
1 files changed, 89 insertions, 0 deletions
diff --git a/Src/resources/skins/Big Bento/scripts/timecontrol.m b/Src/resources/skins/Big Bento/scripts/timecontrol.m
new file mode 100644
index 00000000..f801e233
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/timecontrol.m
@@ -0,0 +1,89 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: timecontrol.m
+Version: 1.0
+
+Type: maki
+Date: 29. Jun. 2007 - 00:13
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/config.mi>
+#include <lib/com/AutoRepeatButton.m>
+
+Function updateAttrib (int val);
+
+Global ConfigAttribute timeAttrib;
+Global text Display;
+Global AutoRepeatButton Increase, Decrease;
+Global float multiplier;
+Global int maxvalue, step;
+Global string suffix;
+Global boolean myChange;
+
+System.onScriptLoaded ()
+{
+ AutoRepeat_Load();
+ string param = getParam();
+
+ string objects = getToken(param, "|", 0);
+ group scriptGroup = getScriptGroup();
+ Display = scriptGroup.findObject(getToken(objects, ";", 0));
+ Decrease = scriptGroup.findObject(getToken(objects, ";", 1));
+ Increase = scriptGroup.findObject(getToken(objects, ";", 2));
+
+ objects = getToken(param, "|", 1);
+ timeAttrib = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+
+ step = stringToInteger(getToken(param, "|", 2));
+ maxvalue = stringToInteger(getToken(param, "|", 3));
+ multiplier = stringToFloat(getToken(param, "|", 4));
+ suffix = getToken(param, "|", 5);
+
+ AutoRepeat_SetInitalDelay(250);
+ AutoRepeat_SetRepeatDelay(125);
+
+ updateAttrib (0);
+}
+
+System.onScriptUnloading ()
+{
+ AutoRepeat_Unload();
+}
+
+Increase.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (step);
+}
+
+Decrease.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (-step);
+}
+
+timeAttrib.onDataChanged ()
+{
+ if (myChange) return;
+ updateAttrib (0);
+}
+
+updateAttrib (int val)
+{
+ float i = stringToInteger(timeAttrib.getData());
+ i += val;
+ if (i < 0 || i > maxvalue) return;
+ myChange = 1;
+ string s = integerToString(i);
+ if (timeAttrib) timeAttrib.setData(s);
+ i *= multiplier;
+ s = floatToString(i,1);
+ Display.setText(s + suffix);
+ myChange = 0;
+} \ No newline at end of file