WoW:XML UI

From AddOn Studio
Revision as of 04:49, 15 August 2023 by Move page script (talk | contribs) (Move page script moved page XML UI to XML UI without leaving a redirect)
Jump to navigation Jump to search

This is the main XML UI reference in WoW, including the FrameXML definition API reference.

Below, the Reference section contains detailed technical information, Guides for contains getting started and further understanding, and Summary for overall concepts about how FrameXML and XML UI relate to WoW Interface Customization.

Reference

  • XML elements - major Ui elements, including widgets
  • XML attributes - common attributes used to define major Ui elements
  • XML properties - configuration type elements used to define the major Ui elements
  • XML types - XML types used by the Ui elements and attributes
  • FrameXML - XML UI definition API, or the regular in-world WoW UI definitions
  • GlueXML - The non-world WoW UI definitions

Guides

  • XML Basics - Starter guide for understanding XML and XML documents
  • WoW XML Tutorial - Walk-through with various examples for using UI XML

Summary

WoW is capable of loading special .xml files used to describe and create UI elements. WoW uses this facility to create nearly all of its own native user interface frames and elements when WoW is started. These .xml files and facilities can also be used for custom user interface elements.

The XML UI reference is useful for creating and editing FrameXML files, and as a cross-reference for the Widget API and the base WoW API. The term 'element' is an XML term for describing hierarcical parts of an XML document. However you will see the terms 'elements', 'uiobjects', 'widgets', 'frames', and 'layout frames' sometimes used interchangebly. To disambiguate, the term 'FrameXML' will be used when referring to the WoW XML UI meaning.

Example

Example FrameXML File

 <Ui xmlns="http://www.blizzard.com/wow/ui/"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Script file="MyFrame.lua" />
   <Frame name="MyAddon_MyFrame" parent="UIParent" toplevel="true" enableMouse="true">
     <Size>
       <AbsDimension x="200" y="200" />
     </Size>
     <Anchors>
       <Anchor point="CENTER" />
     </Anchors>
     <Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background"
           edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
       <BackgroundInsets>
         <AbsInset left="11" right="12" top="12" bottom="11"/>
       </BackgroundInsets>
       <TileSize>
         <AbsValue val="32"/>
       </TileSize>
       <EdgeSize>
         <AbsValue val="32"/>
       </EdgeSize>
     </Backdrop>
   </Frame>
 </Ui>