89 lines
2.1 KiB
Objective-C
89 lines
2.1 KiB
Objective-C
/*---------------------------------------------------
|
|
-----------------------------------------------------
|
|
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;
|
|
} |