WoW:USERAPI Frame UnregisterEvents: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (New page: {{userfunc}} __NOTOC__ Add this method to your frame to register multiple events. == Code == local function UnregisterEvents(self, ...) for _,event in pairs({...}) do self...)
 
No edit summary
Line 5: Line 5:


== Code ==
== Code ==
  local function UnregisterEvents(self, ...)
  local function RegisterEvents(self, ...)
    for _,event in pairs({...}) do
for i=1,select('#', ...) do
        self:UnregisterEvent(event)
self:UnregisterEvent(select(i, ...))
    end
end
  end
  end


Line 18: Line 18:
  frame:UnregisterEvents('VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')
  frame:UnregisterEvents('VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')


Or unregister events for a frame without creating a new "frame.UnregisterEvents" variable:
Or unregister events for a frame without attaching UnregisterEvents to the frame:
  local frame = YourEventFrame
  local frame = YourEventFrame
   
   
  -- Tell the API to stop listen for 'VARIABLES_LOADED', 'ADDON_LOADED', and 'MERCHANT_SHOW'
  -- Tell the API to stop listen for 'VARIABLES_LOADED', 'ADDON_LOADED', and 'MERCHANT_SHOW'
  UnregisterEvents(frame, 'VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')
  UnregisterEvents(frame, 'VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')

Revision as of 14:51, 5 January 2008

This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.

User defined functions


Add this method to your frame to register multiple events.

Code

local function RegisterEvents(self, ...)
	for i=1,select('#', ...) do
		self:UnregisterEvent(select(i, ...))
	end
end

Example

local frame = YourEventFrame
frame.UnregisterEvents = UnregisterEvents

-- Tell the API to stop listen for 'VARIABLES_LOADED', 'ADDON_LOADED', and 'MERCHANT_SHOW'
frame:UnregisterEvents('VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')

Or unregister events for a frame without attaching UnregisterEvents to the frame:

local frame = YourEventFrame

-- Tell the API to stop listen for 'VARIABLES_LOADED', 'ADDON_LOADED', and 'MERCHANT_SHOW'
UnregisterEvents(frame, 'VARIABLES_LOADED', 'ADDON_LOADED', 'MERCHANT_SHOW')