An intrinsic frame extends the Widget API by adding a new subtype of Frame.
<Frame name="MyFrame" intrinsic="true"> <Scripts> <OnLoad intrinsicOrder=""> </Scripts> </Frame> <MyFrame /> CreateFrame("MyFrame")
Widget scripts
- Intrinsic frames may have permanent widget script handlers; meaning they are unaffected by ScriptObject:SetScript().
- This behaviour is controlled using the intrinsicOrder attribute on widget scripts inside a <Scripts> element.
precall
causes it to irrevokably fire before any script set with SetScript()postcall
causes it to irrevokably fire after any script set with SetScript()none
(default) omits this special behaviour, leaving the script susceptible to overwriting with SetScript().
- Notwithstanding, widgets may later hook these special precall/postcall scripts using an added argument to ScriptObject:HookScript().
Details
- The name attribute becomes the new tag name in XML, or the first argument to CreateFrame() in Lua.
- GetObjectType() returns the intrinsic's type, not the intrinsic name, e,g. CreateFrame("MyFrame"):GetObjectType() == "Frame", not "MyFrame".
- It is not possible to declare an intrinsic based on another intrinsic.
Patch changes
Patch 7.1.0 (2016-10-25): Added.[1]
References
- ^
Ornyx 2016-10-04. Notable UI Changes Coming in 7.1. Archived from the original