comparison modules/ReAction_ConfigUI/ReAction_ConfigUI.lua @ 48:7b7d178dec52

Implemented bar-type selection, extended CreateBar functionality
author Flick <flickerstreak@gmail.com>
date Sat, 12 Apr 2008 00:15:09 +0000
parents e12b736c23c3
children c3c64e2def50
comparison
equal deleted inserted replaced
47:e12b736c23c3 48:7b7d178dec52
46 46
47 end 47 end
48 end 48 end
49 49
50 function module:OnOptionsRefreshed(evt) 50 function module:OnOptionsRefreshed(evt)
51 -- TODO: refresh options frame (just OpenConfig again?) 51 AceConfigReg:NotifyChange("ReAction")
52 AceConfigReg:NotifyChange("ReAction-Layout")
52 end 53 end
53 54
54 function module:OnCreateBar(evt, bar) 55 function module:OnCreateBar(evt, bar)
55 local name = bar:GetName() 56 local name = bar:GetName()
56 -- AceConfig doesn't allow spaces, etc, in arg key names, and they must be 57 -- AceConfig doesn't allow spaces, etc, in arg key names, and they must be
154 ed:SetCallback("OnClose", 155 ed:SetCallback("OnClose",
155 function() 156 function()
156 ReAction:SetConfigMode(false) 157 ReAction:SetConfigMode(false)
157 end ) 158 end )
158 self.editor = ed 159 self.editor = ed
159 AceConfigDialog:SetDefaultSize("ReAction-Layout", 600, 450) 160 AceConfigDialog:SetDefaultSize("ReAction-Layout", 640, 420)
160 end 161 end
161 162
162 AceConfigDialog:Open("ReAction-Layout", self.editor) 163 AceConfigDialog:Open("ReAction-Layout", self.editor)
163 ReAction:SetConfigMode(true) 164 ReAction:SetConfigMode(true)
164 end 165 end
171 end 172 end
172 end 173 end
173 174
174 function module:GetBarTypes() 175 function module:GetBarTypes()
175 local opts = self.optBarTypes or { } 176 local opts = self.optBarTypes or { }
176 self.optBarTypes = opts 177 self.optBarTypes = { }
177 178 for k,v in pairs(opts) do
178 -- TODO: get these from module registration somehow 179 opts[k] = nil
179 opts[1] = "foo" 180 end
180 181 for k in pairs(ReAction.defaultBarConfig) do
182 opts[k] = k
183 end
181 return opts 184 return opts
182 end 185 end
183 186
184 function module:CreateBar() 187 function module:CreateBar()
185 local name = self.tmpBarName 188 if self.tmpBarType and self.tmpBarType ~= "" then
186 local type = self.tmpBarType 189 ReAction:CreateBar(self.tmpBarName, self.tmpBarType, self.tmpBarRows, self.tmpBarCols, self.tmpBarSize, self.tmpBarSpacing)
187 190 self.tmpBarName = nil
188 self.tmpBarName = nil 191 end
189 self.tmpBarType = nil
190
191 -- TODO: get from module registration
192 -- TODO: use rows/cols info
193 ReAction:CreateBar(name)
194 end 192 end
195 193
196 function module:InitializeOptions() 194 function module:InitializeOptions()
197 -- general config options 195 -- general config options
198 local opts = { 196 local opts = {
303 desc = L["Opens ReAction global configuration settings panel"], 301 desc = L["Opens ReAction global configuration settings panel"],
304 func = function() 302 func = function()
305 self:OpenConfig() 303 self:OpenConfig()
306 -- you can't close a dialog in response to an options click, because the end of the 304 -- you can't close a dialog in response to an options click, because the end of the
307 -- handler for all the button events calls lib:Open() 305 -- handler for all the button events calls lib:Open()
308 -- So, schedule a close on the next appropriate event 306 -- So, schedule a close on the next OnUpdate
309 if self.db.profile.editorCloseOnLaunch then 307 if self.db.profile.editorCloseOnLaunch then
310 self.editor.selfClosePending = true 308 self.editor.selfClosePending = true
311 end 309 end
312 end, 310 end,
313 order = 2 311 order = 2
314 }, 312 },
315 closThis = { 313 closeThis = {
316 type = "toggle", 314 type = "toggle",
317 name = L["Close on Launch"], 315 name = L["Close on Launch"],
318 desc = L["Close the Layout Editor when opening the ReAction global Interface Options"], 316 desc = L["Close the Layout Editor when opening the ReAction global Interface Options"],
319 get = function() return self.db.profile.editorCloseOnLaunch end, 317 get = function() return self.db.profile.editorCloseOnLaunch end,
320 set = function(info, val) self.db.profile.editorCloseOnLaunch = val end, 318 set = function(info, val) self.db.profile.editorCloseOnLaunch = val end,
339 order = 2, 337 order = 2,
340 }, 338 },
341 type = { 339 type = {
342 type = "select", 340 type = "select",
343 name = L["Button Type"], 341 name = L["Button Type"],
344 get = function() return self.tmpBarType or "" end, 342 get = function() return self.tmpBarType or ReAction.defaultBarConfigChoice or "" end,
345 set = function(info, val) self.tmpBarType = val end, 343 set = function(info, val) self.tmpBarType = val end,
346 values = "GetBarTypes", 344 values = "GetBarTypes",
347 order = 3, 345 order = 3,
348 }, 346 },
349 grid = { 347 grid = {