Mercurial > wow > reaction
comparison modules/Action.lua @ 147:901c91dc1bf2
Some refactoring of configmode/keybind handlers
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Thu, 07 May 2009 23:55:00 +0000 |
parents | 729232aeeb5e |
children | 8cc187143acd |
comparison
equal
deleted
inserted
replaced
146:86564b5cbbff | 147:901c91dc1bf2 |
---|---|
6 local wipe = wipe | 6 local wipe = wipe |
7 | 7 |
8 ReAction:UpdateRevision("$Revision$") | 8 ReAction:UpdateRevision("$Revision$") |
9 | 9 |
10 local weak = { __mode="k" } | 10 local weak = { __mode="k" } |
11 | |
12 -- libraries | |
13 local KB = LibStub("LibKeyBound-1.0") | |
14 | 11 |
15 -- module declaration | 12 -- module declaration |
16 local moduleID = "Action" | 13 local moduleID = "Action" |
17 local module = ReAction:NewModule( moduleID ) | 14 local module = ReAction:NewModule( moduleID ) |
18 | 15 |
37 ReAction.RegisterCallback(self, "OnCreateBar") | 34 ReAction.RegisterCallback(self, "OnCreateBar") |
38 ReAction.RegisterCallback(self, "OnRefreshBar") | 35 ReAction.RegisterCallback(self, "OnRefreshBar") |
39 ReAction.RegisterCallback(self, "OnDestroyBar") | 36 ReAction.RegisterCallback(self, "OnDestroyBar") |
40 ReAction.RegisterCallback(self, "OnEraseBar") | 37 ReAction.RegisterCallback(self, "OnEraseBar") |
41 ReAction.RegisterCallback(self, "OnRenameBar") | 38 ReAction.RegisterCallback(self, "OnRenameBar") |
42 ReAction.RegisterCallback(self, "OnConfigModeChanged") | |
43 | |
44 KB.RegisterCallback(self, "LIBKEYBOUND_ENABLED") | |
45 KB.RegisterCallback(self, "LIBKEYBOUND_DISABLED") | |
46 KB.RegisterCallback(self, "LIBKEYBOUND_MODE_COLOR_CHANGED","LIBKEYBOUND_ENABLED") | |
47 end | 39 end |
48 | 40 |
49 function module:OnEnable() | 41 function module:OnEnable() |
50 ReAction:RegisterBarType(L["Action Bar"], | 42 ReAction:RegisterBarType(L["Action Bar"], |
51 { | 43 { |
97 function module:OnRenameBar(event, bar, oldname, newname) | 89 function module:OnRenameBar(event, bar, oldname, newname) |
98 b = self.db.profile.bars | 90 b = self.db.profile.bars |
99 b[newname], b[oldname] = b[oldname], nil | 91 b[newname], b[oldname] = b[oldname], nil |
100 end | 92 end |
101 | 93 |
102 function module:OnConfigModeChanged(event, mode) | |
103 for _, h in pairs(self.handles) do | |
104 h:SetConfigMode(mode) | |
105 end | |
106 end | |
107 | |
108 function module:LIBKEYBOUND_ENABLED(evt) | |
109 for _, h in pairs(self.handles) do | |
110 h:SetKeybindMode(true) | |
111 end | |
112 end | |
113 | |
114 function module:LIBKEYBOUND_DISABLED(evt) | |
115 for _, h in pairs(self.handles) do | |
116 h:SetKeybindMode(false) | |
117 end | |
118 end | |
119 | |
120 | |
121 ---- Interface ---- | 94 ---- Interface ---- |
122 function module:GetBarOptions(bar) | 95 function module:GetBarOptions(bar) |
123 local h = self.handles[bar] | 96 local h = self.handles[bar] |
124 if h then | 97 if h then |
125 return h:GetOptions() | 98 return h:GetOptions() |
139 get = "GetHideEmpty", | 112 get = "GetHideEmpty", |
140 set = "SetHideEmpty", | 113 set = "SetHideEmpty", |
141 }, | 114 }, |
142 lockButtons = { | 115 lockButtons = { |
143 name = L["Lock Buttons"], | 116 name = L["Lock Buttons"], |
144 desc = L["Prevents picking up/dragging actions.|nNOTE: This setting is overridden by the global setting in Blizzard's Action Buttons tab"], | 117 desc = L["Prevents picking up/dragging actions (use SHIFT to override this behavior)"], |
145 order = 2, | 118 order = 2, |
146 type = "toggle", | 119 type = "toggle", |
147 get = "GetLockButtons", | 120 get = "GetLockButtons", |
148 set = "SetLockButtons", | 121 set = "SetLockButtons", |
149 }, | 122 }, |
274 | 247 |
275 if self.config.buttons == nil then | 248 if self.config.buttons == nil then |
276 self.config.buttons = { } | 249 self.config.buttons = { } |
277 end | 250 end |
278 self:Refresh() | 251 self:Refresh() |
279 self:SetKeybindMode(ReAction:GetKeybindMode()) | |
280 return self | 252 return self |
281 end | 253 end |
282 | 254 |
283 function Handle:Refresh() | 255 function Handle:Refresh() |
284 local r, c = self.bar:GetButtonGrid() | 256 local r, c = self.bar:GetButtonGrid() |
319 b:Destroy() | 291 b:Destroy() |
320 end | 292 end |
321 end | 293 end |
322 end | 294 end |
323 | 295 |
324 function Handle:SetConfigMode(mode) | |
325 for _, b in pairs(self.btns) do | |
326 b:UpdateActionIDLabel(mode) | |
327 end | |
328 end | |
329 | |
330 function Handle:UpdateButtonLock() | 296 function Handle:UpdateButtonLock() |
331 Button.SetButtonLock(self.bar, self.config.lockButtons, self.config.lockButtonsCombat) | 297 Button.SetButtonLock(self.bar, self.config.lockButtons, self.config.lockButtonsCombat) |
332 end | |
333 | |
334 function Handle:SetKeybindMode(mode) | |
335 for _, b in pairs(self.btns) do | |
336 b:SetKeybindMode(mode) | |
337 end | |
338 end | 298 end |
339 | 299 |
340 function Handle:GetLastButton() | 300 function Handle:GetLastButton() |
341 return self.btns[#self.btns] | 301 return self.btns[#self.btns] |
342 end | 302 end |