SecureTemplates

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
 SecureTemplates
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>
Category:UI technical details