This element is not an actual data type but simply fires an event on a regular basis, when specified time has elapsed.
See Attributes Common to All Elements.
Name | Value Type | Default Value | Description | Comment | V. | Exp. |
---|---|---|---|---|---|---|
enabled |
'true' |
Enables or disables the timer. |
|
2.0 |
2.0 | |
refresh_time_ms |
Any positive integer value |
50 |
interval between two timer events. |
2.0 |
2.0 | |
Events | ||||||
elapsed |
Fired when specified refresh_time_ms has elapsed, if the event is enabled. |
2.0 |
2.0 |
The following code creates a timer launched by a button that calls a simple script (using an ACTION_TRIGGER) measuring elapsed time while it is displayed on screen. Once elapsed_time reaches 1000 ms, timer is stopped and a message box is displayed:
<?xml version="1.0" encoding="utf-8" ?> <SKIN text_color="#ffffff" font_size="28" font_face="Arial"> <!-- Creates a disabled timer --> <TIMER id="timer" enabled="false" refresh_time_ms="10"/> <!-- Elapsed parameter and alert action to be used by triggered script--> <PARAM id="elapsed" default="0" max="2000" exposed="true"/> <ACTION id="alert" type="DisplayMessageBox" message="button clicked 1 second ago" exposed="true"/> <!--script action trigger on timer event--> <ACTION_TRIGGER event_id="timer.elapsed" script="elapsed+=timer.refresh_time_ms; if(elapsed>=1000) {timer.enabled=0; alert(); elapsed=0;}" async="false"/> <!-- Ensures that the refresh attribute is exposed to script--> <EXPOSED_OBJECTS object_ids="timer.refresh_time_ms"/> <!-- Simple "click me" button to start the timer and text field that shows elapsed time--> <COLUMN margin="5"> <TEXT value="Click Here"> <INVISIBLE_PARAM_BUTTON id="button" width="100%" height="100%" param_id="timer.enabled"/> </TEXT> <PARAM_TEXT font_size="15" param_id="elapsed" content="button clicked {value} ms ago" width="200"/> </COLUMN> </SKIN>