UI node behaviours/2.3

From UFO:AI
< UI node behaviours
Revision as of 14:38, 3 June 2010 by Bayo (talk | contribs) (moved UI node behaviours to UI node behaviours/2.3)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page is autogenerated. Please do not edit it. Use the talk page or update the source code.

abstractbase

This node inherite #abstractnode. Check this node for more properties.


Properties
Name Type Description
baseid V_INT Identify the base, from a base ID, the node use.

abstractnode

Every node extends this node

Properties
Name Type Description
align V_INT
Layout.png
Used to set the position of the node when the parent use a layout manager. Else it do nothing. Available values are: LAYOUTALIGN_TOPLEFT, LAYOUTALIGN_TOP, LAYOUTALIGN_TOPRIGHT, LAYOUTALIGN_LEFT, LAYOUTALIGN_MIDDLE, LAYOUTALIGN_RIGHT, LAYOUTALIGN_BOTTOMLEFT, LAYOUTALIGN_BOTTOM, LAYOUTALIGN_BOTTOMRIGHT, LAYOUTALIGN_FILL. Allowed value depend the layout manager used. The update to date list is into m_node_panel.c
bgcolor V_COLOR Background color we want to display.
border V_INT Border size we want to display.
bordercolor V_COLOR Border color we want to display.
color V_COLOR Text color the node will use.
disabled V_BOOL If true, the node is disabled. Few nodes support it, fell free to request an update.
excluderect V_UI_EXCLUDERECT Special attribute only use into the node description to exclude part of the node (see also ghost). Rectangle position is relative to the node.
font V_CVAR_OR_STRING Text font the node will use.
@todo use V_REF_OF_STRING when its possible ('font' is never a cvar).
ghost V_BOOL If true, the node is not tangible. We click through it, then it will not receive mouse event.
height V_FLOAT Height of the node (see also size)
icon V_UI_ICONREF Identify an icon the node will use.
@todo Move it where it is need.
image V_CVAR_OR_STRING Image to use. Each behaviour use it like they want.
@todo Move it into behaviour need it.
@todo use V_REF_OF_STRING when its possible ('image' is never a cvar)
invis V_BOOL If true, the node is not displayed nor or activatable.
left V_FLOAT Left position of the node (see also pos)
num V_INT Used share an int, only used by 1 behavour
@todo move it to the right behaviour, delete it
padding V_INT Padding size we want to use. Few node support it.
pos V_POS Top-left position of the node
selectcolor V_COLOR Text color the node will use when something is selected.
size V_POS Size of the node
string V_CVAR_OR_LONGSTRING Text the node will display.
textalign V_ALIGN Alignement of the text into the node, or elements into blocks.
tooltip V_CVAR_OR_LONGSTRING Tooltip we want to use.
top V_FLOAT Top position of the node (see also pos)
visiblewhen V_UI_IF When invis property is false (default value), this condition say if the node is visible or not. It use a script expression.
width V_FLOAT Width of the node (see also size)
Callback event
Name Type Description
onchange V_UI_ACTION Called when the internal content of the nde change. Each behaviour use it how they need it.
@todo Move it where it is need.
onclick V_UI_ACTION Called when the user click with left button into the node.
onmclick V_UI_ACTION Called when the user click with middle button into the node.
onmouseenter V_UI_ACTION Called when the mouse enter over the node.
onmouseleave V_UI_ACTION Called when the mouse go out of the node.
onrclick V_UI_ACTION Called when the user click with right button into the node.
onwheel V_UI_ACTION Called when the user use the mouse wheel over the node.
onwheeldown V_UI_ACTION Called when the user use the mouse wheel down over the node.
onwheelup V_UI_ACTION Called when the user use the mouse wheel up over the node.
Methods
Name Type Description
createchild V_UI_NODEMETHOD Create a new child with name and type.
delete V_UI_NODEMETHOD Delete the node and remove it from his parent.
removeallchild V_UI_NODEMETHOD Remove all child from the node (only dynamic allocated nodes).

abstractoption

