Mercurial > wow > reaction
comparison ReAction.lua @ 211:97949dbe987f
Demodularize HideBlizzard
- added framework for updating profile database
- removed unused profile.defaultBars[]
| author | Flick <flickerstreak@gmail.com> |
|---|---|
| date | Thu, 18 Nov 2010 12:59:00 -0800 |
| parents | c24ac8ee1e45 |
| children | e275a8663a16 |
comparison
equal
deleted
inserted
replaced
| 207:c24ac8ee1e45 | 211:97949dbe987f |
|---|---|
| 34 ------ Handlers ------ | 34 ------ Handlers ------ |
| 35 function ReAction:OnInitialize() | 35 function ReAction:OnInitialize() |
| 36 self.db = LibStub("AceDB-3.0"):New("ReAction_DB", | 36 self.db = LibStub("AceDB-3.0"):New("ReAction_DB", |
| 37 { | 37 { |
| 38 profile = { | 38 profile = { |
| 39 dbversion = nil, | |
| 39 bars = { }, | 40 bars = { }, |
| 40 defaultBar = { }, | 41 options = { |
| 42 hideBlizzardBars = false, | |
| 43 hideBlizzardVehicleBar = false, | |
| 44 }, | |
| 45 }, | |
| 46 global = { | |
| 47 skipKeybindWarning = false, | |
| 41 } | 48 } |
| 42 }, | 49 }, |
| 43 true -- use global 'Default' (locale-specific) | 50 true -- use global 'Default' (locale-specific) |
| 44 ) | 51 ) |
| 45 | 52 |
| 53 self:UpdateDB() | |
| 54 | |
| 46 self.bars = { } | 55 self.bars = { } |
| 47 self.defaultBarConfig = { } | 56 self.defaultBarConfig = { } |
| 57 | |
| 58 -- It's fairly normal to use the Blizzard vehicle bar, and to have | |
| 59 -- your regular buttons in the same location. If you do this, and don't | |
| 60 -- bother to hide your buttons, they'll obscure some parts of the vehicle bar. | |
| 61 VehicleMenuBar:SetFrameLevel(VehicleMenuBar:GetFrameLevel()+3) | |
| 48 | 62 |
| 49 self.callbacks = LibStub("CallbackHandler-1.0"):New(self) | 63 self.callbacks = LibStub("CallbackHandler-1.0"):New(self) |
| 50 LKB.RegisterCallback(self,"LIBKEYBOUND_ENABLED") | 64 LKB.RegisterCallback(self,"LIBKEYBOUND_ENABLED") |
| 51 LKB.RegisterCallback(self,"LIBKEYBOUND_DISABLED") | 65 LKB.RegisterCallback(self,"LIBKEYBOUND_DISABLED") |
| 52 LKB.RegisterCallback(self, "LIBKEYBOUND_MODE_COLOR_CHANGED","LIBKEYBOUND_ENABLED") | 66 LKB.RegisterCallback(self, "LIBKEYBOUND_MODE_COLOR_CHANGED","LIBKEYBOUND_ENABLED") |
| 141 config.point = config.point or "BOTTOM" | 155 config.point = config.point or "BOTTOM" |
| 142 config.relpoint = config.relpoint or "BOTTOM" | 156 config.relpoint = config.relpoint or "BOTTOM" |
| 143 config.y = config.y or 200 | 157 config.y = config.y or 200 |
| 144 config.x = config.x or 0 | 158 config.x = config.x or 0 |
| 145 end | 159 end |
| 146 config = config or profile.bars[name] or tcopy(profile.defaultBar) | 160 config = config or profile.bars[name] or { } |
| 147 | 161 |
| 148 profile.bars[name] = config | 162 profile.bars[name] = config |
| 149 local bar = self.Bar:New( name, config ) -- ReAction.Bar defined in Bar.lua | 163 local bar = self.Bar:New( name, config ) -- ReAction.Bar defined in Bar.lua |
| 150 self.bars[name] = bar | 164 self.bars[name] = bar |
| 151 self.callbacks:Fire("OnCreateBar", bar, name) | 165 self.callbacks:Fire("OnCreateBar", bar, name) |
| 172 end | 186 end |
| 173 end | 187 end |
| 174 | 188 |
| 175 function ReAction:InitializeBars() | 189 function ReAction:InitializeBars() |
| 176 if not self.barsInitialized then | 190 if not self.barsInitialized then |
| 191 self:ManageBlizzardBars() | |
| 192 | |
| 177 for name, config in pairs(self.db.profile.bars) do | 193 for name, config in pairs(self.db.profile.bars) do |
| 178 if config then | 194 if config then |
| 179 self:CreateBar(name, config) | 195 self:CreateBar(name, config) |
| 180 end | 196 end |
| 181 end | 197 end |
| 230 DestroyBar(bar) | 246 DestroyBar(bar) |
| 231 self.db.profile.bars[name] = nil | 247 self.db.profile.bars[name] = nil |
| 232 end | 248 end |
| 233 end | 249 end |
| 234 | 250 |
| 251 local blizzFrames = { | |
| 252 MainMenuBar, | |
| 253 MultiBarLeft, | |
| 254 MultiBarRight, | |
| 255 MultiBarBottomLeft, | |
| 256 MultiBarBottomRight, | |
| 257 } | |
| 258 | |
| 259 local hideFrame = CreateFrame("Frame") | |
| 260 hideFrame:Hide() | |
| 261 local hiddenParents = { } | |
| 262 local function ManageBlizzFrame(f, hide) | |
| 263 if hide and not hiddenParents[f] then | |
| 264 hiddenParents[f] = f:GetParent() | |
| 265 f:SetParent(hideFrame) | |
| 266 elseif not hide and hiddenParents[f] then | |
| 267 f:SetParent(hiddenParents[f]) | |
| 268 hiddenParents[f] = nil | |
| 269 if f:IsShown() then | |
| 270 f:Show() -- refresh | |
| 271 end | |
| 272 end | |
| 273 end | |
| 274 | |
| 275 function ReAction:ManageBlizzardBars() | |
| 276 for _, f in pairs(blizzFrames) do | |
| 277 ManageBlizzFrame(f, self.db.profile.options.hideBlizzardBars) | |
| 278 end | |
| 279 ManageBlizzFrame(VehicleMenuBar, self.db.profile.options.hideBlizzardVehicleBar) | |
| 280 end | |
| 281 | |
| 235 function ReAction:RegisterBarType( name, config, isDefaultChoice ) | 282 function ReAction:RegisterBarType( name, config, isDefaultChoice ) |
| 236 self.defaultBarConfig[name] = config | 283 self.defaultBarConfig[name] = config |
| 237 if isDefaultChoice then | 284 if isDefaultChoice then |
| 238 self.defaultBarConfigChoice = name | 285 self.defaultBarConfigChoice = name |
| 239 end | 286 end |
