Tile Systems (MenuQue)

Revision as of 10:09, 29 June 2011 by imported>Kyoma (Rewrite)

A TileSystem is an automated process that will do the same as certain hardcoded behaviour for the UI. Things like using the mouse wheel to scroll, dragging an element back and forth or a small yet effective textedit box.


General

In order for modders to easily mark an element as a TileSystem they need to use a specific string-constant for the <id> trait of the element in question. Then, whenever the game processes that particular XML the code will pick up on the desired tile system, create the needed background stuff and attach it to the element.

Only one system can be associated with a single element but there are no limits to the total amount. Atleast, not practical ones.


Types

There are a number of different types of TileSystems, each one dealing with a different aspect of user-to-UI interaction. Some have required traits for specific input data and some have optional traits for additional configuration.

A short list (more details on each induvidual system can be found below:

  • Scroll System - This system responds to the mouse wheel movement and will increment or decrement a specific trait accordingly.
    • ID is: &Scroll;
    • (required) <user5> - the trait that gets altered by code.
  • Drag System - This system responds to the mouse movement while the left mouse button is held down over the element. There are three different types of movement: horizontal, vertical or both.
    • IDs are: &DragHorizontal; and &DragVertical; and &DragRect; respectively
    • (required) <user8> - controls the step-distance for dragging.
    • (required) <user9> - the trait that gets altered by code.
  • TextEdit System - This system provides a simple field where the user, after clicking the element, can type in.
    • ID is: &TextEdit;
    • (optional) <user0> - controls the initial text upon activating, if desired to be different than what is displayed before it was activated.
    • (optional) <user1> - controls the default text, which is displayed when the textedit ends and the input string is empty. It does not affect the input string, when it is activated again it will be empty again.
  • FocusBox System - This system will adjust the size and position of the designated element to match that of the active element, provided its <focus>, <target> and <visible> traits are true.
    • ID is: &FocusBox;
    • (optional) <user15> - used as a static depth adjustment.


See Also

Oblivion XML