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)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{uixml}}
{{uixml}}
This is the main [[XML UI]] reference in WoW, including the [[FrameXML]] definition API reference.


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.
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 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 10: Line 10:
* [[XML types]] - XML types used by the Ui elements and attributes
* [[XML types]] - XML types used by the Ui elements and attributes


* [[XML schema|Schema]] - The basic WoW [[XML]] definition [[XSD]] ([[UI.xsd]]).
* [[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 inheritance|Inheritance]] - A WoW [[FrameXML]] inheritance reference.


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


== Guides ==
== Guides ==
 
* [[XML basics|XML Basics]] - Starter guide for understanding XML and XML documents
* [[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
* [[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 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 ===
=== Example ===

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>