comparison Core.lua @ 38:e27d13095b49

Added the ability to suspend and resume ItemAuditor (Ticket #8). To access this feature use "/ia suspend".
author Asa Ayers <Asa.Ayers@Gmail.com>
date Sun, 18 Jul 2010 22:46:35 -0700
parents 9bd18fce8498
children 003de902ae64
comparison
equal deleted inserted replaced
37:9bd18fce8498 38:e27d13095b49
25 profile = { 25 profile = {
26 messages = { 26 messages = {
27 cost_updates = true, 27 cost_updates = true,
28 queue_skip = false, 28 queue_skip = false,
29 }, 29 },
30 addon_enabled = true,
30 -- This is for development, so I have no plans to turn it into an option. 31 -- This is for development, so I have no plans to turn it into an option.
31 show_debug_frame_on_startup = false, 32 show_debug_frame_on_startup = false,
32 }, 33 },
33 factionrealm = { 34 factionrealm = {
34 item_account = {}, 35 item_account = {},
38 self.db = LibStub("AceDB-3.0"):New("ItemAuditorDB", DB_defaults, true) 39 self.db = LibStub("AceDB-3.0"):New("ItemAuditorDB", DB_defaults, true)
39 addonTable.db= self.db 40 addonTable.db= self.db
40 self.items = self.db.factionrealm.items 41 self.items = self.db.factionrealm.items
41 42
42 self:RegisterOptions() 43 self:RegisterOptions()
43 44 ItemAuditor:RegisterFrame(ItemAuditor_DebugFrame)
44 self:RegisterEvent("PLAYER_ENTERING_WORLD")
45 45
46 -- /run ItemAuditor.db.profile.show_debug_frame_on_startup = true 46 -- /run ItemAuditor.db.profile.show_debug_frame_on_startup = true
47 if self.db.profile.show_debug_frame_on_startup then 47 if self.db.profile.show_debug_frame_on_startup then
48 ItemAuditor_DebugFrame:Show() 48 ItemAuditor_DebugFrame:Show()
49 self:CreateFrames() 49 self:CreateFrames()
50 end
51 end
52
53 local registeredEvents = {}
54 local originalRegisterEvent = addon.RegisterEvent
55 function addon:RegisterEvent(event, callback, arg)
56 registeredEvents[event] = true
57 if arg ~= nil then
58 return originalRegisterEvent(self, event, callback, arg)
59 elseif callback ~= nil then
60 return originalRegisterEvent(self, event, callback)
61 else
62 return originalRegisterEvent(self, event)
63 end
64 end
65
66 local originalUnregisterEvent = addon.UnregisterEvent
67 function addon:UnregisterEvent(event)
68 registeredEvents[event] = nil
69 return originalUnregisterEvent(self, event)
70 end
71
72 function addon:UnregisterAllEvents()
73 for event in pairs(registeredEvents) do
74 self:UnregisterEvent(event)
75 end
76 end
77
78 local registeredFrames = {}
79 function addon:RegisterFrame(frame)
80 tinsert(registeredFrames, frame)
81 end
82
83 function addon:HideAllFrames()
84 for key, frame in pairs(registeredFrames) do
85 if frame then
86 frame:Hide()
87 end
50 end 88 end
51 end 89 end
52 90
53 function addon:ConvertItems() 91 function addon:ConvertItems()
54 for itemName, value in pairs(self.db.factionrealm.item_account) do 92 for itemName, value in pairs(self.db.factionrealm.item_account) do