Mercurial > wow > reaction
comparison modules/ReAction_ConfigUI/ReAction_ConfigUI.lua @ 58:20003239af0b
changed "layout editor" to "bar editor"
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Mon, 28 Apr 2008 21:08:35 +0000 |
parents | 7e09c02ae620 |
children | 7430a8dd4e90 |
comparison
equal
deleted
inserted
replaced
57:b85118b61564 | 58:20003239af0b |
---|---|
61 end | 61 end |
62 end | 62 end |
63 | 63 |
64 function module:OnOptionsRefreshed(evt) | 64 function module:OnOptionsRefreshed(evt) |
65 AceConfigReg:NotifyChange("ReAction") | 65 AceConfigReg:NotifyChange("ReAction") |
66 AceConfigReg:NotifyChange("ReAction-Layout") | 66 AceConfigReg:NotifyChange("ReAction-Editor") |
67 end | 67 end |
68 | 68 |
69 function module:OnCreateBar(evt, bar) | 69 function module:OnCreateBar(evt, bar) |
70 local name = bar:GetName() | 70 local name = bar:GetName() |
71 -- AceConfig doesn't allow spaces, etc, in arg key names, and they must be | 71 -- AceConfig doesn't allow spaces, etc, in arg key names, and they must be |
73 local key | 73 local key |
74 local i = 1 | 74 local i = 1 |
75 repeat | 75 repeat |
76 key = ("bar%s"):format(i) | 76 key = ("bar%s"):format(i) |
77 i = i+1 | 77 i = i+1 |
78 until self.layoutOpts.args[key] == nil | 78 until self.editorOpts.args[key] == nil |
79 self.barOptMap[name] = key | 79 self.barOptMap[name] = key |
80 self.layoutOpts.args[key] = { | 80 self.editorOpts.args[key] = { |
81 type = "group", | 81 type = "group", |
82 name = name, | 82 name = name, |
83 childGroups = "tab", | 83 childGroups = "tab", |
84 args = { | 84 args = { |
85 general = { | 85 general = { |
177 | 177 |
178 function module:OnEraseBar(evt, name) | 178 function module:OnEraseBar(evt, name) |
179 local key = self.barOptMap[name] | 179 local key = self.barOptMap[name] |
180 self.barOptMap[name] = nil | 180 self.barOptMap[name] = nil |
181 if key then | 181 if key then |
182 self.layoutOpts.args[key] = nil | 182 self.editorOpts.args[key] = nil |
183 self:RefreshLayoutEditor() | 183 self:RefreshBarEditor() |
184 end | 184 end |
185 end | 185 end |
186 | 186 |
187 function module:OnRenameBar(evt, oldname, newname) | 187 function module:OnRenameBar(evt, oldname, newname) |
188 local key = self.barOptMap[oldname] | 188 local key = self.barOptMap[oldname] |
189 self.barOptMap[oldname], self.barOptMap[newname] = nil, key | 189 self.barOptMap[oldname], self.barOptMap[newname] = nil, key |
190 if key then | 190 if key then |
191 self.layoutOpts.args[key].name = newname | 191 self.editorOpts.args[key].name = newname |
192 self:RefreshLayoutEditor() | 192 self:RefreshBarEditor() |
193 end | 193 end |
194 end | 194 end |
195 | 195 |
196 function module:PLAYER_REGEN_DISABLED() | 196 function module:PLAYER_REGEN_DISABLED() |
197 if self.editor then | 197 if self.editor then |
206 | 206 |
207 function module:OpenConfig() | 207 function module:OpenConfig() |
208 InterfaceOptionsFrame_OpenToFrame("ReAction") | 208 InterfaceOptionsFrame_OpenToFrame("ReAction") |
209 end | 209 end |
210 | 210 |
211 function module:LaunchLayoutEditor(bar) | 211 function module:LaunchBarEditor(bar) |
212 if InCombatLockdown() then | 212 if InCombatLockdown() then |
213 self:UserError(L["ReAction config mode disabled during combat."]) | 213 self:UserError(L["ReAction config mode disabled during combat."]) |
214 else | 214 else |
215 if not self.editor then | 215 if not self.editor then |
216 -- use a local container to work around AceConfigDialog closing | 216 -- use a local container to work around AceConfigDialog closing |
217 -- both the layout editor and the global options when interface options is closed | 217 -- both the bar editor and the global options when interface options is closed |
218 local ed = LibStub("AceGUI-3.0"):Create("Frame") | 218 local ed = LibStub("AceGUI-3.0"):Create("Frame") |
219 ed.frame:SetClampedToScreen(true) | 219 ed.frame:SetClampedToScreen(true) |
220 local old_OnUpdate = ed.frame:GetScript("OnUpdate") | 220 local old_OnUpdate = ed.frame:GetScript("OnUpdate") |
221 ed.frame:SetScript("OnUpdate", function(dt) | 221 ed.frame:SetScript("OnUpdate", function(dt) |
222 if old_OnUpdate then | 222 if old_OnUpdate then |
235 ed:SetCallback("OnClose", | 235 ed:SetCallback("OnClose", |
236 function() | 236 function() |
237 ReAction:SetConfigMode(false) | 237 ReAction:SetConfigMode(false) |
238 end ) | 238 end ) |
239 self.editor = ed | 239 self.editor = ed |
240 AceConfigDialog:SetDefaultSize("ReAction-Layout", 640, 420) | 240 AceConfigDialog:SetDefaultSize("ReAction-Editor", 640, 420) |
241 end | 241 end |
242 | 242 |
243 AceConfigDialog:Open("ReAction-Layout", self.editor) | 243 AceConfigDialog:Open("ReAction-Editor", self.editor) |
244 ReAction:SetConfigMode(true) | 244 ReAction:SetConfigMode(true) |
245 end | 245 end |
246 end | 246 end |
247 | 247 |
248 function module:RefreshLayoutEditor() | 248 function module:RefreshBarEditor() |
249 AceConfigReg:NotifyChange("ReAction-Layout") | 249 AceConfigReg:NotifyChange("ReAction-Editor") |
250 if self.editor and self.editor.frame:IsShown() then | 250 if self.editor and self.editor.frame:IsShown() then |
251 AceConfigDialog:Open("ReAction-Layout", self.editor) | 251 AceConfigDialog:Open("ReAction-Editor", self.editor) |
252 end | 252 end |
253 end | 253 end |
254 | 254 |
255 function module:GetBarTypes() | 255 function module:GetBarTypes() |
256 local opts = self.optBarTypes or { } | 256 local opts = self.optBarTypes or { } |
281 _desc = { | 281 _desc = { |
282 type = "description", | 282 type = "description", |
283 name = L["Customizable replacement for Blizzard's Action Bars"], | 283 name = L["Customizable replacement for Blizzard's Action Bars"], |
284 order = 1, | 284 order = 1, |
285 }, | 285 }, |
286 _launchLayout = { | 286 _launchEditor = { |
287 type = "execute", | 287 type = "execute", |
288 handler = self, | 288 handler = self, |
289 name = L["Layout Editor..."], | 289 name = L["Edit Bars..."], |
290 desc = L["Show the ReAction Layout Editor to edit your bars"], | 290 desc = L["Show the ReAction Bar Editor dialogue"], |
291 func = function() | 291 func = function() |
292 self:LaunchLayoutEditor() | 292 self:LaunchBarEditor() |
293 -- you can't close a dialog in response to an options click, because the end of the | 293 -- you can't close a dialog in response to an options click, because the end of the |
294 -- handler for all the button events calls lib:Open() | 294 -- handler for all the button events calls lib:Open() |
295 -- So, schedule a close on the next OnUpdate | 295 -- So, schedule a close on the next OnUpdate |
296 if self.db.profile.closeOnLaunch then | 296 if self.db.profile.closeOnLaunch then |
297 self.editor.closePending = true | 297 self.editor.closePending = true |
300 order = 2, | 300 order = 2, |
301 }, | 301 }, |
302 _closeThis = { | 302 _closeThis = { |
303 type = "toggle", | 303 type = "toggle", |
304 name = L["Close on Launch"], | 304 name = L["Close on Launch"], |
305 desc = L["Close the Interface Options window when launching the ReAction Layout Editor"], | 305 desc = L["Close the Interface Options window when launching the ReAction Bar Editor"], |
306 get = function() return self.db.profile.closeOnLaunch end, | 306 get = function() return self.db.profile.closeOnLaunch end, |
307 set = function(info, val) self.db.profile.closeOnLaunch = val end, | 307 set = function(info, val) self.db.profile.closeOnLaunch = val end, |
308 order = 3, | 308 order = 3, |
309 }, | 309 }, |
310 global = { | 310 global = { |
361 } | 361 } |
362 } | 362 } |
363 }, | 363 }, |
364 }) | 364 }) |
365 | 365 |
366 -- layout editor options | 366 -- bar editor options |
367 local layoutOpts = { | 367 local editorOpts = { |
368 type = "group", | 368 type = "group", |
369 name = ("ReAction - %s"):format(L["Layout"]), | 369 name = ("ReAction - %s"):format(L["Bar Editor"]), |
370 handler = self, | 370 handler = self, |
371 childGroups = "tree", | 371 childGroups = "tree", |
372 args = { | 372 args = { |
373 desc = { | 373 desc = { |
374 type = "description", | 374 type = "description", |
391 order = 2 | 391 order = 2 |
392 }, | 392 }, |
393 closeThis = { | 393 closeThis = { |
394 type = "toggle", | 394 type = "toggle", |
395 name = L["Close on Launch"], | 395 name = L["Close on Launch"], |
396 desc = L["Close the Layout Editor when opening the ReAction global Interface Options"], | 396 desc = L["Close the Bar Editor when opening the ReAction global Interface Options"], |
397 get = function() return self.db.profile.editorCloseOnLaunch end, | 397 get = function() return self.db.profile.editorCloseOnLaunch end, |
398 set = function(info, val) self.db.profile.editorCloseOnLaunch = val end, | 398 set = function(info, val) self.db.profile.editorCloseOnLaunch = val end, |
399 order = 3, | 399 order = 3, |
400 }, | 400 }, |
401 new = { | 401 new = { |
502 } | 502 } |
503 } | 503 } |
504 } | 504 } |
505 } | 505 } |
506 } | 506 } |
507 self.layoutOpts = layoutOpts | 507 self.editorOpts = editorOpts |
508 self.barOptMap = { } | 508 self.barOptMap = { } |
509 AceConfigReg:RegisterOptionsTable("ReAction-Layout",layoutOpts) | 509 AceConfigReg:RegisterOptionsTable("ReAction-Editor",editorOpts) |
510 end | 510 end |
511 | 511 |