1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*---------------------------------------------------
- -----------------------------------------------------
- Filename: timecontrol.m
- Version: 1.0
- Type: maki
- Date: 29. Jun. 2007 - 00:13
- Author: Martin Poehlmann aka Deimos
- E-Mail: [email protected]
- 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;
- }
|