--- /dev/null
+-- HideBlizzardAB.lua
+local microbuttons = {
+ CharacterMicroButton,
+ SpellbookMicroButton,
+ TalentMicroButton,
+ AchievementMicroButton,
+ QuestLogMicroButton,
+ GuildMicroButton,
+ LFDMicroButton,
+ CollectionsMicroButton,
+ EJMicroButton,
+ StoreMicroButton,
+ MainMenuMicroButton,
+};
+
+local micromenu = nil;
+local function moveMicroMenu()
+ for i, button in ipairs(microbuttons) do
+ -- TODO save original points to move back to override actionbar
+ button:SetParent(micromenu);
+ button:ClearAllPoints();
+ if i == 1 then
+ button:SetPoint("TOPRIGHT");
+ else
+ button:SetPoint("TOPRIGHT", microbuttons[i-1], "BOTTOMRIGHT", 0, 22);
+ end
+ end
+end
+-- based on Bartender4
+local function hide()
+ -- Hidden parent frame
+ local UIHider = CreateFrame("Frame");
+ UIHider:Hide();
+
+ MultiBarBottomLeft:SetParent(UIHider);
+ MultiBarBottomRight:SetParent(UIHider);
+ MultiBarLeft:SetParent(UIHider);
+ MultiBarRight:SetParent(UIHider);
+
+ -- Hide MultiBar Buttons, but keep the bars alive
+ for i=1,12 do
+ _G["ActionButton" .. i]:Hide();
+ _G["ActionButton" .. i]:UnregisterAllEvents();
+ _G["ActionButton" .. i]:SetAttribute("statehidden", true);
+
+ _G["MultiBarBottomLeftButton" .. i]:Hide();
+ _G["MultiBarBottomLeftButton" .. i]:UnregisterAllEvents();
+ _G["MultiBarBottomLeftButton" .. i]:SetAttribute("statehidden", true);
+
+ _G["MultiBarBottomRightButton" .. i]:Hide();
+ _G["MultiBarBottomRightButton" .. i]:UnregisterAllEvents();
+ _G["MultiBarBottomRightButton" .. i]:SetAttribute("statehidden", true);
+
+ _G["MultiBarRightButton" .. i]:Hide();
+ _G["MultiBarRightButton" .. i]:UnregisterAllEvents();
+ _G["MultiBarRightButton" .. i]:SetAttribute("statehidden", true);
+
+ _G["MultiBarLeftButton" .. i]:Hide();
+ _G["MultiBarLeftButton" .. i]:UnregisterAllEvents();
+ _G["MultiBarLeftButton" .. i]:SetAttribute("statehidden", true);
+ end
+
+ micromenu = CreateFrame("Frame", "OmaMicroMenu", UIParent);
+ micromenu:SetPoint("RIGHT");
+ micromenu:SetWidth(1);
+ micromenu:SetHeight(11*58);
+ moveMicroMenu();
+ hooksecurefunc("UpdateMicroButtons", moveMicroMenu);
+ OverrideActionBar:HookScript("OnShow", moveMicroMenu); -- TODO have in orig position
+ OverrideActionBar:HookScript("OnHide", moveMicroMenu);
+ PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnShow", moveMicroMenu);
+ PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnHide", moveMicroMenu);
+ --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarRight"] = nil;
+ --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarLeft"] = nil;
+ --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomLeft"] = nil;
+ --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomRight"] = nil;
+ UIPARENT_MANAGED_FRAME_POSITIONS["MainMenuBar"] = nil;
+ UIPARENT_MANAGED_FRAME_POSITIONS["StanceBarFrame"] = nil;
+ UIPARENT_MANAGED_FRAME_POSITIONS["ZoneAbilityFrame"] = nil;
+ UIPARENT_MANAGED_FRAME_POSITIONS["ExtraActionBarFrame"] = nil;
+ UIPARENT_MANAGED_FRAME_POSITIONS["PossessBarFrame"] = nil;
+ --UIPARENT_MANAGED_FRAME_POSITIONS["PETACTIONBAR_YPOS"] = nil;
+
+ --MainMenuBar:UnregisterAllEvents();
+ --MainMenuBar:Hide();
+ --MainMenuBar:SetParent(UIHider);
+ MainMenuBar:EnableMouse(false);
+ -- TODO vehicle controller handled overridebar and mainmenubar in Bartender, needed?
+ --local vehicleController = CreateFrame("Frame", nil, nil, "SecureHandlerStateTemplate");
+
+ local animations = {MainMenuBar.slideOut:GetAnimations()};
+ animations[1]:SetOffset(0,0);
+
+ animations = {OverrideActionBar.slideOut:GetAnimations()};
+ animations[1]:SetOffset(0,0);
+
+ --MainMenuBarArtFrame:UnregisterEvent("PLAYER_ENTERING_WORLD");
+ --MainMenuBarArtFrame:UnregisterEvent("BAG_UPDATE");
+ --MainMenuBarArtFrame:UnregisterEvent("ACTIONBAR_PAGE_CHANGED");
+ --MainMenuBarArtFrame:UnregisterEvent("KNOWN_CURRENCY_TYPES_UPDATE");
+ --MainMenuBarArtFrame:UnregisterEvent("CURRENCY_DISPLAY_UPDATE");
+ --MainMenuBarArtFrame:UnregisterEvent("ADDON_LOADED");
+ --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERING_VEHICLE");
+ --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERED_VEHICLE");
+ --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITING_VEHICLE");
+ --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITED_VEHICLE");
+ MainMenuBarArtFrame:Hide();
+ MainMenuBarArtFrame:SetParent(UIHider);
+
+ MainMenuExpBar:UnregisterAllEvents();
+ MainMenuExpBar:Hide();
+ MainMenuExpBar:SetParent(UIHider);
+ MainMenuExpBar:SetDeferAnimationCallback(nil);
+
+ MainMenuBarMaxLevelBar:Hide();
+ MainMenuBarMaxLevelBar:SetParent(UIHider);
+
+ ReputationWatchBar:UnregisterAllEvents();
+ ReputationWatchBar:Hide();
+ ReputationWatchBar:SetParent(UIHider);
+
+ -- TODO create artifact bar
+ ArtifactWatchBar:SetParent(UIHider);
+ ArtifactWatchBar.StatusBar:SetDeferAnimationCallback(nil);
+
+ HonorWatchBar:SetParent(UIHider);
+ HonorWatchBar.StatusBar:SetDeferAnimationCallback(nil);
+
+ --PossessBarFrame:UnregisterAllEvents();
+ PossessBarFrame:Hide();
+ PossessBarFrame:SetParent(UIHider);
+
+ ZoneAbilityFrame:ClearAllPoints();
+ ZoneAbilityFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -550, 160);
+ ExtraActionBarFrame:ClearAllPoints();
+ ExtraActionBarFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -550, 120);
+ MainMenuBarVehicleLeaveButton:SetParent(UIParent);
+ MainMenuBarVehicleLeaveButton:ClearAllPoints();
+ MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5);
+ hooksecurefunc("MainMenuBarVehicleLeaveButton_Update", function()
+ if CanExitVehicle() then
+ -- TODO check if needed
+ --MainMenuBarVehicleLeaveButton:ClearAllPoints();
+ --MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5);
+ MainMenuBarVehicleLeaveButton:Show();
+ end
+ end);
+
+ if PlayerTalentFrame then
+ PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED");
+ else
+ hooksecurefunc("TalentFrame_LoadUI", function()
+ PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED");
+ end);
+ end
+ --[[StanceBarFrame:UnregisterAllEvents()
+ StanceBarFrame:Hide()
+ StanceBarFrame:SetParent(UIHider)
+
+ --BonusActionBarFrame:UnregisterAllEvents()
+ --BonusActionBarFrame:Hide()
+ --BonusActionBarFrame:SetParent(UIHider)
+
+ PetActionBarFrame:UnregisterAllEvents()
+ PetActionBarFrame:Hide()
+ PetActionBarFrame:SetParent(UIHider)
+ --]]
+end
+
+hide();