This node inherite #abstractnode. Check this node for more properties.
@todo manage disabled option
Properties
Name Type Description
count V_INT number of elements contain the node
cvar V_UI_CVAR Define the cvar containing the value of the current selected option
dataid V_UI_DATAID Optional. Data ID we want to use. It must be an option list. It substitute to the inline options
fullsize V_INT full vertical size (proportional to the number of elements the node contain)
lineheight V_INT Optional. We can define the height of the block containing an option.
option V_UI_OPTIONNODE Special property only use into node description. Used for each element of the inline option list
viewpos V_INT position of the vertical view (into the full number of elements the node contain)
viewsize V_INT size of the vertical view (proportional to the number of elements the node can display without moving)
Callback event
Name Type Description
onviewchange V_UI_ACTION Called when one of the properties viewpos/viewsize/fullsize change

abstractscrollable

This node inherite #abstractnode. Check this node for more properties.
@todo use this interface into every scrollable node
Properties
Name Type Description
fullsize V_INT full vertical size (proportional to the number of elements the node contain)
viewpos V_INT position of the vertical view (into the full number of elements the node contain)
viewsize V_INT size of the vertical view (proportional to the number of elements the node can display without moving)
Callback event
Name Type Description
onviewchange V_UI_ACTION Called when one of the properties viewpos/viewsize/fullsize change
Methods
Name Type Description
movedown V_UI_NODEMETHOD Call it to vertically scroll the document down
moveend V_UI_NODEMETHOD Call it to vertically move the scroll to the end of the document
movehome V_UI_NODEMETHOD Call it to vertically reset the scroll position to 0
moveup V_UI_NODEMETHOD Call it to vertically scroll the document up
pagedown V_UI_NODEMETHOD Call it to vertically scroll the document down
pageup V_UI_NODEMETHOD Call it to vertically scroll the document up

abstractscrollbar

This node inherite #abstractnode. Check this node for more properties.

