WoW:XML UI: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{widget}}{{tocright}}
{{uixml}}
This is the WoW [[XML UI]] Reference. See also an overview of the [[XML user interface]].
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 ==
== 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
* [[XML templates]] - major XML templates
* [[XML schema|Schema]] - The basic WoW [[XML]] definition [[\XSD]] ([[UI.xsd]]).
* [[XML inheritance|Inheritance]] - A WoW [[FrameXML]] inheritance reference.


* [[XML/Ui|XML UI Root]] - Main XML container for FrameXML elements, named '[[XML/Ui|Ui]]'.
* [[FrameXML]] - XML UI definition API, or the regular in-world WoW UI definitions
* [[XML elements|XML UI Elements]] - FrameXML elements contained by the UI element
* [[GlueXML]] - The non-world WoW UI definitions
* [[XML/Types|XML UI Types]] - Element types used to define the UI elements


=== Summary ===
== 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


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.
== 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 [[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'.  
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.


Example FrameXML file:
=== Example ===
''Example [[FrameXML]] File''
   <[[XML/Ui|Ui]] xmlns="http://www.blizzard.com/wow/ui/"
   <[[XML/Ui|Ui]] xmlns="http://www.blizzard.com/wow/ui/"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <[[XML/Script|Script]] file="MyFrame.lua" />
     <[[XML/UiScript|Script]] file="MyFrame.lua" />
     <[[XML/Frame|Frame]] name="MyAddon_MyFrame" parent="UIParent" toplevel="true" enableMouse="true">
     <[[XML/Frame|Frame]] name="MyAddon_MyFrame" parent="UIParent" toplevel="true" enableMouse="true">
       <Size>
       <Size>
         <[[XML/AbsDimension|AbsDimension]] x="200" y="200" />
         <[[XML/AbsDimension|AbsDimension]] x="200" y="200" />
       </Size>
       </Size>
       <Anchors>
       <[[XML/Anchors|Anchors]]>
         <[[XML/Anchor|Anchor]] point="CENTER" />
         <[[XML/Anchor|Anchor]] point="CENTER" />
       </Anchors>
       </Anchors>
Line 40: Line 54:
   </Ui>
   </Ui>
[[Category:XML elements| ]]
[[Category:XML elements| ]]
[[Category:UI XML]]

Latest revision as of 06:27, 15 August 2023

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[edit]

  • 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[edit]

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

Summary[edit]

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[edit]

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>