Wowpedia
Advertisement

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

References

 
Advertisement