The abstractscrollbar is an abstract node (we can't instantiate it). It exists to share same properties for vertical and horizontal scrollbar. At the moment only the concrete vscrollbar.

Properties
Name Type Description
current V_INT Current position of the scroll. Image of the viewpos from abstractscrollable node.
fullsize V_INT Image of the fullsize from abstractscrollable node.
hidewhenunused V_BOOL If true, hide the scroll when the position is 0 and can't change (when viewsize >= fullsize).
lastdiff V_INT Callback value set when before calling onChange. It is used to know the change apply by the user
@Deprecated
viewsize V_INT Image of the viewsize from abstractscrollable node.

abstractvalue

This node inherite #abstractnode. Check this node for more properties.

The abstractvalue node is an abstract node (we can't instanciate it). It provide common properties to concrete nodes, to manage a value in a range.

Properties
Name Type Description
current V_CVAR_OR_FLOAT Current value of the node. It should be a cvar
delta V_CVAR_OR_FLOAT Value of a positive step. Must be bigger than 1.
lastdiff V_FLOAT Callback value set when before calling onChange. It is used to know the change apply by the user
@Deprecated
max V_CVAR_OR_FLOAT Maximum value we can set to the node. It can be a cvar. Default value is 0.
min V_CVAR_OR_FLOAT Minimum value we can set to the node. It can be a cvar. Default value is 1.

bar

This node inherite #abstractvalue. Check this node for more properties.

The bar node display a graphical horizontal slider. We can use it to allow the user to select a value in a range. Or we can use it do only display a value (in this case, you must disable it).

baselayout

This node inherite #abstractbase. Check this node for more properties.


basemap

This node inherite #abstractbase. Check this node for more properties.


button

This node inherite #abstractnode. Check this node for more properties.

button is a node to define a button with a random size. It is skinned with a special image template (see the image property).

@todo add an icon if possible.
@todo implement clicked button when its possible.
@todo allow auto size (use the size need looking string, problem when we change language)
Properties
Name Type Description
image (override #abstractnode) ...
Button blue.png
Texture used by the button. It's a normalized texture of 128x128. Normal button start at 0x0, mouse over start at 64x0, mouse click start at 0x64 (but not yet implemented), and disabled start at 64x64. See the image to have a usable template for this node.

checkbox

This node inherite #abstractvalue. Check this node for more properties.

The checkbox node is a three state widget. If the value is 0, checkbox is unchecked, if value is bigger than 0, the value is checked; but if the value is under 0, the checkbox display an "invalidate" status.

 checkbox check_item {
   cvar "*cvar mn_serverday"
   pos  "410 100"
 }


Properties
Name Type Description
image (override #abstractnode) ...
Checkbox template.png
Texture used for the widget. Its a 128×128 template image with all three status according to the value, and four status according to the interaction. From left to right: unchecked, checked, and invalidate. From top to bottom: normal, hovered by the mouse, clicked, disabled.
Methods
Name Type Description
toggle V_UI_NODEMETHOD Call it to toggle the node status.

cinematic

This node inherite #abstractnode. Check this node for more properties.


Properties
Name Type Description
video V_CVAR_OR_STRING
@todo Please document it

confunc

This node inherite #special. Check this node for more properties.


container

This node inherite #abstractnode. Check this node for more properties.

The container node refer to 3 different nodes merged into a singler one. Both can drag and drop solider items from a container to another one. The first container is a soldier slot. For example, the left arm, the bag pack... The second is the base item list. And the last it a floor container used into the battlescape. The node name itself is used to know the container role.

@todo Move base container list outside
@todo Move container role outside of the node name
@todo Link soldier container with a soldier
@todo Link base container with a base
@todo Link floor container with a map/cell...
Properties
Name Type Description
columns V_INT Base container only. Custom the number of column we must use to display items.
displayammo V_BOOL Base container only. Display/hide ammo.
displayammoofweapon V_BOOL Base container only. Display/hide ammo near weapons.
displayavailableontop V_BOOL Base container only. Sort the list to display in stock items on top of the list.
displayunavailableammoofweapon V_BOOL Base container only. Display/hide out of stock ammo near weapons. displayammoofweapon must be activated first.
displayunavailableitem V_BOOL Base container only. Display/hide out of stock items.
displayweapon V_BOOL Base container only. Display/hide weapons.
filter V_INT Base container only. Filter items by a category.
fullsize V_INT Base container only. Full vertical size (proportional to the number of elements the node contain)
lastselectedid V_INT Callback value set before calling onSelect. It is used to know the item selected
scrollpos V_INT Base container only. Position of the vertical view (into the full number of elements the node contain)
@todo Rename it viewpos (like scrollable node)
viewsize V_INT Base container only. Size of the vertical view (proportional to the number of elements the node can display without moving)
Callback event
Name Type Description
onselect V_UI_ACTION Callback event called when the user select an item
onviewchange V_UI_ACTION Base container only. Called when one of the properties viewpos/viewsize/fullsize change

controls

This node inherite #pic. Check this node for more properties.

Controls is a special pic entity with which the windows can be moved (drag & drop).

@todo Remove it. Window node can manage itself dragging.

custombutton

This node inherite #button. Check this node for more properties.

Custombutton is a button using a skin with a fixed size. We can define every pixels into the texture. It can't be bigger than 256x64, because each row of 64 pixels are used for the button status (normal, hovered, disabled, and the last is not used).

 // the button use all the size allowed
 custombutton button_load
 {
 	pos	"780 130"
 	size	"128 64"
 	click	{ cmd "echo click;" }
 	image	ui/multi_buttons2
 	font	f_menubig
 	color	"0 0.5 0 1"
 	selectcolor "1 1 1 1"
 	string	"_Load"
 }


Properties
Name Type Description
texl V_POS Skin position. Define the top-left position of the skin we will used from the image. Y should not be bigger than 64. To compute the high corner we use the node size.

cvarfunc

This node inherite #special. Check this node for more properties.


editor

This node inherite #special. Check this node for more properties.
@note type "mn_push editor" to use it, Escape button to close it, and "mn_extract" to extract a menu

Editor is an invisible node used to create an edition mode. The edition mode allow user to move and resize all visible nodes.

Methods
Name Type Description
selectfirstchild V_UI_NODEMETHOD select first child node (according to the current one)
selectnext V_UI_NODEMETHOD select the next node (according to the current one)
selectparent V_UI_NODEMETHOD select the parent node (according to the current one)
start V_UI_NODEMETHOD start edition mode
stop V_UI_NODEMETHOD stop edition mode

ekg

This node inherite #pic. Check this node for more properties.

Health and morale ekg images for actors

Properties
Name Type Description
scale V_FLOAT
@todo Need documentation
scrollspeed V_FLOAT
@todo Need documentation

func

This node inherite #special. Check this node for more properties.


item

This node inherite #model. Check this node for more properties.

An item is only a model node allowing to display soldier armour. Soldier armour is an image, not a model.

keybinding

This node inherite #abstractnode. Check this node for more properties.

This node implements the key binding change and display

Properties
Name Type Description
bindingwidth V_INT
keyspace V_INT

linechart

This node inherite #abstractnode. Check this node for more properties.


Properties
Name Type Description
axescolor V_COLOR Axe color.
dataid V_UI_DATAID Identity the shared data the node use. It must be a LINESTRIP data.
displayaxes V_BOOL If true, it display axes of the chart.

map

This node inherite #abstractnode. Check this node for more properties.


Properties
Name Type Description
padding-right V_FLOAT Use a right padding.
Methods
Name Type Description
zoomin V_UI_NODEMETHOD Call it to zoom out of the map
zoomout V_UI_NODEMETHOD Call it to zoom into the map

material_editor

This node inherite #abstractscrollable. Check this node for more properties.

Material editor related code

messagelist

This node inherite #abstractscrollable. Check this node for more properties.
@todo add getter/setter to cleanup access to extradata from cl_*.c files (check "u.text.")

model

This node inherite #abstractnode. Check this node for more properties.

This node allow to include a 3D-model into the GUI. It provide a way to create composite models, check How to script menu#How to create a composite model. We call it "main model" when a model is a child node of a non model node, and "submodel" when the node is a child node of a model node.

Properties
Name Type Description
angles V_VECTOR Main model only. Point of view.
anim V_CVAR_OR_STRING Both. Name of the animation for the model
autoscale V_BOOL Main model only. Auto compute the "better" scale for the model. The function dont work very well at the moment because it dont check the angle and no more submodel bounding box.
clipoverflow V_BOOL Main model only. Clip the model with the node rect
model V_CVAR_OR_STRING Both. Name of the model. The path to the model, relative to base/models
origin V_VECTOR Main model only. Position of the model relative to the center of the node.
rotatewithmouse V_BOOL Main model only. Allow to change the POV of the model with the mouse (only for main model)
scale V_VECTOR Both. Scale the model
skin V_CVAR_OR_STRING Both. Name of the skin for the model.
tag V_CVAR_OR_STRING Submodel only. A tag name to link the model to the parent model.
view V_CVAR_OR_STRING Main model only. A way to use a custom scripted POV into the model. Check base/ufos/models.ufo for the list of allowed string. For example "ufopedia", "aircraft", "aircraft_equip", "item". It is also called "menumodel", but have no more link with windows name (aka menu name).
@todo use V_REF_OF_STRING when its possible ('viewName' is never a cvar)

null

This node inherite #special. Check this node for more properties.


optionlist

This node inherite #abstractoption. Check this node for more properties.
@todo manage disabled option

optiontree

This node inherite #abstractoption. Check this node for more properties.
@todo manage disabled option
Methods
Name Type Description
setselectedvalue V_UI_NODEMETHOD Call it to toggle the node status.

panel

This node inherite #abstractscrollable. Check this node for more properties.


Properties
Name Type Description
layout V_INT
Layout.png
Select a layout manager to set position and size of child. Most of layout manager do not move or resize child without align property set. In the image, number identify the position of the child into node, and same color identify the same node. Text on child display the value of the "align" property of each child.
  • 0: no layout manager. Child keep there position and there size.
  • LAYOUT_TOP_DOWN_FLOW: layout child from top to down. Only child height do not change.
  • LAYOUT_PACK: Pack one by one child into the available space of the node.
  • LAYOUT_BORDER: Align nodes at a know position. Its look like pack layout, but the order is not the same. top and bottom child first, then left and right, then middle. We can show the difference into the image.
  • LAYOUT_STAR: Align the corner of child into the corner of the node. Child size do not change.
  • layoutMargin V_INT Margin use to layout children (margin between children)

    pic

    This node inherite #abstractnode. Check this node for more properties.

    The pic behaviour allow to draw an image or a part of an image into the GUI. It provide some layout properties. We can use it like an active node (mouse in/out/click...) but in this case, it is better to use nodes with a semantics (like button, or checkbox).

     pic aircraft_return
     {
    	image	ui/buttons_small
    	pos	"550 410"
    	texl	"0 32"
    	texh	"16 48"
    	[..]
     }


    Properties
    Name Type Description
    mousefx V_BOOL Now this property do nothing. But we use it like a tag, to remember nodes we should convert into button...
    @todo delete it when its possible (use more button instead of image)
    preventratio V_BOOL Do not change the image ratio. The image will be proportionally stretched.
    texh V_POS Texture high. Optional. Define the higher corner of the texture we want to display. Used with texl to crop the image.
    texl V_POS Texture low. Optional. Define the lower corner of the texture we want to display. Used with texh to crop the image.

    radar

    This node inherite #abstractnode. Check this node for more properties.


    radiobutton

    This node inherite #abstractnode. Check this node for more properties.

    The radiobutton is a clickable widget. Commonly, with use it in a group of radiobuttons; the user is allowed to choose only one button from this set. The current implementation share the value of the group with a cvar, and each button use is own value. When the cvar equals to a button value, this button is selected.

     radiobutton foo {
       cvar "*cvar:mn_serverday"
       value 4
       icon boo
     }


    Properties
    Name Type Description
    cvar V_UI_CVAR Cvar name shared with the radio button group to identify when a radio button is selected.
    value V_FLOAT Value defining the radiobutton. Cvar is updated with this value when the radio button is selected.

    rows

    This node inherite #abstractnode. Check this node for more properties.
    @todo clean up all properties
    Properties
    Name Type Description
    color1 V_COLOR Background color for odd elements
    color2 V_COLOR Background color for even elements
    current V_FLOAT Element number on the top of the list. It is used to scroll the node content.
    lineheight V_FLOAT Element height

    selectbox

    This node inherite #abstractoption. Check this node for more properties.
    @todo manage disabled option
     selectbox texres_box
     {
     	image	"ui/selectbox_green"
     	pos	"774 232"
     	size	"100 20"
     	color	"0.6 0.6 0.6 0.3"
     	cvar	"*cvar:gl_maxtexres"
     	option low_value {
     		label	"_Low"
     		value	"256"
     	}
     	option medium_value {
     		label	"_Medium"
     		value	"512"
     	}
     }


    special

    This node inherite #abstractnode. Check this node for more properties.


    spinner

    This node inherite #abstractvalue. Check this node for more properties.

    The spinner node is a vertical widget used to change a value.

    Properties
    Name Type Description
    image (override #abstractnode) ...
    Spinner blue.png
    Texture used for the widget. Its a 64x64 template image with all four status. The top button take the first vertical 9 pixels, the bottom button use the last 10 pixels. See the sample image.
    size (override #abstractnode) ... The size of the widget is uneditable. Fixed to 15x19.

    string

    This node inherite #abstractnode. Check this node for more properties.

    A string can be a normal string, or a cvar string. A string prefixed with a "_" is the auto translated.

     string team_members
     {
     	string	"_Team Members:"
     	pos	"480 486"
     	size "200 30"
     }
     string team_hired
     {
     	string	"*cvar mn_hired"
     	pos	"480 508"
     	size "200 30"
     }


    Properties
    Name Type Description
    longlines V_LONGLINES Define how to display a long line. Chop/wrap/ellipsis

    tab

    This node inherite #abstractoption. Check this node for more properties.
    @todo auto tooltip for chopped options

    tbar

    This node inherite #abstractvalue. Check this node for more properties.


    Properties
    Name Type Description
    texh V_POS
    @todo Need documentation
    texl V_POS
    @todo Need documentation

    text

    This node inherite #abstractscrollable. Check this node for more properties.
    @todo add getter/setter to cleanup access to extradata from cl_*.c files (check "u.text.")
    Properties
    Name Type Description
    dataid V_UI_DATAID One of the list TEXT_STANDARD, TEXT_LIST, TEXT_UFOPEDIA, TEXT_BUILDINGS, TEXT_BUILDING_INFO, TEXT_RESEARCH, TEXT_RESEARCH_INFO, TEXT_POPUP, TEXT_POPUP_INFO, TEXT_AIRCRAFT_LIST, TEXT_AIRCRAFT, TEXT_AIRCRAFT_INFO, TEXT_MESSAGESYSTEM, TEXT_CAMPAIGN_LIST, TEXT_MULTISELECTION. There are more IDs in use - see mn_data.h for and up-to-date list. Display a shared content registered by the client code.
    lineheight V_INT Size between two lines. Default value is 0, in this case it use a line height according to the font size.
    lines V_INT Number of lines contained into the node. Currently, it translate the scrollable property fullSize
    @todo For a smooth scroll we should split that
    lineselected V_INT Current selected line
    longlines V_LONGLINES What to do with text lines longer than node width. Default is to wordwrap them to make multiple lines.
    mousefx V_BOOL Highlight each node elements when the mouse move over the node.
    @todo delete it went its possible (need to create a textlist...)
    rows V_INT Number of visible line we can display into the node height. Currently, it translate the scrollable property viewSize
    @todo For a smooth scroll we should split that
    tabwidth V_INT Bigger size of the width replacing a tab character.

    textentry

    This node inherite #abstractnode. Check this node for more properties.

    This node allow to edit a cvar text with the keyboard. When we click on the node, we active the edition, we can validate it with the RETURN key, or abort it with ESCAPE key. A validation fire a scriptable callback event. We can custom the mouse behaviour when we click outside the node in edition mode. It can validate or abort the edition.

    @todo allow to edit text without any cvar
    @todo add a custom max size
    Properties
    Name Type Description
    clickoutabort V_BOOL ustom the mouse event behaviour. When we are editing the text, if we click out of the node, the edition is aborted. Changes on the text are canceled, and no change event are fired.
    image (override #abstractnode) ...
    Button blue.png
    Texture used by the button. It's a normalized texture of 128x128. Normal button start at 0x0, mouse over start at 64x0, mouse click start at 0x64 (but not yet implemented), and disabled start at 64x64. See the image to have a usable template for this node.
    ispassword V_BOOL Custom the draw behaviour by hiding each character of the text with a star (*).
    onchange (override #abstractnode) ... Call back event (like click...) fired when the text is changed, after validation. An abort of the edition dont fire this event.
    onclick (override #abstractnode) ... Call back event called when we click on the node. If the click select the node, it called before we start the cvar edition.
    Callback event
    Name Type Description
    onabort V_UI_ACTION Call it when we abort the edition
    Methods
    Name Type Description
    edit V_UI_NODEMETHOD Call it to force node edition

    textlist

    This node inherite #text. Check this node for more properties.


    todo

    This node inherite #string. Check this node for more properties.

    A node allowing to tag a GUI with comment (only visible on debug mode).

    vscrollbar

    This node inherite #abstractscrollbar. Check this node for more properties.
    @todo implement disabled
    @todo robustness

    window

    This node inherite #abstractnode. Check this node for more properties.
    @note this file is about menu function. Its not yet a real node, but it may become one. Think the code like that will help to merge menu and node.
    @note It used 'window' instead of 'menu', because a menu is not this king of widget
    @todo move it as an inheritance of panel bahaviour
    Properties
    Name Type Description
    closebutton V_BOOL Add a button on the top right the window to close it. Updating this attribute at the runtime will change nothing.
    dragbutton V_BOOL Create subnode allowing to move the window when we click on the header. Updating this attribute at the runtime will change nothing.
    dropdown V_BOOL If true, if the user click outside the window, it will close it.
    fill V_BOOL If true, the window is filled according to the widescreen.
    image (override #abstractnode) ...
    Popup alpha tile.png
    Texture to use. The texture is a cut of 9 portions (left, middle, right ᅵ top, middle, bottom). Between all this elements, we use a margin of 3 pixels (purple mark into the sample). Graphically we see only a 1 pixel margin, because, for a problem of lossy compression of texture it's not nice to have a pure transparent pixel near the last colored one, when we cut or stretch textures.
    modal V_BOOL If true, the user can't select something outside the modal window. He must first close the window.
    noticepos V_POS In windows where notify messages appear (like e.g. the video options window when you have to restart the game until the settings take effects) you can define the position of those messages with this option.
    preventtypingescape V_BOOL If true, the user can't use ESC key to close the window.
    starlayout V_BOOL If true, when the window size change, the window content position is updated according to the "star" layout.
    @todo Need more documentation.
    timeout V_INT This property control milliseconds between each calls of onEvent. If value is 0 (the default value) nothing is called. We can change the value at the runtime.
    Callback event
    Name Type Description
    onclose V_UI_ACTION Called when the window is removed from the active window stack.
    onevent V_UI_ACTION Called periodically. See timeout.
    oninit V_UI_ACTION Called when the window is puched into the active window stack.

    zone

    This node inherite #abstractnode. Check this node for more properties.

    The zone node allow to create an hidden active node. Currently we only use it to support repeat mouse actions without merging the code which managing this feature. The very special zone called "render" is used to identify a rendering rectangle for cinematics and map (battlescape). This part of the code should be removed.

    @todo Find a way to remove the zone called "render". Create a node for the cinematics and for the battlescape?
    Properties
    Name Type Description
    clickdelay V_INT Delay it is used between 2 calls of onclick.
    repeat V_BOOL If true, the onclick call back is called more than one time if the user do not release the button.