Originally Posted by MunkDev
This does work for the glyph frame, but it opens the glyph frame regardless of the tabnumber given!
|
Havn't really tested the last one through, but try this one:
Lua Code:
function ToggleTalentTab(tabNumber)
if not PlayerTalentFrame then
LoadAddOn("Blizzard_TalentUI")
end
if not PlayerTalentFrame:IsShown() then
-- To prevent feral specs to pop up
if type(tabNumber) ~= "number" then
return
end
if tabNumber < 1 or tabNumber > 4 then
return
end
ShowUIPanel(PlayerTalentFrame)
PanelTemplates_SetTab(PlayerTalentFrame, tabNumber)
if tabNumber == 1 then
PlayerTalentFrame_ShowsSpecTab()
PlayerTalentFrame_HideTalentTab()
PlayerTalentFrame_HideGlyphFrame()
PlayerTalentFrame_HidePetSpecTab()
elseif tabNumber == 2 then
PlayerTalentFrame_HideSpecsTab()
PlayerTalentFrame_ShowTalentTab()
PlayerTalentFrame_HideGlyphFrame()
PlayerTalentFrame_HidePetSpecTab()
-- This is some serious real hack here
HideUIPanel(PlayerTalentFrame)
ShowUIPanel(PlayerTalentFrame)
elseif tabNumber == 3 then
GlyphFrame_LoadUI()
PlayerTalentFrame_HideTalentTab()
PlayerTalentFrame_HideSpecsTab()
PlayerTalentFrame_ShowGlyphFrame()
PlayerTalentFrame_HidePetSpecTab()
elseif tabNumber == 4 then
PlayerTalentFrame_HideTalentTab()
PlayerTalentFrame_HideSpecsTab()
PlayerTalentFrame_HideGlyphFrame()
PlayerTalentFrame_ShowPetSpecTab()
end
else
HideUIPanel(PlayerTalentFrame)
end
end
Edit: Fixed a typo.
Lua Code:
PlayerTalentFrame_ShowsSpecTab
PlayerTalentFrame_HideSpecsTab
Seems like the show is only
spec, while the hide function is
specs.
This should work now properly.
The best thing if you call it without an argument 2-3 times then you can choose a feral spec. :P