comparison Button.lua @ 286:77609bfa804e stable

Merge 1.1 beta 8 to stable
author Flick
date Sat, 11 Jun 2011 10:57:00 -0700
parents 7a9e82c0df15
children e337b39dc491
comparison
equal deleted inserted replaced
272:71d1a5e47e72 286:77609bfa804e
1 --[[ 1 local _, ns = ...
2 ReAction Button base class 2 local ReAction = ns.ReAction
3 --]]
4
5 -- local imports
6 local addonName, addonTable = ...
7 local ReAction = addonTable.ReAction
8 local L = ReAction.L 3 local L = ReAction.L
9 local LKB = ReAction.LKB 4 local LKB = ReAction.LKB
10 local _G = _G 5 local _G = _G
11 local CreateFrame = CreateFrame 6 local CreateFrame = CreateFrame
12 local GetBindingKey = GetBindingKey 7 local GetBindingKey = GetBindingKey
30 btnHeight = 36, 25 btnHeight = 36,
31 btnRows = 1, 26 btnRows = 1,
32 btnColumns = 12, 27 btnColumns = 12,
33 spacing = 3 28 spacing = 3
34 }, 29 },
35 barType = L["Button Bar"] 30 -- barType = L["Button Bar"], -- derived classes must declare
31 -- buttonTypeID = "Button" -- derived classes must declare
36 } 32 }
37 33
38 ReAction.Button = Button -- export to ReAction 34 ReAction.Button = Button -- export to ReAction
39 35
40 function Button:New( name, config, bar, idx, inherits, buttonType ) 36 function Button:New( config, bar, idx, inherits, buttonType )
41 buttonType = buttonType or "CheckButton" 37 buttonType = buttonType or "CheckButton"
38
39 local name = format("ReAction_%s_%s_%d",bar:GetName(), self.buttonTypeID, idx)
42 40
43 -- create new self 41 -- create new self
44 self = setmetatable( 42 self = setmetatable(
45 { 43 {
46 bar = bar, 44 bar = bar,
188 else 186 else
189 n = i - 1 187 n = i - 1
190 if not success then 188 if not success then
191 bar:ClipNButtons(n) 189 bar:ClipNButtons(n)
192 cfgN = n 190 cfgN = n
193 geterrorhandler()(r) 191 if r then
192 geterrorhandler()(r)
193 end
194 end 194 end
195 end 195 end
196 end 196 end
197 i = i + 1 197 i = i + 1
198 until b == nil 198 until b == nil
235 end 235 end
236 end 236 end
237 end 237 end
238 if id == nil then 238 if id == nil then
239 if unique then 239 if unique then
240 error(("All action IDs for bars of type '%s' are in use, cannot create any more buttons"):format(self.config.barType)) 240 ReAction:UserError(L["All action IDs for bars of type '%s' are in use, cannot create any more buttons"]:format(self.barType))
241 error(nil) -- no error message, user has already been notified, so don't put in Lua error handler
241 end 242 end
242 pool.nWraps = nWraps + 1 243 pool.nWraps = nWraps + 1
243 end 244 end
244 until id ~= nil 245 until id ~= nil
245 end 246 end