Wikia

WoWWiki

XML elements

Talk1
102,281pages on
this wiki
Revision as of 23:08, September 18, 2013 by Celess22 (Talk | contribs)

XML UI

This reference is for XML elements of the WoW XML Ui hieracry. These XML elements define game UI elements, and have XML attributes whos values are defined by XML types. This reference covers only the major WoW UI element types, see XML attributes and XML types for the rest.

Summary

XML elements are used to define WoW User Interface elements. These elements are defined using FrameXML '.xml' files which are loaded by WoW. When a FrameXML file is loaded, it processes the file's XML and from it's XML elements generates the actual game elements, which can be accessed programatically using the UIObjects in the WoW Lua environment. The root element of the WoW XML hierarcy is the Ui element. See XML UI for a general overview.

Reference

Curly braces {} are used to indicate when other inheriting element types maybe substituted. See XML inheritance for an explanation of WoW UI XML inheritance relationships. Note: Much of the information here is from the WoW Ui.xsd, and is by no means complete. All this information should be updated with patch changes. All non-default attriutes should be added here, with a link to a source and name of element. Note: the Source notes have been removed, and can now be found in XML elements history.


LayoutFrames (Layer Elements)

FontString

Displays text that can't be edited.

attributies:

elements:

Texture

Used for drawing textures in a frame. Is a LayoutFrame type

attributies:

elements:

Frames (Widgets)

Frame

A clean window to put any kind of widgets inside.

attributies:

elements:

Button

It's just a button you can click with mouse. Common use - executing some scripts when pressed (show/hide frame, accept quests or trades, accept or cancel changes in options etc.

attributies:

elements:

CheckButton

Click adds or remove check mark. Common use for options of any kind

attributies:

elements:

ColorSelect

Allows you to choose a color. Used rarely for customizing addons appearance

attributies:

elements:

Cooldown

Used for spell and action buttons to show it's cooldown state

attributies:

elements:

DressUpModel

Used for checking how some linked item will look on character.

attributies:

elements:

EditBox

Used to type in any kind of text.

attributies:

elements:

GameTooltip

Probably shows up a frame depending what's under cursor (player name, item etc.)

attributies:

elements:

MessageFrame

A window like a frame, but for storing messages.

attributies:

elements:

Minimap

This is specific element for a radar showing you detailed map with units/resources on it

attributies:

elements:

Model

Real purpose unknown. Probably allows to show up some 3D object inside

attributies:

elements:

PlayerModel

Real purpose unknown. Probably for showing 3D portrait.

attributies:

elements:

ScrollFrame

Window that allows to scroll in up/down to show more info (As example - quest log)

attributies:

elements:

ScrollingMessageFrame

Same as scrollframe but for messages only

attributies:

elements:

SimpleHTML

Shows up a window with content organized as in html file. Still only some common tags of html are supported, so it's impossible to load html pages inside it.

attributies:

elements:

Slider

A scroll bar for scrolling elements.

attributies:

elements:

StatusBar

Used in casing bar.

attributies:

elements:

TabardModel

Showing up tabard.

attributies:

elements:

TaxiRouteFrame

Probably for showing up fly routes.

attributies:

elements:

WorldFrame

A layout frame type that holds a 3D view of the world. This type is not nomrally very useful for AddOn development, and is used by the system for displaying the world view and related. AddOns should use the UIParent as their topmost parent and not any frames derrived from this type.

attributies:

elements:

UIParent

This is not actually a Frame type, but a named instance of Frame, named "UIParent". Whats special about this system frame is that every addon you use loaded by default inside it (if parent attribute not defined). Also it's important that when you toggle addons visibility to take screenshot this frame becomes hidden, so any of its content not drawn. If you put your upmost addon frame outside of this frame, your addon will be visible always. For example when a user toggles UI visibility, its toggling the visibility of UIParent. To be a good citizen always use UIParent as your topmost parent, which can be done by leaving the parent of your topmost parents blank.

Animation Elements

Define animations for the UI animation system. Animation and AnimationGroup have event handlers like Frames. Blue posts (added 3.1.0)

AnimationGroup

Groups animations.

Animation

Base type for all animation elements. Animation elements are added to an AnimationGroup, or under Ui. Actual funcitonal animation elements must be one of the derrived types. Can also be defined in Ui as base for other animations.

Translation

Animation element type that moves its target.

Scale

Animation element type that scales or stretches its target.

Rotation

Animation element type that rotates its target.

Alpha

Animation element type that changes the alpha of its target.

Path

Animation element type that defines a traditional animation path for its target using ControlPoints.

Other Elements

Include

attributies:

  • file- refers to another .xml source file to load.

Script

Script can be placed inside this tag as a plain text. attributies:

  • file - refers to a script (.lua) file to be loaded.

Font

Defines a complete font for use in other elements.

attributies:

elements:

See also

Around Wikia's network

Random Wiki