77a41d6 - Fix infinite Monk inspects
[wowui.git] / OmaAB / HideBlizzard.lua
1 -- HideBlizzardAB.lua
2 local microbuttons = {
3     CharacterMicroButton,
4     SpellbookMicroButton,
5     TalentMicroButton,
6     AchievementMicroButton,
7     QuestLogMicroButton,
8     GuildMicroButton,
9     LFDMicroButton,
10     CollectionsMicroButton,
11     EJMicroButton,
12     StoreMicroButton,
13     MainMenuMicroButton,
14 };
15
16 local micromenu = nil;
17 local function moveMicroMenu()
18     for i, button in ipairs(microbuttons) do
19         -- TODO save original points to move back to override actionbar
20         button:SetParent(micromenu);
21         button:ClearAllPoints();
22         if i == 1 then
23             button:SetPoint("TOPRIGHT");
24         else
25             button:SetPoint("TOPRIGHT", microbuttons[i-1], "BOTTOMRIGHT", 0, 22);
26         end
27     end
28 end
29 -- based on Bartender4
30 local function hide()
31     -- Hidden parent frame
32     local UIHider = CreateFrame("Frame");
33     UIHider:Hide();
34
35     MultiBarBottomLeft:SetParent(UIHider);
36     MultiBarBottomRight:SetParent(UIHider);
37     MultiBarLeft:SetParent(UIHider);
38     MultiBarRight:SetParent(UIHider);
39
40     -- Hide MultiBar Buttons, but keep the bars alive
41     for i=1,12 do
42         _G["ActionButton" .. i]:Hide();
43         _G["ActionButton" .. i]:UnregisterAllEvents();
44         _G["ActionButton" .. i]:SetAttribute("statehidden", true);
45
46         _G["MultiBarBottomLeftButton" .. i]:Hide();
47         _G["MultiBarBottomLeftButton" .. i]:UnregisterAllEvents();
48         _G["MultiBarBottomLeftButton" .. i]:SetAttribute("statehidden", true);
49
50         _G["MultiBarBottomRightButton" .. i]:Hide();
51         _G["MultiBarBottomRightButton" .. i]:UnregisterAllEvents();
52         _G["MultiBarBottomRightButton" .. i]:SetAttribute("statehidden", true);
53
54         _G["MultiBarRightButton" .. i]:Hide();
55         _G["MultiBarRightButton" .. i]:UnregisterAllEvents();
56         _G["MultiBarRightButton" .. i]:SetAttribute("statehidden", true);
57
58         _G["MultiBarLeftButton" .. i]:Hide();
59         _G["MultiBarLeftButton" .. i]:UnregisterAllEvents();
60         _G["MultiBarLeftButton" .. i]:SetAttribute("statehidden", true);
61     end
62
63     micromenu = CreateFrame("Frame", "OmaMicroMenu", UIParent);
64     micromenu:SetPoint("RIGHT");
65     micromenu:SetWidth(1);
66     micromenu:SetHeight(11*58);
67     moveMicroMenu();
68     hooksecurefunc("UpdateMicroButtons", moveMicroMenu);
69     OverrideActionBar:HookScript("OnShow", moveMicroMenu); -- TODO have in orig position
70     OverrideActionBar:HookScript("OnHide", moveMicroMenu);
71     PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnShow", moveMicroMenu);
72     PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnHide", moveMicroMenu);
73     --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarRight"] = nil;
74     --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarLeft"] = nil;
75     --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomLeft"] = nil;
76     --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomRight"] = nil;
77     UIPARENT_MANAGED_FRAME_POSITIONS["MainMenuBar"] = nil;
78     UIPARENT_MANAGED_FRAME_POSITIONS["StanceBarFrame"] = nil;
79     UIPARENT_MANAGED_FRAME_POSITIONS["ZoneAbilityFrame"] = nil;
80     UIPARENT_MANAGED_FRAME_POSITIONS["ExtraActionBarFrame"] = nil;
81     UIPARENT_MANAGED_FRAME_POSITIONS["PossessBarFrame"] = nil;
82     --UIPARENT_MANAGED_FRAME_POSITIONS["PETACTIONBAR_YPOS"] = nil;
83
84     --MainMenuBar:UnregisterAllEvents();
85     --MainMenuBar:Hide();
86     --MainMenuBar:SetParent(UIHider);
87     MainMenuBar:EnableMouse(false);
88     -- TODO vehicle controller handled overridebar and mainmenubar in Bartender, needed?
89     --local vehicleController = CreateFrame("Frame", nil, nil, "SecureHandlerStateTemplate");
90
91     local animations = {MainMenuBar.slideOut:GetAnimations()};
92     animations[1]:SetOffset(0,0);
93
94     animations = {OverrideActionBar.slideOut:GetAnimations()};
95     animations[1]:SetOffset(0,0);
96
97     --MainMenuBarArtFrame:UnregisterEvent("PLAYER_ENTERING_WORLD");
98     --MainMenuBarArtFrame:UnregisterEvent("BAG_UPDATE");
99     --MainMenuBarArtFrame:UnregisterEvent("ACTIONBAR_PAGE_CHANGED");
100     --MainMenuBarArtFrame:UnregisterEvent("KNOWN_CURRENCY_TYPES_UPDATE");
101     --MainMenuBarArtFrame:UnregisterEvent("CURRENCY_DISPLAY_UPDATE");
102     --MainMenuBarArtFrame:UnregisterEvent("ADDON_LOADED");
103     --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERING_VEHICLE");
104     --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERED_VEHICLE");
105     --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITING_VEHICLE");
106     --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITED_VEHICLE");
107     MainMenuBarArtFrame:Hide();
108     MainMenuBarArtFrame:SetParent(UIHider);
109
110     MainMenuExpBar:UnregisterAllEvents();
111     MainMenuExpBar:Hide();
112     MainMenuExpBar:SetParent(UIHider);
113     MainMenuExpBar:SetDeferAnimationCallback(nil);
114
115     MainMenuBarMaxLevelBar:Hide();
116     MainMenuBarMaxLevelBar:SetParent(UIHider);
117
118     ReputationWatchBar:UnregisterAllEvents();
119     ReputationWatchBar:Hide();
120     ReputationWatchBar:SetParent(UIHider);
121
122     -- TODO create artifact bar
123     ArtifactWatchBar:SetParent(UIHider);
124     ArtifactWatchBar.StatusBar:SetDeferAnimationCallback(nil);
125
126     HonorWatchBar:SetParent(UIHider);
127     HonorWatchBar.StatusBar:SetDeferAnimationCallback(nil);
128
129     --PossessBarFrame:UnregisterAllEvents();
130     PossessBarFrame:Hide();
131     PossessBarFrame:SetParent(UIHider);
132
133     ZoneAbilityFrame:ClearAllPoints();
134     ZoneAbilityFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -450, 150);
135     ExtraActionBarFrame:ClearAllPoints();
136     ExtraActionBarFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -450, 120);
137     MainMenuBarVehicleLeaveButton:SetParent(UIParent);
138     MainMenuBarVehicleLeaveButton:ClearAllPoints();
139     MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5);
140     hooksecurefunc("MainMenuBarVehicleLeaveButton_Update", function()
141         if CanExitVehicle() then
142             -- TODO check if needed
143             --MainMenuBarVehicleLeaveButton:ClearAllPoints();
144             --MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5);
145             MainMenuBarVehicleLeaveButton:Show();
146         end
147     end);
148
149     if PlayerTalentFrame then
150         PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED");
151     else
152         hooksecurefunc("TalentFrame_LoadUI", function()
153             PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED");
154         end);
155     end
156     --[[StanceBarFrame:UnregisterAllEvents()
157     StanceBarFrame:Hide()
158     StanceBarFrame:SetParent(UIHider)
159
160     --BonusActionBarFrame:UnregisterAllEvents()
161     --BonusActionBarFrame:Hide()
162     --BonusActionBarFrame:SetParent(UIHider)
163
164     PetActionBarFrame:UnregisterAllEvents()
165     PetActionBarFrame:Hide()
166     PetActionBarFrame:SetParent(UIHider)
167     --]]
168 end
169
170 hide();