Mercurial > wow > reaction
view modules/ReAction_HideBlizzard/ReAction_HideBlizzard.lua @ 38:00f08528faaf
HideBlizzard now reroutes InterfaceOptions->ActionBars to InterfaceOptions->AddOns->ReAction if hide-blizzard-bars is checked
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Thu, 03 Apr 2008 21:08:52 +0000 |
parents | 27dde2743f43 |
children | 2d1f35b1a873 |
line wrap: on
line source
--[[ ReAction 'Hide Blizzard' module Hides Blizzard action bars. This hides the extra action bars, stance bar, pet bar, and main menu bar, which in turn hides the experience bar, bag bar, micro menu bar, and lag meter. --]] -- local imports local ReAction = ReAction local L = ReAction.L -- module declaration local moduleID = "HideBlizzard" local module = ReAction:NewModule( moduleID ) -- module methods function module:OnInitialize() self.db = ReAction.db:RegisterNamespace( moduleID, { profile = { hide = false } } ) self.db.RegisterCallback(self,"OnProfileChanged") self.hiddenFrame = CreateFrame("Frame") self.hiddenFrame:Hide() end function module:OnEnable() if self.db.profile.hide then self:HideAll(true) end ReAction:RegisterOptions("global", self, { hideBlizzard = { type = "toggle", handler = self, name = L["Hide Blizzard Action Bars"], desc = L["Hide the default main bar and extra action bars"], get = "IsHidden", set = function(info,value) self:SetHidden(value) end, disabled = InCombatLockdown } }) -- reroute blizzard action bar config to ReAction config window InterfaceOptionsActionBarsPanel:HookScript("OnShow", function() if module:IsHidden() then ReAction:ShowConfig() end end ) end function module:OnDisable() self:ShowAll(true) end function module:OnProfileChanged() if self.db.profile.hide then module:HideAll(true) else module:ShowAll(true) end end local frames = { MainMenuBar, PetActionBarFrame, BonusActionBarFrame, ShapeshiftBarFrame, MultiBarLeft, MultiBarRight, MultiBarBottomLeft, MultiBarBottomRight, SlidingActionBarTexture0, SlidingActionBarTexture1, } local hidden = { } function module:HideAll( force ) if not(self.db.profile.hide) or force then self.db.profile.hide = true for _, f in pairs(frames) do hidden[f] = hidden[f] or { parent = f:GetParent(), wasShown = f:IsShown() } f:SetParent(self.hiddenFrame) f:Hide() end end end function module:ShowAll( force ) if self.db.profile.hide or force then self.db.profile.hide = false for _, f in pairs(frames) do local h = hidden[f] if h then f:SetParent(h.parent) if h.wasShown then f:Show() end end end end end function module:IsHidden() return self.db.profile.hide end function module:SetHidden(h) if h then self:HideAll() else self:ShowAll() end end