In XML, 'attributes' are the "inline" properties of an 'element', like <element attribute="value"/>. Each 'element' may also contain its own child elements, like <element><element attribute="value"/><element attribute="value"/></element>. An element is defined by both its attributes, and by any 'child elements' it may have. The intent for this reference is to document all of the actual complex properties, like <Size> or <Anchor>, for major elements that are not regular attributes. These along with attributes, make up the definition of a major XML Ui elements like widgets.
Properties are usually defined in a standard order in a major element, like <Size> before <Anchors>. Major Ui elements are almost never placed directly inside another major Ui element, but inside list properties like <Frames>. Each major element only uses a subset of the properties below, like <Font> does not use <Scripts>.
Below lists in alphabetical order the common complex property definitions, as used by the major Ui XML elements.
Key for attributes types (see XML types):
- string - String, just some text
- int - Integer, number (0,1,2,3,4,5...)
- float - Single, number with point (0.3 or 1.65 etc)
- bool - Boolean, one of '0', '1', 'true', 'false' to indicate enable or disable, or on or off, etc...
- enum - List, an enumeration, or one of a set of predefined values
- [Element] - Element Type, name of element
A list of Anchors that defines position of element relative to its parent position.
A list of AnimationGroups that define arbitrary animations for a target element.
Elements of the Attributes property that add internal flags to UI objects, often used to denote secure frames.
- name (string) - Lua name for the member
- type (ATTRIBUTETYPE) - the Lua type for the member. Default is 'string'.
- value - value to set for the member
A list of Attributes that define internal options for elements, often used for secure frames.
Provides a background for a frame.
Generally represents a font text, foreground, or fill color
Define the texture to use when a check button is checked.
Define the font to use when a button is disabled.
Define the texture to use when a button is disabled.
Contains the set of child frames of a Frame type. If you want button inside a frame you need put it inside this tag of frame.
(Gradient) - defines gradation of color blended with Color or texture File. currenly is only a property of Texture.
(Inset) - Alters the user input hit box for a frame.
Contained by the KeyValues property, and set Lua values at run time.
- key - Lua key, usually a name, for the member
- value - value to set for the member
- keyType (KEYVALUETYPE) - the Lua type for the member key. Default is 'string'.
- type (KEYVALUETYPE) - the Lua type for the member value. Default is 'string'.
- KeyValue ...
Placed inside the Layers property, and contains a list of <FontString> and <Texture> elements, which define what will actually be drawn on screen. Only <FontString> and <Texture> elements are allowed inside Layer element.
Contains a Layer list. Layers and Layer define what will actually be drawn on screen. Only 'Layer' elements can be inside this tag, each have 'level' property to define the order they will be drawn. Only <FontString> and <Texture> elements are allowed inside Layer element.
Text moves when clicked (and held), this defines how far it moves. Text moves back to its previous location when the mouse button is released.
Change the texture to this when clicked (and held). The texture changes back to its texture when the mouse button is released.
Defines how big or small this frame can possibly be.
- minResize (Dimension) - lower bounds of a frames size
- maxResize (Dimension) - upper bounds of a frames size
This element accepts specific script handler elements of a Script type. See Category:Widget event handlers for more detail on individual handler semantics, and Widget handlers for which element types use handlers. Script types:
(Shadow) - Puts a shadow behind an element.
(Dimension) - Defines a size of an element. Normally this is done by putting "AbsDimension" tag inside with "x" and "y" attributes, but sometimes this is done by just giving "x" and "y" attributes to "Size" tag itself. Last one is probably old way of defining and left for a backward compatibility.
Determines how much of the specified texture is to be shown.
(LayoutFrame) - Adds a region used for automatically dragging a frame.