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