WoW:XML UI: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (Reverted edit(s) by 218.79.230.97 (talk) to last version by Celess22)
m (Reverted edit(s) by 218.79.230.97 (talk) to last version by Celess22)
Line 1: Line 1:
{{uixml}}
{{uixml}}
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.
This is the WoW [[XML UI]] and [[FrameXML]] main reference. Use '''Reference''' for detailed information, '''Guides''' for getting started and further understanding, and '''Summary''' for overall concepts about how ''FrameXML'' and ''XML UI'' relate to WoW Interface Customization.


== Reference ==
== Reference ==
* [[XML elements]] - major Ui elements, including widgets
* [[XML elements]] - major Ui elements, including widgets
* [[XML attributes]] - common attributes used to define major Ui elements
* [[XML attributes]] - common attributes used to define major Ui elements
Line 13: Line 13:
* [[XML inheritance|Inheritance]] - A WoW [[FrameXML]] inheritance reference.
* [[XML inheritance|Inheritance]] - A WoW [[FrameXML]] inheritance reference.


* [[FrameXML]] - XML UI definition API, or the regular in-world WoW UI definitions
* [[FrameXML]]
* [[GlueXML]] - The non-world WoW UI definitions
* [[GlueXML]]


== Guides ==
== Guides ==
* [[XML basics|XML Basics]] - Starter guide for understanding XML and XML documents
 
* [[UI XML tutorial|WoW XML Tutorial]] - Walk-through with various examples for using UI XML
* [[XML basics|XML Basics]] - Starter guide for understanding XML and XML documents.
* [[UI XML tutorial|WoW XML Tutorial]] - Walk-through and many various examples for using WoW UI XML.
 
 
<!-- extra lines to force TOC to wrap block above -->


== Summary ==
== 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.
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 [[World of Warcraft API|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.
The [[XML UI]] reference is useful for creating and understanding these FrameXML files, and useful as a cross-reference for the [[Widget API]], and for the base [[World of Warcraft API|WoW API]] with reguards to frame and UI element creation and the relationships between the elements. The term 'element' is classically 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 when we are referring to the WoW XML UI facility and files, we will use the WoW term for this: '[[FrameXML]]'.


=== Example ===
=== Example ===

Revision as of 20:50, 13 October 2019


This is the WoW XML UI and FrameXML main reference. Use Reference for detailed information, Guides for 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

Guides

  • XML Basics - Starter guide for understanding XML and XML documents.
  • WoW XML Tutorial - Walk-through and many various examples for using WoW 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 understanding these FrameXML files, and useful as a cross-reference for the Widget API, and for the base WoW API with reguards to frame and UI element creation and the relationships between the elements. The term 'element' is classically 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 when we are referring to the WoW XML UI facility and files, we will use the WoW term for this: 'FrameXML'.

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>