SecureTemplates
Jump to navigation
Jump to search
SecureTemplates are a family of protected frame and button templates defined as part of FrameXML. Through attribute-based configuration, they allow addons to access some of the protected functionality. The templates are defined in FrameXML/SecureTemplates.xml, and functionality supporting them resides in FrameXML/SecureTemplates.lua
Template | Widget Type | Function |
---|---|---|
SecureActionButtonTemplate | Button | Perform protected actions. |
SecureUnitButtonTemplate | Button | Unit frames. |
SecureAuraHeaderTemplate | Frame | Managing buffs and debuffs. |
SecureGroupHeaderTemplate | Frame | Managing group members. |
SecurePartyHeaderTemplate | Frame | Managing party members. |
SecureRaidGroupHeaderTemplate | Frame | Managing raid group members. |
SecureGroupPetHeaderTemplate | Frame | Managing group pets. |
SecurePartyPetHeaderTemplate | Frame | Managing party pets. |
SecureRaidPetHeaderTemplate | Frame | Managing raid group pets. |
An example
Suppose we wanted to create a button that, when clicked, would cast [Mark of the Wild] on the player. This can be solved by inheriting from SecureActionButtonTemplate and setting the relevant attributes. For example, using only XML:
<Ui>
<Button name="MyThornsButton" inherits="SecureActionButtonTemplate" parent="UIParent">
<Attributes>
<Attribute name="type" type="string" value="spell"/>
<Attribute name="spell" type="string" value="Mark of the Wild"/>
<Attribute name="unit" type="string" value="player"/>
</Attributes>
<Size x="64" y="64"/>
<Layers>
<Layer level="OVERLAY">
<Texture name="$parentIcon" file="Interface\Icons\Spell_Nature_Regeneration" setAllPoints="true" />
</Layer>
</Layers>
<Anchors>
<Anchor point="CENTER" />
</Anchors>
</Button>
</Ui>
|