Mercurial > wow > reaction
diff modules/State.lua @ 239:2669f737d9d7
Fold Action page state options into state.lua
author | Flick |
---|---|
date | Fri, 25 Mar 2011 16:28:25 -0700 |
parents | b4c100011c75 |
children |
line wrap: on
line diff
--- a/modules/State.lua Thu Mar 24 14:27:56 2011 -0700 +++ b/modules/State.lua Fri Mar 25 16:28:25 2011 -0700 @@ -238,6 +238,17 @@ order = 1, type = "description" }, + page = { + name = L["Show Page #"], + order = 11, + type = "select", + width = "half", + disabled = "IsPageDisabled", + hidden = "IsPageHidden", + values = "GetPageValues", + set = "SetProp", + get = "GetPage", + }, hide = { name = L["Hide Bar"], order = 90, @@ -649,6 +660,35 @@ return not GetProperty(self.bar, self:GetName(), "anchorEnable") end + function StateHandler:IsPageDisabled() + local n = self.bar:GetConfig().nPages or 1 + return not (n > 1) + end + + function StateHandler:IsPageHidden() + return not self.bar:GetConfig().nPages + end + + function StateHandler:GetPageValues() + if not self._pagevalues then + self._pagevalues = { } + end + local n = self.bar:GetConfig().nPages + -- cache the results + if self._npages ~= n then + self._npages = n + wipe(self._pagevalues) + for i = 1, n do + self._pagevalues["page"..i] = i + end + end + return self._pagevalues + end + + function StateHandler:GetPage(info) + return self:GetProp(info) or 1 + end + function StateHandler:GetAnchorFrames(info) self._anchorframes = self._anchorframes or { } table.wipe(self._anchorframes)