vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1  
2 -- Class creation
3 AceEvent = AceCore:new({registry={},frame=AceEventFrame})
4  
5 -- This method is for generating custom events. They have to processed separately or
6 -- the event variables may clash with those of the real events.
7 function AceEvent:TriggerEvent(event, ...)
8 if( self.registry[event] ) then
9 for obj, method in self.registry[event] do
10 if( obj[method] ) then obj[method](obj, unpack(arg)) end
11 end
12 end
13 end
14  
15 function AceEvent:EventHandler()
16 if( event and self.registry[event] ) then
17 for obj, method in self.registry[event] do
18 if( obj[method] ) then obj[method](obj) end
19 end
20 end
21 end
22  
23 function AceEvent:RegisterEvent(obj, event, method)
24 if( not self.registry[event] ) then
25 self.registry[event] = {}
26 self.frame:RegisterEvent(event)
27 end
28  
29 self.registry[event][obj] = (method or event)
30 end
31  
32 function AceEvent:UnregisterEvent(obj, event)
33 if( self.registry[event] and self.registry[event][obj] ) then
34 self.registry[event][obj] = nil
35 end
36 end
37  
38 function AceEvent:UnregisterAllEvents(obj)
39 for event in self.registry do
40 self:UnregisterEvent(obj, event)
41 end
42 end
43  
44 ace.event = AceEvent