Mercurial > wow > reaction
comparison State.lua @ 81:57f8151ea0f0
- Fixed some snafus with creating bars
- Added support for opening the bar editor to a particular path
- Creating bars/states now selects the new bar/state in the config editor
- moved Bar:SetStateAttribute() back to working optionally on buttons rather than buttonFrame container
| author | Flick <flickerstreak@gmail.com> |
|---|---|
| date | Wed, 25 Jun 2008 21:07:18 +0000 |
| parents | 42ec2938d65a |
| children | 1ad208c25618 |
comparison
equal
deleted
inserted
replaced
| 80:42ec2938d65a | 81:57f8151ea0f0 |
|---|---|
| 149 for state, config in pairs(states) do | 149 for state, config in pairs(states) do |
| 150 if config.hide then | 150 if config.hide then |
| 151 table.insert(hs, state) | 151 table.insert(hs, state) |
| 152 end | 152 end |
| 153 end | 153 end |
| 154 bar:SetStateAttribute("hidestates", nil, table.concat(hs,","), true) -- pass to buttons | 154 bar:GetButtonFrame():SetAttribute("hidestates", table.concat(hs,",")) |
| 155 end, | 155 end, |
| 156 | 156 |
| 157 keybindstate = function( bar, states ) | 157 keybindstate = function( bar, states ) |
| 158 local map = { } | 158 local map = { } |
| 159 for state, config in pairs(states) do | 159 for state, config in pairs(states) do |
| 498 order = 1, | 498 order = 1, |
| 499 type = "description" | 499 type = "description" |
| 500 }, | 500 }, |
| 501 hide = { | 501 hide = { |
| 502 name = L["Hide Bar"], | 502 name = L["Hide Bar"], |
| 503 order = 91, | 503 order = 90, |
| 504 type = "toggle", | 504 type = "toggle", |
| 505 set = "SetProp", | 505 set = "SetProp", |
| 506 get = "GetProp", | 506 get = "GetProp", |
| 507 }, | 507 }, |
| 508 keybindstate = { | 508 keybindstate = { |
| 509 name = L["Override Keybinds"], | 509 name = L["Override Keybinds"], |
| 510 desc = L["Set this state to maintain its own set of keybinds which override the defaults when active"], | 510 desc = L["Set this state to maintain its own set of keybinds which override the defaults when active"], |
| 511 order = 92, | 511 order = 91, |
| 512 type = "toggle", | 512 type = "toggle", |
| 513 set = "SetProp", | 513 set = "SetProp", |
| 514 get = "GetProp", | 514 get = "GetProp", |
| 515 }, | 515 }, |
| 516 position = { | 516 position = { |
| 517 name = L["Position"], | 517 name = L["Position"], |
| 518 order = 93, | 518 order = 92, |
| 519 type = "group", | 519 type = "group", |
| 520 inline = true, | 520 inline = true, |
| 521 args = { | 521 args = { |
| 522 enableAnchor = { | 522 enableAnchor = { |
| 523 name = L["Set New Position"], | 523 name = L["Set New Position"], |
| 572 }, | 572 }, |
| 573 }, | 573 }, |
| 574 }, | 574 }, |
| 575 scale = { | 575 scale = { |
| 576 name = L["Scale"], | 576 name = L["Scale"], |
| 577 order = 94, | 577 order = 93, |
| 578 type = "group", | 578 type = "group", |
| 579 inline = true, | 579 inline = true, |
| 580 args = { | 580 args = { |
| 581 enableScale = { | 581 enableScale = { |
| 582 name = L["Set New Scale"], | 582 name = L["Set New Scale"], |
| 1007 ReAction:UserError(format(L["State named '%s' already exists"],name)) | 1007 ReAction:UserError(format(L["State named '%s' already exists"],name)) |
| 1008 else | 1008 else |
| 1009 -- TODO: select default state options and pass as final argument | 1009 -- TODO: select default state options and pass as final argument |
| 1010 states[name] = { } | 1010 states[name] = { } |
| 1011 optionMap[bar].args[name] = CreateStateOptions(bar,name) | 1011 optionMap[bar].args[name] = CreateStateOptions(bar,name) |
| 1012 ReAction:ShowEditor(bar, moduleID, name) | |
| 1012 private.newstatename = "" | 1013 private.newstatename = "" |
| 1013 end | 1014 end |
| 1014 end, | 1015 end, |
| 1015 disabled = function() | 1016 disabled = function() |
| 1016 local name = private.newstatename or "" | 1017 local name = private.newstatename or "" |
| 1038 -- propertyImplFunc( bar, stateTable ) | 1039 -- propertyImplFunc( bar, stateTable ) |
| 1039 -- where stateTable is a { ["statename"] = { state config } } table. | 1040 -- where stateTable is a { ["statename"] = { state config } } table. |
| 1040 -- | 1041 -- |
| 1041 -- The options table is static, i.e. not bar-specific and should only reference handler method | 1042 -- The options table is static, i.e. not bar-specific and should only reference handler method |
| 1042 -- strings (either existing ones or those added via optHandler). The existing options are ordered | 1043 -- strings (either existing ones or those added via optHandler). The existing options are ordered |
| 1043 -- 91-100. Order #1 is reserved for the heading. | 1044 -- 90-99. Order #1 is reserved for the heading. |
| 1044 -- | 1045 -- |
| 1045 -- The contents of optHandler, if provided, will be added to the existing StateHandler metatable. | 1046 -- The contents of optHandler, if provided, will be added to the existing StateHandler metatable. |
| 1046 -- See above, for existing API. In particular see the properties set up in the New method: self.bar, | 1047 -- See above, for existing API. In particular see the properties set up in the New method: self.bar, |
| 1047 -- self.states, and self:GetName(), and the generic property handlers self:GetProp() and self:SetProp(). | 1048 -- self.states, and self:GetName(), and the generic property handlers self:GetProp() and self:SetProp(). |
| 1048 -- | 1049 -- |
