UI XML

From ESOUI Wiki

(Difference between revisions)
Jump to: navigation, search
(Examples of UI Definition)
(Accessing XML controls)
 
(16 intermediate revisions not shown)
Line 1: Line 1:
-
''Page up-to-date to API Version [[APIVersion#100021|100021]]''
+
''Page up-to-date to API Version [[APIVersion#100028|100028]]''
----
----
-
 
-
 
-
 
Line 16: Line 13:
* ''Elements'' without ''name'' attribute can be manipulated with the '''[[Controls|Methods]]''' of the ''Owning Element'' (the one which have a ''name'' attribute).
* ''Elements'' without ''name'' attribute can be manipulated with the '''[[Controls|Methods]]''' of the ''Owning Element'' (the one which have a ''name'' attribute).
* You can add comments like in any XML file
* You can add comments like in any XML file
 +
 +
==Accessing XML controls==
 +
 +
There are a few different ways how you can access controls.<br>
 +
First you have to understand that every named control is automatically assigned to a global variable.<br>
 +
For example when there exists a structure with names like "MyAddonWindow" -> "$(parent)Container" -> "$(parent)Control" you will end up with three globals "MyAddonWindow", "MyAddonWindowContainer" and "MyAddonWindowContainerControl<br>
 +
That's also a common pitfall for new authors who name their addon's "namespace" table the same as their top-level xml control, not knowing that the control will be assigned to the global variable.<br>
 +
<br>
 +
Each control also has an "OnInitialized" callback which passes the object to a Lua function.<br>
 +
You can use the function GetControl(parent, "ChildName") to access elements under it, or directly call parent:GetNamedChild("ChildName") which is used underneath.<br>
 +
Instead of passing an object you can also just pass the name to GetControl and it will fetch the global variable for you.<br>
 +
<br>
 +
From XML you are a bit more limited, but you can use the same expansions used for naming the controls to access them relative to each other.<br>
 +
In addition to "$(parent)" there is also "$(grandparent)" (see [[#Magic_Values|Magic values]]) and in theory you should be able to create a custom constant with the <string> control and use that too.<br>
==Structure==
==Structure==
Line 164: Line 175:
* '''number''' '''[[Globals#TextureAddressMode|TextureAddressMode]]''' ''addressMode''
* '''number''' '''[[Globals#TextureAddressMode|TextureAddressMode]]''' ''addressMode''
* '''boolean''' ''allowBringToTop''
* '''boolean''' ''allowBringToTop''
 +
* '''number''' '''[[Globals#AllowMarkupType|AllowMarkupType]]''' ''allowMarkupType''
* '''number''' ''alpha''
* '''number''' ''alpha''
* '''number''' ''anchorIndex''
* '''number''' ''anchorIndex''
 +
* '''boolean''' ''applyAlpha''
 +
* '''string''' ''applyToChildControlName''
* '''boolean''' ''autoAdjustTextureCoords''
* '''boolean''' ''autoAdjustTextureCoords''
* '''number''' '''[[Globals#BarAlignment|BarAlignment]]''' ''barAlignment''
* '''number''' '''[[Globals#BarAlignment|BarAlignment]]''' ''barAlignment''
Line 193: Line 207:
* '''boolean''' ''editEnabled''
* '''boolean''' ''editEnabled''
* '''boolean''' ''enableFadeOut''
* '''boolean''' ''enableFadeOut''
 +
* '''boolean''' ''enabled''
* '''number''' ''endAlpha''
* '''number''' ''endAlpha''
* '''number''' ''endCapWidth''
* '''number''' ''endCapWidth''
Line 232: Line 247:
* '''number''' ''maxInputCharacters''
* '''number''' ''maxInputCharacters''
* '''number''' ''maxLineCount''
* '''number''' ''maxLineCount''
 +
* '''number''' ''minDuration''
 +
* '''number''' ''minLineCount''
* '''boolean''' ''mirrorAlongX''
* '''boolean''' ''mirrorAlongX''
* '''boolean''' ''mirrorAlongY''
* '''boolean''' ''mirrorAlongY''
Line 259: Line 276:
* '''number''' ''scale''
* '''number''' ''scale''
* '''string''' ''selectionColor''
* '''string''' ''selectionColor''
 +
* '''number''' '''[[Globals#ShaderEffectType|ShaderEffectType]]''' ''shaderEffectType''
* '''number''' '''[[Globals#ShapeType|ShapeType]]''' ''shape''
* '''number''' '''[[Globals#ShapeType|ShapeType]]''' ''shape''
* '''boolean''' ''splitLongMessages''
* '''boolean''' ''splitLongMessages''
Line 285: Line 303:
* '''number''' '''[[Globals#TextAlignment|TextAlignment]]''' ''verticalAlignment''
* '''number''' '''[[Globals#TextAlignment|TextAlignment]]''' ''verticalAlignment''
* '''number''' '''[[Globals#TextWrapMode|TextWrapMode]]''' ''wrapMode''
* '''number''' '''[[Globals#TextWrapMode|TextWrapMode]]''' ''wrapMode''
 +
===AlphaAnimation===
===AlphaAnimation===
Line 290: Line 309:
* [[#Attributes|Child: endAlpha]]
* [[#Attributes|Child: endAlpha]]
* [[#Attributes|Child: startAlpha]]
* [[#Attributes|Child: startAlpha]]
 +
===Anchor===
===Anchor===
Line 298: Line 318:
* ''attribute:'' '''number''' ''offsetY''
* ''attribute:'' '''number''' ''offsetY''
* ''attribute:'' '''[[Globals#AnchorConstrains|AnchorConstrains]]''' ''constrains''
* ''attribute:'' '''[[Globals#AnchorConstrains|AnchorConstrains]]''' ''constrains''
 +
===AnchorFill===
===AnchorFill===
 +
 +
===AnchorToBaseline===
===AnchorToBaseline===
Line 305: Line 328:
* ''attribute:'' '''number''' ''offsetX''
* ''attribute:'' '''number''' ''offsetX''
* ''attribute:'' '''[[Globals#AnchorPosition|AnchorPosition]]''' ''side''
* ''attribute:'' '''[[Globals#AnchorPosition|AnchorPosition]]''' ''side''
 +
===AnimationBase===
===AnimationBase===
Line 311: Line 335:
* [[#OnPlay_Animation|Child: OnPlay_Animation]]
* [[#OnPlay_Animation|Child: OnPlay_Animation]]
* [[#OnStop_Animation|Child: OnStop_Animation]]
* [[#OnStop_Animation|Child: OnStop_Animation]]
 +
* [[#Attributes|Child: applyToChildControlName]]
* [[#Attributes|Child: delay]]
* [[#Attributes|Child: delay]]
* [[#Attributes|Child: duration]]
* [[#Attributes|Child: duration]]
 +
* [[#Attributes|Child: enabled]]
* [[#Attributes|Child: inherits]]
* [[#Attributes|Child: inherits]]
 +
===AnimationTimeline===
===AnimationTimeline===
Line 323: Line 350:
* [[#OnStop|Child: OnStop]]
* [[#OnStop|Child: OnStop]]
* [[#Attributes|Child: delay]]
* [[#Attributes|Child: delay]]
 +
* [[#Attributes|Child: enabled]]
* [[#Attributes|Child: inherits]]
* [[#Attributes|Child: inherits]]
* [[#Attributes|Child: loopCount]]
* [[#Attributes|Child: loopCount]]
 +
* [[#Attributes|Child: minDuration]]
* [[#Attributes|Child: playbackType]]
* [[#Attributes|Child: playbackType]]
 +
===Animations===
===Animations===
Line 339: Line 369:
* [[#Translate3DAnimation|Child: Translate3DAnimation]]
* [[#Translate3DAnimation|Child: Translate3DAnimation]]
* [[#TranslateAnimation|Child: TranslateAnimation]]
* [[#TranslateAnimation|Child: TranslateAnimation]]
 +
===Backdrop===
===Backdrop===
Line 351: Line 382:
* [[#Attributes|Child: pixelRoundingEnabled]]
* [[#Attributes|Child: pixelRoundingEnabled]]
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: textureFileReleaseOption]]
 +
===BackgroundBottom===
===BackgroundBottom===
Line 358: Line 390:
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
 +
===BackgroundMiddle===
===BackgroundMiddle===
Line 365: Line 398:
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
 +
===BackgroundTop===
===BackgroundTop===
Line 372: Line 406:
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
 +
===Browser===
===Browser===
Line 378: Line 413:
* [[#OnLoadStart|Child: OnLoadStart]]
* [[#OnLoadStart|Child: OnLoadStart]]
* [[#OnRequestClose|Child: OnRequestClose]]
* [[#OnRequestClose|Child: OnRequestClose]]
 +
===Button===
===Button===
Line 399: Line 435:
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: verticalAlignment]]
* [[#Attributes|Child: verticalAlignment]]
 +
===ButtonState===
===ButtonState===
* ''attribute:'' '''[[Globals#ButtonState|ButtonState]]''' ''state''
* ''attribute:'' '''[[Globals#ButtonState|ButtonState]]''' ''state''
* ''attribute:'' '''boolean''' ''locked''
* ''attribute:'' '''boolean''' ''locked''
 +
===Callback===
===Callback===
* [[#OnInsertAnimationTimelineCallback|Inherits: OnInsertAnimationTimelineCallback]]
* [[#OnInsertAnimationTimelineCallback|Inherits: OnInsertAnimationTimelineCallback]]
* '''ScriptArguments:''' ''local self, time = ...''
* '''ScriptArguments:''' ''local self, time = ...''
 +
===Callbacks===
===Callbacks===
* [[#Callback|Child: Callback]]
* [[#Callback|Child: Callback]]
 +
===Center===
===Center===
Line 415: Line 455:
* ''attribute:'' '''boolean''' ''tiled''
* ''attribute:'' '''boolean''' ''tiled''
* ''attribute:'' '''number''' ''tileSize''
* ''attribute:'' '''number''' ''tileSize''
 +
===ClampedToScreenInsets===
===ClampedToScreenInsets===
Line 421: Line 462:
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
 +
===ClearAnchors===
===ClearAnchors===
 +
 +
===ColorAnimation===
===ColorAnimation===
* [[#AnimationBase|Inherits: AnimationBase]]
* [[#AnimationBase|Inherits: AnimationBase]]
 +
* [[#Attributes|Child: applyAlpha]]
* [[#Attributes|Child: endColor]]
* [[#Attributes|Child: endColor]]
* [[#Attributes|Child: startColor]]
* [[#Attributes|Child: startColor]]
 +
===ColorSelect===
===ColorSelect===
* [[#Control|Inherits: Control]]
* [[#Control|Inherits: Control]]
* [[#OnColorSelected|Child: OnColorSelected]]
* [[#OnColorSelected|Child: OnColorSelected]]
 +
===Compass===
===Compass===
* [[#Control|Inherits: Control]]
* [[#Control|Inherits: Control]]
* [[#CompassPinType|Child: CompassPinType]]
* [[#CompassPinType|Child: CompassPinType]]
 +
===CompassPinType===
===CompassPinType===
Line 447: Line 495:
* ''attribute:'' '''boolean''' ''clamped''
* ''attribute:'' '''boolean''' ''clamped''
* ''attribute:'' '''boolean''' ''allowUpdatesWhenAnimating''
* ''attribute:'' '''boolean''' ''allowUpdatesWhenAnimating''
-
* ''attribute:'' '''number''' ''minScale''
+
* ''attribute:'' '''number''' ''maxDistanceM''
-
* ''attribute:'' '''number''' ''maxScale''
+
* ''attribute:'' '''number''' ''closeScale''
-
* ''attribute:'' '''number''' ''minVisibleScale''
+
* ''attribute:'' '''number''' ''farScale''
-
* ''attribute:'' '''number''' ''minAlpha''
+
* ''attribute:'' '''number''' ''closeScaleDistanceM''
-
* ''attribute:'' '''number''' ''maxAlpha''
+
* ''attribute:'' '''number''' ''farScaleDistanceM''
-
* ''attribute:'' '''number''' ''minVisibleAlpha''
+
* ''attribute:'' '''number''' ''closeAlpha''
-
* ''attribute:'' '''number''' ''maxVisibleNormalizedDistance''
+
* ''attribute:'' '''number''' ''farAlpha''
-
* ''attribute:'' '''number''' ''leadingScaleCoefficient''
+
* ''attribute:'' '''number''' ''closeAlphaDistanceM''
-
* ''attribute:'' '''number''' ''scaleCoefficient''
+
* ''attribute:'' '''number''' ''farAlphaDistanceM''
-
* ''attribute:'' '''number''' ''scaleConstant''
+
-
* ''attribute:'' '''number''' ''leadingAlphaCoefficient''
+
-
* ''attribute:'' '''number''' ''alphaCoefficient''
+
-
* ''attribute:'' '''number''' ''alphaConstant''
+
* ''attribute:'' '''string''' ''animation''
* ''attribute:'' '''string''' ''animation''
* ''attribute:'' '''string''' ''addedAnimation''
* ''attribute:'' '''string''' ''addedAnimation''
Line 465: Line 509:
* ''attribute:'' '''[[Globals#DrawLayer|DrawLayer]]''' ''layer''
* ''attribute:'' '''[[Globals#DrawLayer|DrawLayer]]''' ''layer''
* ''attribute:'' '''number''' ''drawLevelOffsetBase''
* ''attribute:'' '''number''' ''drawLevelOffsetBase''
 +
===Control===
===Control===
Line 496: Line 541:
* [[#OnMoveStop|Child: OnMoveStop]]
* [[#OnMoveStop|Child: OnMoveStop]]
* [[#OnReceiveDrag|Child: OnReceiveDrag]]
* [[#OnReceiveDrag|Child: OnReceiveDrag]]
 +
* [[#OnRectChanged|Child: OnRectChanged]]
 +
* [[#OnRectHeightChanged|Child: OnRectHeightChanged]]
 +
* [[#OnRectWidthChanged|Child: OnRectWidthChanged]]
* [[#OnResizeStart|Child: OnResizeStart]]
* [[#OnResizeStart|Child: OnResizeStart]]
* [[#OnResizeStop|Child: OnResizeStop]]
* [[#OnResizeStop|Child: OnResizeStop]]
Line 519: Line 567:
* [[#Attributes|Child: scale]]
* [[#Attributes|Child: scale]]
* [[#Attributes|Child: tier]]
* [[#Attributes|Child: tier]]
 +
===Controls===
===Controls===
Line 541: Line 590:
* [[#Tooltip|Child: Tooltip]]
* [[#Tooltip|Child: Tooltip]]
* [[#TopLevelControl|Child: TopLevelControl]]
* [[#TopLevelControl|Child: TopLevelControl]]
 +
===Cooldown===
===Cooldown===
Line 552: Line 602:
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: textureFileReleaseOption]]
 +
===CustomAnimation===
===CustomAnimation===
* [[#AnimationBase|Inherits: AnimationBase]]
* [[#AnimationBase|Inherits: AnimationBase]]
* [[#UpdateFunction|Child: UpdateFunction]]
* [[#UpdateFunction|Child: UpdateFunction]]
 +
===DebugText===
===DebugText===
* [[#Control|Inherits: Control]]
* [[#Control|Inherits: Control]]
* [[#Attributes|Child: font]]
* [[#Attributes|Child: font]]
 +
===DimensionConstraints===
===DimensionConstraints===
Line 566: Line 619:
* ''attribute:'' '''number''' ''maxX''
* ''attribute:'' '''number''' ''maxX''
* ''attribute:'' '''number''' ''maxY''
* ''attribute:'' '''number''' ''maxY''
 +
===Dimensions===
===Dimensions===
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''y''
* ''attribute:'' '''number''' ''y''
 +
===EasingFunction===
===EasingFunction===
* [[#OnSetAnimationEaseFunction|Inherits: OnSetAnimationEaseFunction]]
* [[#OnSetAnimationEaseFunction|Inherits: OnSetAnimationEaseFunction]]
* ScriptArguments: local progress = ...
* ScriptArguments: local progress = ...
 +
===Edge===
===Edge===
Line 581: Line 637:
* ''attribute:'' '''number''' ''edgeSize''
* ''attribute:'' '''number''' ''edgeSize''
* ''attribute:'' '''number''' ''edgeFilePadding''
* ''attribute:'' '''number''' ''edgeFilePadding''
 +
===EditBox===
===EditBox===
Line 598: Line 655:
* [[#OnTextChanged|Child: OnTextChanged]]
* [[#OnTextChanged|Child: OnTextChanged]]
* [[#OnUpArrow|Child: OnUpArrow]]
* [[#OnUpArrow|Child: OnUpArrow]]
 +
* [[#Attributes|Child: allowMarkupType]]
* [[#Attributes|Child: color]]
* [[#Attributes|Child: color]]
* [[#Attributes|Child: editEnabled]]
* [[#Attributes|Child: editEnabled]]
Line 606: Line 664:
* [[#Attributes|Child: selectionColor]]
* [[#Attributes|Child: selectionColor]]
* [[#Attributes|Child: textType]]
* [[#Attributes|Child: textType]]
 +
===FadeGradient===
===FadeGradient===
Line 614: Line 673:
* ''attribute:'' '''number''' ''y2''
* ''attribute:'' '''number''' ''y2''
* ''attribute:'' '''number''' ''size2''
* ''attribute:'' '''number''' ''size2''
 +
===Font===
===Font===
Line 621: Line 681:
* [[#Attributes|Child: font]]
* [[#Attributes|Child: font]]
* [[#Attributes|Child: inherits]]
* [[#Attributes|Child: inherits]]
 +
===FontColors===
===FontColors===
Line 628: Line 689:
* [[#Attributes|Child: normalColor]]
* [[#Attributes|Child: normalColor]]
* [[#Attributes|Child: pressedColor]]
* [[#Attributes|Child: pressedColor]]
 +
===GuiXml===
===GuiXml===
Line 634: Line 696:
* [[#Font|Child: Font]]
* [[#Font|Child: Font]]
* [[#String|Child: String]]
* [[#String|Child: String]]
 +
===HitInsets===
===HitInsets===
Line 640: Line 703:
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
 +
===Insets===
===Insets===
Line 646: Line 710:
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
 +
===Label===
===Label===
Line 660: Line 725:
* [[#Attributes|Child: linkEnabled]]
* [[#Attributes|Child: linkEnabled]]
* [[#Attributes|Child: maxLineCount]]
* [[#Attributes|Child: maxLineCount]]
 +
* [[#Attributes|Child: minLineCount]]
* [[#Attributes|Child: modifyTextType]]
* [[#Attributes|Child: modifyTextType]]
* [[#Attributes|Child: newLineIndent]]
* [[#Attributes|Child: newLineIndent]]
Line 667: Line 733:
* [[#Attributes|Child: verticalAlignment]]
* [[#Attributes|Child: verticalAlignment]]
* [[#Attributes|Child: wrapMode]]
* [[#Attributes|Child: wrapMode]]
 +
===LeadingEdge===
===LeadingEdge===
Line 672: Line 739:
* ''attribute:'' '''number''' ''width''
* ''attribute:'' '''number''' ''width''
* ''attribute:'' '''number''' ''height''
* ''attribute:'' '''number''' ''height''
 +
===LeadingEdgeTextureCoords===
===LeadingEdgeTextureCoords===
Line 678: Line 746:
* ''attribute:'' '''number''' ''top''
* ''attribute:'' '''number''' ''top''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
 +
===Limits===
===Limits===
* ''attribute:'' '''number''' ''min''
* ''attribute:'' '''number''' ''min''
* ''attribute:'' '''number''' ''max''
* ''attribute:'' '''number''' ''max''
 +
===Line===
===Line===
Line 691: Line 761:
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: thickness]]
* [[#Attributes|Child: thickness]]
 +
===LineFade===
===LineFade===
* ''attribute:'' '''number''' ''fadeBegin''
* ''attribute:'' '''number''' ''fadeBegin''
* ''attribute:'' '''number''' ''fadeDuration''
* ''attribute:'' '''number''' ''fadeDuration''
 +
===LocalDimensions3D===
===LocalDimensions3D===
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''y''
* ''attribute:'' '''number''' ''y''
 +
===MapDisplay===
===MapDisplay===
Line 707: Line 780:
* [[#Attributes|Child: pinFont]]
* [[#Attributes|Child: pinFont]]
* [[#Attributes|Child: shape]]
* [[#Attributes|Child: shape]]
 +
===MapGutter===
===MapGutter===
* ''attribute:'' '''number''' ''offset''
* ''attribute:'' '''number''' ''offset''
* ''attribute:'' '''number''' ''size''
* ''attribute:'' '''number''' ''size''
 +
===MapPinType===
===MapPinType===
Line 729: Line 804:
* ''attribute:'' '''string''' ''removedAnimation''
* ''attribute:'' '''string''' ''removedAnimation''
* ''attribute:'' '''[[Globals#MapPinAnimationTarget|MapPinAnimationTarget]]''' ''animationTarget''
* ''attribute:'' '''[[Globals#MapPinAnimationTarget|MapPinAnimationTarget]]''' ''animationTarget''
 +
===MouseButton===
===MouseButton===
* ''attribute:'' '''number''' ''button''
* ''attribute:'' '''number''' ''button''
* ''attribute:'' '''boolean''' ''enabled''
* ''attribute:'' '''boolean''' ''enabled''
 +
===NormalOffset===
===NormalOffset===
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''y''
* ''attribute:'' '''number''' ''y''
 +
===OnAddGameData===
===OnAddGameData===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnBackspace===
===OnBackspace===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnChar===
===OnChar===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, key = ...''
* '''ScriptArguments:''' ''local self, key = ...''
 +
===OnCleared===
===OnCleared===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnClicked===
===OnClicked===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
-
* '''ScriptArguments:''' ''local self, button = ...''
+
* '''ScriptArguments:''' ''local self, button, ctrl, alt, shift, command = ...''
 +
 
===OnColorSelected===
===OnColorSelected===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, r, g, b = ...''
* '''ScriptArguments:''' ''local self, r, g, b = ...''
 +
===OnDownArrow===
===OnDownArrow===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnDragStart===
===OnDragStart===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, button = ...''
* '''ScriptArguments:''' ''local self, button = ...''
 +
===OnDurationChanged===
===OnDurationChanged===
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* '''ScriptArguments:''' ''local self, duration = ...''
* '''ScriptArguments:''' ''local self, duration = ...''
 +
===OnEffectivelyHidden===
===OnEffectivelyHidden===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, hidden = ...''
* '''ScriptArguments:''' ''local self, hidden = ...''
 +
===OnEffectivelyShown===
===OnEffectivelyShown===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, hidden = ...''
* '''ScriptArguments:''' ''local self, hidden = ...''
 +
===OnEnabledStateChanged===
===OnEnabledStateChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, enabled = ...''
* '''ScriptArguments:''' ''local self, enabled = ...''
 +
===OnEnter===
===OnEnter===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnEscape===
===OnEscape===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnFocusGained===
===OnFocusGained===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnFocusLost===
===OnFocusLost===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnHide===
===OnHide===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, hidden = ...''
* '''ScriptArguments:''' ''local self, hidden = ...''
 +
===OnIMEBeginComposition===
===OnIMEBeginComposition===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnIMEEndComposition===
===OnIMEEndComposition===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnInitialized===
===OnInitialized===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnInsertAnimationTimelineCallback===
===OnInsertAnimationTimelineCallback===
* ''attribute:'' '''number''' ''delay''
* ''attribute:'' '''number''' ''delay''
 +
===OnKeyDown===
===OnKeyDown===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, key, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, key, ctrl, alt, shift, command = ...''
 +
===OnKeyUp===
===OnKeyUp===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, key, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, key, ctrl, alt, shift, command = ...''
 +
===OnLinkClicked===
===OnLinkClicked===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, linkData, linkText, button, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, linkData, linkText, button, ctrl, alt, shift, command = ...''
 +
===OnLinkMouseUp===
===OnLinkMouseUp===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, linkData, linkText, button, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, linkData, linkText, button, ctrl, alt, shift, command = ...''
 +
===OnLoadFinished===
===OnLoadFinished===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnLoadStart===
===OnLoadStart===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnMinMaxValueChanged===
===OnMinMaxValueChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, min, max = ...''
* '''ScriptArguments:''' ''local self, min, max = ...''
 +
===OnMouseDoubleClick===
===OnMouseDoubleClick===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, button, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, button, ctrl, alt, shift, command = ...''
 +
===OnMouseDown===
===OnMouseDown===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, button, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, button, ctrl, alt, shift, command = ...''
 +
===OnMouseEnter===
===OnMouseEnter===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnMouseExit===
===OnMouseExit===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnMouseUp===
===OnMouseUp===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, button, upInside, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, button, upInside, ctrl, alt, shift, command = ...''
 +
===OnMouseWheel===
===OnMouseWheel===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, delta, ctrl, alt, shift, command = ...''
* '''ScriptArguments:''' ''local self, delta, ctrl, alt, shift, command = ...''
 +
===OnMoveStart===
===OnMoveStart===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnMoveStop===
===OnMoveStop===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnPageDown===
===OnPageDown===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnPageUp===
===OnPageUp===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnPlay===
===OnPlay===
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* '''ScriptArguments:''' ''local self, completedPlaying = ...''
* '''ScriptArguments:''' ''local self, completedPlaying = ...''
 +
===OnPlay_Animation===
===OnPlay_Animation===
* [[#OnSetAnimationEventHandler|Inherits: OnSetAnimationEventHandler]]
* [[#OnSetAnimationEventHandler|Inherits: OnSetAnimationEventHandler]]
* '''ScriptArguments:''' ''local self, animatingControl, completedPlaying = ...''
* '''ScriptArguments:''' ''local self, animatingControl, completedPlaying = ...''
 +
===OnReceiveDrag===
===OnReceiveDrag===
Line 901: Line 1,019:
* '''ScriptArguments:''' ''local self, button = ...''
* '''ScriptArguments:''' ''local self, button = ...''
-
<nowiki>If used within the lua source codes this handler needs the OnDragStart handler registered to the SAME control in order to call the callback function in the OnReceiveDrag handler. Otherwise it does not work.</nowiki>
+
 
 +
===OnRectChanged===
 +
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
 +
* '''ScriptArguments:''' ''local self, newLeft, newTop, newRight, newBottom, oldLeft, oldTop, oldRight, oldBottom = ...''
 +
 
 +
 
 +
===OnRectHeightChanged===
 +
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
 +
* '''ScriptArguments:''' ''local self, newHeight, oldHeight = ...''
 +
 
 +
 
 +
===OnRectWidthChanged===
 +
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
 +
* '''ScriptArguments:''' ''local self, newWidth, oldWidth = ...''
 +
 
===OnRequestClose===
===OnRequestClose===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnResizeStart===
===OnResizeStart===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnResizeStop===
===OnResizeStop===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnResizedToFit===
===OnResizedToFit===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, desiredWidth, desiredHeight = ...''
* '''ScriptArguments:''' ''local self, desiredWidth, desiredHeight = ...''
 +
===OnScrollExtentsChanged===
===OnScrollExtentsChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, horizontal, vertical = ...''
* '''ScriptArguments:''' ''local self, horizontal, vertical = ...''
 +
===OnScrollOffsetChanged===
===OnScrollOffsetChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, horizontal, vertical = ...''
* '''ScriptArguments:''' ''local self, horizontal, vertical = ...''
 +
===OnSetAnimationEaseFunction===
===OnSetAnimationEaseFunction===
 +
 +
===OnSetAnimationEventHandler===
===OnSetAnimationEventHandler===
 +
 +
===OnSetAnimationTimelineEventHandler===
===OnSetAnimationTimelineEventHandler===
 +
 +
===OnSetControlEventHandler===
===OnSetControlEventHandler===
 +
 +
===OnSetUpdateFunction===
===OnSetUpdateFunction===
 +
 +
===OnShow===
===OnShow===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, hidden = ...''
* '''ScriptArguments:''' ''local self, hidden = ...''
 +
===OnSliderReleased===
===OnSliderReleased===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, value = ...''
* '''ScriptArguments:''' ''local self, value = ...''
 +
===OnSpace===
===OnSpace===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnStop===
===OnStop===
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* [[#OnSetAnimationTimelineEventHandler|Inherits: OnSetAnimationTimelineEventHandler]]
* '''ScriptArguments:''' ''local self, completedPlaying = ...''
* '''ScriptArguments:''' ''local self, completedPlaying = ...''
 +
===OnStop_Animation===
===OnStop_Animation===
* [[#OnSetAnimationEventHandler|Inherits: OnSetAnimationEventHandler]]
* [[#OnSetAnimationEventHandler|Inherits: OnSetAnimationEventHandler]]
* '''ScriptArguments:''' ''local self, animatingControl, completedPlaying = ...''
* '''ScriptArguments:''' ''local self, animatingControl, completedPlaying = ...''
 +
===OnTab===
===OnTab===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnTextChanged===
===OnTextChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnTextureLoaded===
===OnTextureLoaded===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnUpArrow===
===OnUpArrow===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self = ...''
* '''ScriptArguments:''' ''local self = ...''
 +
===OnUpdate===
===OnUpdate===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, time = ...''
* '''ScriptArguments:''' ''local self, time = ...''
 +
===OnUserAreaCreated===
===OnUserAreaCreated===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, areaData, areaText, left, right, top, bottom, continuation = ...''
* '''ScriptArguments:''' ''local self, areaData, areaText, left, right, top, bottom, continuation = ...''
 +
===OnValueChanged===
===OnValueChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, value, eventReason = ...''
* '''ScriptArguments:''' ''local self, value, eventReason = ...''
 +
===OnVisibleRadiusChanged===
===OnVisibleRadiusChanged===
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* [[#OnSetControlEventHandler|Inherits: OnSetControlEventHandler]]
* '''ScriptArguments:''' ''local self, radius = ...''
* '''ScriptArguments:''' ''local self, radius = ...''
 +
===PressedOffset===
===PressedOffset===
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''x''
* ''attribute:'' '''number''' ''y''
* ''attribute:'' '''number''' ''y''
 +
===RadialCooldownGradient===
===RadialCooldownGradient===
* ''attribute:'' '''number''' ''startAlpha''
* ''attribute:'' '''number''' ''startAlpha''
* ''attribute:'' '''number''' ''angularDistance''
* ''attribute:'' '''number''' ''angularDistance''
 +
===ResizeToFitPadding===
===ResizeToFitPadding===
* ''attribute:'' '''number''' ''width''
* ''attribute:'' '''number''' ''width''
* ''attribute:'' '''number''' ''height''
* ''attribute:'' '''number''' ''height''
 +
===Rotate3DAnimation===
===Rotate3DAnimation===
Line 1,009: Line 1,173:
* [[#Attributes|Child: startRoll]]
* [[#Attributes|Child: startRoll]]
* [[#Attributes|Child: startYaw]]
* [[#Attributes|Child: startYaw]]
 +
===ScaleAnimation===
===ScaleAnimation===
Line 1,014: Line 1,179:
* [[#Attributes|Child: endScale]]
* [[#Attributes|Child: endScale]]
* [[#Attributes|Child: startScale]]
* [[#Attributes|Child: startScale]]
 +
===Scroll===
===Scroll===
Line 1,020: Line 1,186:
* [[#OnScrollExtentsChanged|Child: OnScrollExtentsChanged]]
* [[#OnScrollExtentsChanged|Child: OnScrollExtentsChanged]]
* [[#OnScrollOffsetChanged|Child: OnScrollOffsetChanged]]
* [[#OnScrollOffsetChanged|Child: OnScrollOffsetChanged]]
 +
===ScrollingOverlay===
===ScrollingOverlay===
Line 1,026: Line 1,193:
* ''attribute:'' '''number''' ''height''
* ''attribute:'' '''number''' ''height''
* ''attribute:'' '''number''' ''duration''
* ''attribute:'' '''number''' ''duration''
 +
===SizeAnimation===
===SizeAnimation===
Line 1,033: Line 1,201:
* [[#Attributes|Child: startHeight]]
* [[#Attributes|Child: startHeight]]
* [[#Attributes|Child: startWidth]]
* [[#Attributes|Child: startWidth]]
 +
===Slider===
===Slider===
Line 1,047: Line 1,216:
* [[#Attributes|Child: orientation]]
* [[#Attributes|Child: orientation]]
* [[#Attributes|Child: step]]
* [[#Attributes|Child: step]]
 +
===StatusBar===
===StatusBar===
Line 1,065: Line 1,235:
* [[#Attributes|Child: orientation]]
* [[#Attributes|Child: orientation]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFile]]
 +
===String===
===String===
* ''attribute:'' '''string''' ''name''
* ''attribute:'' '''string''' ''name''
* ''attribute:'' '''string''' ''value''
* ''attribute:'' '''string''' ''value''
 +
===Surface===
===Surface===
Line 1,080: Line 1,252:
* ''attribute:'' '''number''' ''insetBottom''
* ''attribute:'' '''number''' ''insetBottom''
* ''attribute:'' '''string''' ''color''
* ''attribute:'' '''string''' ''color''
 +
===TextBuffer===
===TextBuffer===
Line 1,093: Line 1,266:
* [[#Attributes|Child: maxHistoryLines]]
* [[#Attributes|Child: maxHistoryLines]]
* [[#Attributes|Child: splitLongMessages]]
* [[#Attributes|Child: splitLongMessages]]
 +
===Texture===
===Texture===
Line 1,099: Line 1,273:
* [[#OnTextureLoaded|Child: OnTextureLoaded]]
* [[#OnTextureLoaded|Child: OnTextureLoaded]]
* [[#TextureCoords|Child: TextureCoords]]
* [[#TextureCoords|Child: TextureCoords]]
-
* [[#TextureCoords|Child: TextureSampleProcessingWeight]]
+
* [[#TextureSampleProcessingWeight|Child: TextureSampleProcessingWeight]]
* [[#Attributes|Child: addressMode]]
* [[#Attributes|Child: addressMode]]
* [[#Attributes|Child: autoAdjustTextureCoords]]
* [[#Attributes|Child: autoAdjustTextureCoords]]
Line 1,107: Line 1,281:
* [[#Attributes|Child: pixelRoundingEnabled]]
* [[#Attributes|Child: pixelRoundingEnabled]]
* [[#Attributes|Child: resizeToFitFile]]
* [[#Attributes|Child: resizeToFitFile]]
 +
* [[#Attributes|Child: shaderEffectType]]
* [[#Attributes|Child: textureCoordsRotation]]
* [[#Attributes|Child: textureCoordsRotation]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: textureFileReleaseOption]]
 +
===TextureAnimation===
===TextureAnimation===
Line 1,118: Line 1,294:
* [[#Attributes|Child: mirrorAlongX]]
* [[#Attributes|Child: mirrorAlongX]]
* [[#Attributes|Child: mirrorAlongY]]
* [[#Attributes|Child: mirrorAlongY]]
 +
===TextureComposite===
===TextureComposite===
Line 1,126: Line 1,303:
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFile]]
* [[#Attributes|Child: textureFileReleaseOption]]
* [[#Attributes|Child: textureFileReleaseOption]]
 +
===TextureCoords===
===TextureCoords===
Line 1,132: Line 1,310:
* ''attribute:'' '''number''' ''top''
* ''attribute:'' '''number''' ''top''
* ''attribute:'' '''number''' ''bottom''
* ''attribute:'' '''number''' ''bottom''
 +
===TextureRotateAnimation===
===TextureRotateAnimation===
Line 1,137: Line 1,316:
* [[#Attributes|Child: endRotation]]
* [[#Attributes|Child: endRotation]]
* [[#Attributes|Child: startRotation]]
* [[#Attributes|Child: startRotation]]
 +
===TextureSampleProcessingWeight===
===TextureSampleProcessingWeight===
* ''attribute:'' '''[[Globals#TextureSampleProcessing|TextureSampleProcessing]]''' ''type''
* ''attribute:'' '''[[Globals#TextureSampleProcessing|TextureSampleProcessing]]''' ''type''
* ''attribute:'' '''number''' ''weight''
* ''attribute:'' '''number''' ''weight''
 +
===Textures===
===Textures===
Line 1,149: Line 1,330:
* [[#Attributes|Child: pressed]]
* [[#Attributes|Child: pressed]]
* [[#Attributes|Child: pressedMouseOver]]
* [[#Attributes|Child: pressedMouseOver]]
 +
===ThumbTexture===
===ThumbTexture===
Line 1,161: Line 1,343:
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''number''' ''right''
* ''attribute:'' '''boolean''' ''flushWithSliderExtents''
* ''attribute:'' '''boolean''' ''flushWithSliderExtents''
 +
===Tooltip===
===Tooltip===
Line 1,169: Line 1,352:
* [[#Attributes|Child: headerRowSpacing]]
* [[#Attributes|Child: headerRowSpacing]]
* [[#Attributes|Child: headerVerticalOffset]]
* [[#Attributes|Child: headerVerticalOffset]]
 +
===TopLevelControl===
===TopLevelControl===
Line 1,174: Line 1,358:
* [[#Attributes|Child: allowBringToTop]]
* [[#Attributes|Child: allowBringToTop]]
* [[#Attributes|Child: topmost]]
* [[#Attributes|Child: topmost]]
 +
===Translate3DAnimation===
===Translate3DAnimation===
Line 1,189: Line 1,374:
* [[#Attributes|Child: startY]]
* [[#Attributes|Child: startY]]
* [[#Attributes|Child: startZ]]
* [[#Attributes|Child: startZ]]
 +
===TranslateAnimation===
===TranslateAnimation===
Line 1,201: Line 1,387:
* [[#Attributes|Child: startX]]
* [[#Attributes|Child: startX]]
* [[#Attributes|Child: startY]]
* [[#Attributes|Child: startY]]
 +
===UpdateFunction===
===UpdateFunction===
* [[#OnSetUpdateFunction|Inherits: OnSetUpdateFunction]]
* [[#OnSetUpdateFunction|Inherits: OnSetUpdateFunction]]
* '''ScriptArguments:''' ''local self, progress = ...''
* '''ScriptArguments:''' ''local self, progress = ...''
 +
===sentinel_element===
===sentinel_element===

Latest revision as of 17:41, 17 March 2020

Page up-to-date to API Version 100028



Contents

Introduction

This is the exhaustive list of UI Elements used to drawn the UI of Elder Scrolls Online.

Accessing XML controls

There are a few different ways how you can access controls.
First you have to understand that every named control is automatically assigned to a global variable.
For example when there exists a structure with names like "MyAddonWindow" -> "$(parent)Container" -> "$(parent)Control" you will end up with three globals "MyAddonWindow", "MyAddonWindowContainer" and "MyAddonWindowContainerControl
That's also a common pitfall for new authors who name their addon's "namespace" table the same as their top-level xml control, not knowing that the control will be assigned to the global variable.

Each control also has an "OnInitialized" callback which passes the object to a Lua function.
You can use the function GetControl(parent, "ChildName") to access elements under it, or directly call parent:GetNamedChild("ChildName") which is used underneath.
Instead of passing an object you can also just pass the name to GetControl and it will fetch the global variable for you.

From XML you are a bit more limited, but you can use the same expansions used for naming the controls to access them relative to each other.
In addition to "$(parent)" there is also "$(grandparent)" (see Magic values) and in theory you should be able to create a custom constant with the <string> control and use that too.

Structure

<GuiXml>
 
	<!-- New Font definition -->
	<Font name="ZoFontBookTabletSmall" font="$(STONE_TABLET_FONT)|$(KB_24)|soft-shadow-thick" />
	<Font name="ZoFontGameMini" font="$(BOLD_FONT)|$(KB_13)|soft-shadow-thin" />
 
	<!-- Your Controls should be INSIDE this Element -->
	<Controls>
 
		<Label name="SuperStarXMLSkillsNavigationEntry" virtual="true" font="ZoFontHeader" inherits="ZO_SelectableLabel">
			<OnMouseUp>
				ZO_TreeEntry_OnMouseUp(self, upInside)
			</OnMouseUp>
		</Label>
 
	</Controls>
</GuiXml>


Magic Values


In the example under,

<Backdrop name="$(parent)BG" inherits="ZO_DefaultBackdrop" />

is equal to :

<Backdrop name="AIResearchGridBG" inherits="ZO_DefaultBackdrop" />

Inheritance


In the example under,

<Backdrop name="$(parent)BG" inherits="ZO_DefaultBackdrop" />

Inherits the ZO_DefaultBackdrop sub elements, attributes, code, etc. ZO_DefaultBackdrop MUST be loaded before the file which define this block.


Virtualization

In the example under,

		<Control name="SuperStarXMLSkillsAbilityTypeHeader" virtual="true">
			<Dimensions y="32"/>
			<Controls>
				<Label name="$(parent)Label" font="ZoFontHeader2" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED" modifyTextType="UPPERCASE">
				<Anchor point="LEFT" />
			</Label>
			</Controls>
		</Control>

Is virtual.


Loading Order



Examples of UI Definition

<GuiXml>
	<Controls>
 
		<Control name="SuperStarXMLSkillsAbilityTypeHeader" virtual="true">
			<Dimensions y="32"/>
			<Controls>
				<Label name="$(parent)Label" font="ZoFontHeader2" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED" modifyTextType="UPPERCASE">
					<Anchor point="LEFT" />
				</Label>
			</Controls>
		</Control>
 
		<!-- This TopLevelControl can be accessed in Lua throught variable "AIResearchGrid" -->
		<TopLevelControl name="AIResearchGrid" mouseEnabled="true" movable="true" clampedToScreen="true" hidden="true">
			<Dimensions x="750" y="800" />
			<Anchor point="CENTER" />
			<Controls>
 
				<Backdrop name="$(parent)BG" inherits="ZO_DefaultBackdrop" />
 
				<Label name="$(parent)WindowTitle" font="ZoFontAnnounceMedium" text="|c8080ffAI|r RESEARCH GRID">
					<Anchor point="TOPLEFT" relativeTo="$(parent)" relativePoint="TOPLEFT" />
				</Label>
 
				<Texture name="$(parent)TopDivider" textureFile="/esoui/art/miscellaneous/horizontaldivider.dds" tier="HIGH">
					<Dimensions x="800" y="4"/>
					<Anchor point="TOP" relativeTo="$(parent)" offsetY="38" />
				</Texture>
 
				<Button name="$(parent)ButtonCloseAddon" inherits="ZO_ButtonBehaviorClickSound">
					<Dimensions x="40" y="40" />
					<Anchor point="TOPRIGHT" relativeTo="$(parent)" relativePoint="TOPRIGHT" offsetX="15" />
					<Textures normal="EsoUI/Art/Buttons/closebutton_up.dds"
						pressed="EsoUI/Art/Buttons/closebutton_down.dds"
						mouseOver="EsoUI/Art/Buttons/closebutton_mouseover.dds"
						disabled="EsoUI/Art/Buttons/closebutton_disabled.dds"/>
					<OnClicked>
						AIRG_ToggleMainWindow()
					</OnClicked>
				</Button>
 
			</Controls>
		</TopLevelControl>
	</Controls>
</GuiXml>

UI Elements

Attributes


AlphaAnimation


Anchor


AnchorFill

AnchorToBaseline


AnimationBase


AnimationTimeline


Animations


Backdrop


BackgroundBottom


BackgroundMiddle


BackgroundTop


Browser


Button


ButtonState


Callback


Callbacks


Center


ClampedToScreenInsets


ClearAnchors

ColorAnimation


ColorSelect


Compass


CompassPinType


Control


Controls


Cooldown


CustomAnimation


DebugText


DimensionConstraints


Dimensions


EasingFunction


Edge


EditBox


FadeGradient


Font


FontColors


GuiXml


HitInsets


Insets


Label


LeadingEdge


LeadingEdgeTextureCoords


Limits


Line


LineFade


LocalDimensions3D


MapDisplay


MapGutter


MapPinType


MouseButton


NormalOffset


OnAddGameData


OnBackspace


OnChar


OnCleared


OnClicked


OnColorSelected


OnDownArrow


OnDragStart


OnDurationChanged


OnEffectivelyHidden


OnEffectivelyShown


OnEnabledStateChanged


OnEnter


OnEscape


OnFocusGained


OnFocusLost


OnHide


OnIMEBeginComposition


OnIMEEndComposition


OnInitialized


OnInsertAnimationTimelineCallback


OnKeyDown


OnKeyUp


OnLinkClicked


OnLinkMouseUp


OnLoadFinished


OnLoadStart


OnMinMaxValueChanged


OnMouseDoubleClick


OnMouseDown


OnMouseEnter


OnMouseExit


OnMouseUp


OnMouseWheel


OnMoveStart


OnMoveStop


OnPageDown


OnPageUp


OnPlay


OnPlay_Animation


OnReceiveDrag


OnRectChanged


OnRectHeightChanged


OnRectWidthChanged


OnRequestClose


OnResizeStart


OnResizeStop


OnResizedToFit


OnScrollExtentsChanged


OnScrollOffsetChanged


OnSetAnimationEaseFunction

OnSetAnimationEventHandler

OnSetAnimationTimelineEventHandler

OnSetControlEventHandler

OnSetUpdateFunction

OnShow


OnSliderReleased


OnSpace


OnStop


OnStop_Animation


OnTab


OnTextChanged


OnTextureLoaded


OnUpArrow


OnUpdate


OnUserAreaCreated


OnValueChanged


OnVisibleRadiusChanged


PressedOffset


RadialCooldownGradient


ResizeToFitPadding


Rotate3DAnimation


ScaleAnimation


Scroll


ScrollingOverlay


SizeAnimation


Slider


StatusBar


String


Surface


TextBuffer


Texture


TextureAnimation


TextureComposite


TextureCoords


TextureRotateAnimation


TextureSampleProcessingWeight


Textures


ThumbTexture


Tooltip


TopLevelControl


Translate3DAnimation


TranslateAnimation


UpdateFunction


sentinel_element

Personal tools
Namespaces
Variants
Actions
Menu
Wiki
Toolbox