So Would something like this be the correct method?
Code:
cDataMainPanel:SetScript("OnEvent", function(self, event, ...)
if event == "UNIT_EXITED_VEHICLE" or event == "PET_BATTLE_CLOSE" or event == "PLAYER_ENTERING_WORLD" then
local F_ClearAllPoints = UIParent.ClearAllPoints
F_ClearAllPoints(_G["MainMenuBar"])
F_ClearAllPoints(_G["OverrideActionBar"])
F_ClearAllPoints(_G["ExtraActionButton1"])
_G["MainMenuBar"]:SetPoint("BOTTOM",cDataMainPanel,"TOP",0,-4);
_G["OverrideActionBar"]:SetPoint("BOTTOM",cDataMainPanel,"TOP",0,8);
_G["ExtraActionButton1"]:SetPoint("CENTER", MainMenuBar, "TOP", 0, 100);
self:Show()
else
self:Hide()
end
end)
- - - Updated - - -
Ok so I was looking around and I figured it out.
First I Created 2 new functions:
#1
Code:
function cData:ShowPanel()
F_ClearAllPoints(_G["MainMenuBar"])
F_ClearAllPoints(_G["OverrideActionBar"])
F_ClearAllPoints(_G["ExtraActionButton1"])
_G["MainMenuBar"]:SetPoint("BOTTOM",cDataMainPanel,"TOP",0,-4);
_G["OverrideActionBar"]:SetPoint("BOTTOM",cDataMainPanel,"TOP",0,8);
_G["ExtraActionButton1"]:SetPoint("CENTER", MainMenuBar, "TOP", 0, 100);
cDataMainPanel:Show()
end
#2
Code:
function cData:HidePanel()
F_ClearAllPoints(_G["MainMenuBar"])
F_ClearAllPoints(_G["OverrideActionBar"])
_G["MainMenuBar"]:SetPoint("BOTTOM",UIParent);
_G["OverrideActionBar"]:SetPoint("BOTTOM",UIParent);
cDataMainPanel:Hide()
end
Also added at the top of the lua file:
Code:
local F_ClearAllPoints = UIParent.ClearAllPoints
So it would be called threw out the addon.
Then I added both functions to the OnEnable() like so:
Code:
self:ShowPanel();
self:RegisterEvent("UNIT_EXITED_VEHICLE", "ShowPanel");
self:RegisterEvent("PET_BATTLE_CLOSE", "ShowPanel");
self:RegisterEvent("PLAYER_ENTERING_WORLD", "ShowPanel");
self:HidePanel();
self:RegisterEvent("UNIT_ENTERED_VEHICLE", "HidePanel");
self:RegisterEvent("PET_BATTLE_OPENING_DONE", "HidePanel");
And low and behold it works perfect (so Far :P)
Thanks for the help.
Coke