WoW:XML attributes: Difference between revisions
mNo edit summary |
m (This revision and previous are available under: CC BY-SA 3.0. See list of authors in previous history below.) |
||
Line 1: | Line 1: | ||
{{uixmlattr}} | |||
WoW [[XML attributes]] that can be applied to the major [[XML elements]]. This describes common [[XML]] attributes for WoW XML Ui elements, and should '''not''' be confused with the actual WoW [[XML types|XML type]] of [[XML/Attribute|Attribute]] or [[XML/Attributes|Attributes]] . | |||
== Summary == | |||
For XML, '''attributes''' are 'inline properties' of an 'element' which can only have one value, like so: <element attribute="value"/>, but could also be written as an element like so: <element><attribute>value</attribute></element>. Consequently, attributes can '''not''' contain 'child elements' like complex properties do: <element><element attribute="value"/></element>. An element's is defined by both the attributes, and by the 'child elements' of that element which both can be called 'properties'. | |||
== Reference == | |||
The intent for this reference is document in one place the common attributes that make up the definitions of a major XML Ui elements, like 'virtual' or 'name'. This page is broken down into one major section for the attributes that share common definitions among major [[XML elements]]. | |||
''Key for attribute 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 | |||
=== alpha === | |||
(float) - Elements can be transparent and this property used to define it. | |||
:*0 - full transparent | |||
:*1 - solid (default) | |||
=== alphaMode === | |||
([[XML/ALPHAMODE|ALPHAMODE]]) - Defines a way transparency applied: | |||
:*DISABLE - no transparency. | |||
:*BLEND - while background fades element gets stronger (default) | |||
:*ADD - background and element colors added resulting in too bright colors | |||
:*APLHAKEY - transparency depends on alpha channel of textures | |||
:*MOD - Not tested | |||
=== autoFocus === | |||
(bool) - Automatically place the cursor bar inside a text box and receive all of the keyboard's attention. Default is 'true'. | |||
=== blinkSpeed === | |||
(float) - Default is '0.5'. | |||
=== bytes === | |||
(int) - | |||
=== checked === | |||
(bool) - If set to true - CheckButton is checked when loaded. Default is false | |||
=== clampedToScreen === | |||
(bool) - Prohibits element to go out of screen. Way applied unknown, probably just moved. | |||
=== countInvisibleLetters === | |||
(bool) - | |||
=== defaultvalue === | |||
=== displayduration === | |||
=== drawlayer === | |||
=== enableKeyboard === | |||
(bool) - Tell the frame to receive keyboard input. | |||
=== enableMouse === | |||
(bool) - Tell the frame to receive mouse input. | |||
=== [[EdgeFile|edgeFile]] === | |||
(string) - refers to a texture used by element as the edge of a background, path is relative to scheme path: if addon is in "MyAddon" folder file specified "myfile.lua" will be searched in this folder (i guess only, needs testing). "\\Interface\\Wherever" seems to be the same as "Interface\\Wherever" ("C:\\<nowiki>{{WoW}}</nowiki>\\Interface\\Whereever"). | |||
=== file === | |||
(string) - refers to a file used by element, path is relative to scheme path: if addon is in "MyAddon" folder file specified "myfile.lua" will be searched in this folder (i guess only, needs testing). "\\Interface\\Wherever" seems to be the same as "Interface\\Wherever" ("C:\\<nowiki>{{WoW}}</nowiki>\\Interface\\Whereever"). | |||
=== font === | |||
(string) - | |||
=== frameStrata === | |||
=== height === | |||
(int) - height in normalized units, relative to 1024x768 screen size. Used for Font and others. | |||
=== hidden === | |||
(bool) - If true element is skipped in drawing rseulting it not appearing on screen (interactions also skipped). Default false. | |||
=== historyLines === | |||
(int) - | |||
=== id === | |||
(int) - Number of element. Used for same looking element to make difference between them (much easier than by names) | |||
=== ignoreArrows === | |||
(bool) - Text fields will ignore directional arrows and move the character instead. (Holding <Alt> temporarily sets this to true). Default false. | |||
=== inherit === | |||
([[XML types#SCRIPTINHERITTYPE|SCRIPTINHERITTYPE]]) - chooses the order that inherited scripts will be run, if any, relative to this script. Used by [[XML/Script]] handlers. | |||
=== inherits === | |||
(string) - the name of template to use as a base type for this element. Inherited elements, called templates, are normally marked with 'virtual="true"'. Some element types can inherit other types, such as FontString inheriting from Font. Generally matching properties of the inherited type are used as though they are properties of the inheriting element. The names are not case sensitive, such that inherits="BobBB" will still inherit from an element named name="BobBb" virtual="true". | |||
The 'inherits' attribute supports multiple-inheritance, where more than one element can be used as a base. Names are separated by with commas, and names farther to the right take precedence over the preceding ones, like '<Button inherits="OneTemplate,TwoTemplate">'. Properties will be used first from "OneTemplate" and then 'TwoTemplate', but if 'TwoTemplate' has a matching property with 'OneTemplate', then 'TwoTemplate' will override 'OneTemplate'. Some types have special rules for exactly how properties and child elements get inherited. | |||
=== insertmode === | |||
Tells a MessageFrame where to put new content. Accepts "TOP" or "BOTTOM". Default "TOP" | |||
=== justifyH === | |||
Align text "LEFT", "RIGHT", or "CENTER". | |||
=== justifyV === | |||
Align text "TOP", "BOTTOM", or "MIDDLE". | |||
=== letters === | |||
Defines the maximum characters to allow in a text box. | |||
=== multiLine === | |||
(bool) - Tells a text box to span multiple lines (<Enter> inserts a line break). | |||
=== maxLines === | |||
Defines the maximum number of lines to allow in a text box. | |||
=== maxvalue === | |||
(float) - Defines the highest numeric value a widget will accept. | |||
=== minimaparrowmodel === | |||
=== minimapplayermodel === | |||
=== minvalue === | |||
(float) - Defines the lowest numeric value a widget will accept. | |||
=== monochrome === | |||
=== movable === | |||
(bool) - (De)Activates the methods, :StartMoving() and :StopMovingOrSizing(). Default false. | |||
=== name === | |||
(string) - This string represents name of an element for scripting. Frames defined via XML must be named if they are to be accessed by scripts, but for showing up in interface unnamed are ok. Names are case sensitive - means "MyElement" not same as "myelement". See: [[XML/LayoutFrame|LayoutFrame]] | |||
=== nonspacewrap === | |||
Don't wrap text when it gets to the end of the parent frame. | |||
=== numeric === | |||
Tells the text box to accept only numeric values. | |||
=== orientation === | |||
=== outline === | |||
=== parentArray === | |||
Array name in the parent frame to add this LayoutFrame. in [[XML/LayoutFrame|LayoutFrame]]. | |||
=== [[XML/parentKey|parentKey]] === | |||
Name of Lua object reference to set in the parent, to this elements Lua object at runtime. in [[XML/LayoutFrame|LayoutFrame]], [[XML/AnimationGroup|AnimationGroup]], [[XML/Animation|Animation]]. | |||
=== password === | |||
(bool) - Determines if text should be viewed using hidden 'password' format. | |||
=== parent === | |||
(Element) - You can define another parent for an element. To make button around minimap you can move it inside minimap frame that way. I'm not sure do element really removed from this one, or it just defines drawing order. If skipped then parent is container of element | |||
=== protected === | |||
(bool) - Can be defined only in blizzard interface files (At least no one checked yet). If set to true some special api functions can be used. Any element inherited from protected ones can use this functions too. Protected functions/actions cannot be circumvented with this attribute. | |||
=== registerForClicks === | |||
(string) - registers a button to receive click events through the OnClick event handler, set using a comma separated list of click event types, like 'RightButtonUp'. Example: 'registerForClicks="LeftButtonUp,RightButtonUp"'. Default is 'LeftButtonUp' only. Implemented on [[XML/Button|Button]]. See also [[API Button RegisterForClicks|RegisterForClicks]] for Lua UI Object version. | |||
=== relativeKey === | |||
Name of an 'parentKey' or other object reference to make this element relative to. in [[XML/Anchor|Anchor]] | |||
=== relativeTo === | |||
Name of an element to make this element relative to. in [[XML/Anchor|Anchor]] | |||
=== resizable === | |||
(bool) - If true element can be resized. Default false | |||
=== reverse === | |||
Reverses the sorting order of the elements. | |||
=== scale === | |||
(float) - Sets the scale. Default is the parent's scale. Accepts values greater than and not equal to 0. | |||
=== [[XML/LayoutFrame#Attributes|setAllPoints]] (bool) === | |||
<[[XML/Frame|Frame]] name="MyFrameTemplate" hidden="true" virtual="true"/> | |||
<[https://wowwiki.fandom.com/wiki/XML/Frame Frame] name="MyFrame" inherts="MyFrameTemplate"> | |||
<[https://wowwiki.fandom.com/wiki/XML/Dimension Size] x="400" y="400"/> | |||
<Layers> | |||
<Layer> | |||
<FontString parentKey="Name" inherits="MyFont" text="Bob"/> | |||
</Layer> | |||
</Layers> | |||
<[https://wowwiki.fandom.com/wiki/XML/Frames Frames]> | |||
<[https://wowwiki.fandom.com/wiki/XML/Frame Frame] name="$parentChild"> | |||
<[https://wowwiki.fandom.com/wiki/XML/Dimension Size] x="200" y="100"/> | |||
<[https://wowwiki.fandom.com/wiki/XML/Anchors Anchors]> | |||
<[https://wowwiki.fandom.com/wiki/XML/Anchor Anchor] relativeKey="$parent.Name" point="TOP" relativePoint="BOTTOM"> | |||
<[https://wowwiki.fandom.com/wiki/XML/Dimension Offset]> | |||
<[https://wowwiki.fandom.com/wiki/XML/AbsDimension AbsDimension] x="0" y="-22" /> | |||
</Offset> | |||
</Anchor> | |||
</Anchors> | |||
</frame> | |||
</Frames> | |||
</Frame> | |||
=== target === | |||
Name of an element to use as this elements target. in [[XML/Animation|Animation]]. | |||
=== targetKey === | |||
Name of a parentKey object refernce to use as this elements target. in [[XML/Animation|Animation]]. | |||
=== text === | |||
(string) - Used to define text to show on buttons, FontStrings etc. | |||
=== toplevel === | |||
=== valuestep === | |||
(float) - Tells a slider how far to jump per click. | |||
=== virtual === | |||
(bool) - If true element will not created, but used as template for other elements. Default false | |||
== See also == | |||
* [[XML elements]] | |||
* [[XML properties]] | |||
* [[XML types]] | |||
[[Category:XML_properties| ]] | |||
[[Category:XML attributes| ]] | |||
[[Category:Interface customization]] |
Revision as of 14:40, 15 March 2020
← XML UI
WoW XML attributes that can be applied to the major XML elements. This describes common XML attributes for WoW XML Ui elements, and should not be confused with the actual WoW XML type of Attribute or Attributes .
Summary
For XML, attributes are 'inline properties' of an 'element' which can only have one value, like so: <element attribute="value"/>, but could also be written as an element like so: <element><attribute>value</attribute></element>. Consequently, attributes can not contain 'child elements' like complex properties do: <element><element attribute="value"/></element>. An element's is defined by both the attributes, and by the 'child elements' of that element which both can be called 'properties'.
Reference
The intent for this reference is document in one place the common attributes that make up the definitions of a major XML Ui elements, like 'virtual' or 'name'. This page is broken down into one major section for the attributes that share common definitions among major XML elements.
Key for attribute 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
alpha
(float) - Elements can be transparent and this property used to define it.
- 0 - full transparent
- 1 - solid (default)
alphaMode
(ALPHAMODE) - Defines a way transparency applied:
- DISABLE - no transparency.
- BLEND - while background fades element gets stronger (default)
- ADD - background and element colors added resulting in too bright colors
- APLHAKEY - transparency depends on alpha channel of textures
- MOD - Not tested
autoFocus
(bool) - Automatically place the cursor bar inside a text box and receive all of the keyboard's attention. Default is 'true'.
blinkSpeed
(float) - Default is '0.5'.
bytes
(int) -
checked
(bool) - If set to true - CheckButton is checked when loaded. Default is false
clampedToScreen
(bool) - Prohibits element to go out of screen. Way applied unknown, probably just moved.
countInvisibleLetters
(bool) -
defaultvalue
displayduration
drawlayer
enableKeyboard
(bool) - Tell the frame to receive keyboard input.
enableMouse
(bool) - Tell the frame to receive mouse input.
edgeFile
(string) - refers to a texture used by element as the edge of a background, path is relative to scheme path: if addon is in "MyAddon" folder file specified "myfile.lua" will be searched in this folder (i guess only, needs testing). "\\Interface\\Wherever" seems to be the same as "Interface\\Wherever" ("C:\\{{WoW}}\\Interface\\Whereever").
file
(string) - refers to a file used by element, path is relative to scheme path: if addon is in "MyAddon" folder file specified "myfile.lua" will be searched in this folder (i guess only, needs testing). "\\Interface\\Wherever" seems to be the same as "Interface\\Wherever" ("C:\\{{WoW}}\\Interface\\Whereever").
font
(string) -
frameStrata
height
(int) - height in normalized units, relative to 1024x768 screen size. Used for Font and others.
(bool) - If true element is skipped in drawing rseulting it not appearing on screen (interactions also skipped). Default false.
historyLines
(int) -
id
(int) - Number of element. Used for same looking element to make difference between them (much easier than by names)
ignoreArrows
(bool) - Text fields will ignore directional arrows and move the character instead. (Holding <Alt> temporarily sets this to true). Default false.
inherit
(SCRIPTINHERITTYPE) - chooses the order that inherited scripts will be run, if any, relative to this script. Used by XML/Script handlers.
inherits
(string) - the name of template to use as a base type for this element. Inherited elements, called templates, are normally marked with 'virtual="true"'. Some element types can inherit other types, such as FontString inheriting from Font. Generally matching properties of the inherited type are used as though they are properties of the inheriting element. The names are not case sensitive, such that inherits="BobBB" will still inherit from an element named name="BobBb" virtual="true".
The 'inherits' attribute supports multiple-inheritance, where more than one element can be used as a base. Names are separated by with commas, and names farther to the right take precedence over the preceding ones, like '<Button inherits="OneTemplate,TwoTemplate">'. Properties will be used first from "OneTemplate" and then 'TwoTemplate', but if 'TwoTemplate' has a matching property with 'OneTemplate', then 'TwoTemplate' will override 'OneTemplate'. Some types have special rules for exactly how properties and child elements get inherited.
insertmode
Tells a MessageFrame where to put new content. Accepts "TOP" or "BOTTOM". Default "TOP"
justifyH
Align text "LEFT", "RIGHT", or "CENTER".
justifyV
Align text "TOP", "BOTTOM", or "MIDDLE".
letters
Defines the maximum characters to allow in a text box.
multiLine
(bool) - Tells a text box to span multiple lines (<Enter> inserts a line break).
maxLines
Defines the maximum number of lines to allow in a text box.
maxvalue
(float) - Defines the highest numeric value a widget will accept.
minimaparrowmodel
minimapplayermodel
minvalue
(float) - Defines the lowest numeric value a widget will accept.
monochrome
movable
(bool) - (De)Activates the methods, :StartMoving() and :StopMovingOrSizing(). Default false.
name
(string) - This string represents name of an element for scripting. Frames defined via XML must be named if they are to be accessed by scripts, but for showing up in interface unnamed are ok. Names are case sensitive - means "MyElement" not same as "myelement". See: LayoutFrame
nonspacewrap
Don't wrap text when it gets to the end of the parent frame.
numeric
Tells the text box to accept only numeric values.
orientation
outline
parentArray
Array name in the parent frame to add this LayoutFrame. in LayoutFrame.
parentKey
Name of Lua object reference to set in the parent, to this elements Lua object at runtime. in LayoutFrame, AnimationGroup, Animation.
password
(bool) - Determines if text should be viewed using hidden 'password' format.
parent
(Element) - You can define another parent for an element. To make button around minimap you can move it inside minimap frame that way. I'm not sure do element really removed from this one, or it just defines drawing order. If skipped then parent is container of element
protected
(bool) - Can be defined only in blizzard interface files (At least no one checked yet). If set to true some special api functions can be used. Any element inherited from protected ones can use this functions too. Protected functions/actions cannot be circumvented with this attribute.
registerForClicks
(string) - registers a button to receive click events through the OnClick event handler, set using a comma separated list of click event types, like 'RightButtonUp'. Example: 'registerForClicks="LeftButtonUp,RightButtonUp"'. Default is 'LeftButtonUp' only. Implemented on Button. See also RegisterForClicks for Lua UI Object version.
relativeKey
Name of an 'parentKey' or other object reference to make this element relative to. in Anchor
relativeTo
Name of an element to make this element relative to. in Anchor
resizable
(bool) - If true element can be resized. Default false
reverse
Reverses the sorting order of the elements.
scale
(float) - Sets the scale. Default is the parent's scale. Accepts values greater than and not equal to 0.
setAllPoints (bool)
<Frame name="MyFrameTemplate" hidden="true" virtual="true"/> <Frame name="MyFrame" inherts="MyFrameTemplate"> <Size x="400" y="400"/> <Layers> <Layer> <FontString parentKey="Name" inherits="MyFont" text="Bob"/> </Layer> </Layers> <Frames> <Frame name="$parentChild"> <Size x="200" y="100"/> <Anchors> <Anchor relativeKey="$parent.Name" point="TOP" relativePoint="BOTTOM"> <Offset> <AbsDimension x="0" y="-22" /> </Offset> </Anchor> </Anchors> </frame> </Frames> </Frame>
target
Name of an element to use as this elements target. in Animation.
targetKey
Name of a parentKey object refernce to use as this elements target. in Animation.
text
(string) - Used to define text to show on buttons, FontStrings etc.
toplevel
valuestep
(float) - Tells a slider how far to jump per click.
virtual
(bool) - If true element will not created, but used as template for other elements. Default false