vanilla-wow-addons – Rev 1
?pathlinks?
-- TitanWardrobe 1.0
local function TEXT(key) return Localization.GetString("Wardrobe", key) end
WARDROBE_TITAN_ID = "Wardrobe";
function Wardrobe.TitanPanelButton_OnLoad()
if ( IsAddOnLoaded("Titan") ) then
-- register the plugin
this.registry = {
id = WARDROBE_TITAN_ID,
menuText = WARDROBE_TITAN_ID,
buttonTextFunction = "Wardrobe_TitanPanelButton_GetButtonText",
--tooltipTitle = TEXT("TITAN_BUTTON_TEXT"),
--tooltipTextFunction = "Wardrobe_TitanPanelButton_GetTooltipText",
icon = "Interface\\AddOns\\Wardrobe\\Images\\WardrobeTitan",
iconWidth = 16,
savedVariables = {
ShowMinimapIcon = 1,
ShowIcon = 1,
ShowLabelText = TITAN_NIL,
}
};
this:RegisterEvent("PLAYER_ENTERING_WORLD");
if (Chronos) then
this:RegisterEvent("UNIT_INVENTORY_CHANGED");
else
this.registry.frequency = 1;
end
TitanPanelButton_OnLoad();
end
end
function Wardrobe.TitanPanelButton_OnEvent(event)
if (event == "UNIT_INVENTORY_CHANGED") then
Chronos.scheduleByName("WardrobeTitanUpdate", .2, function() TitanPanelButton_UpdateButton(WARDROBE_TITAN_ID) end);
elseif (event == "PLAYER_ENTERING_WORLD") then
Wardrobe.enteredWorld = true;
Wardrobe.CheckForOurWardrobeID();
Wardrobe.TitanUpdateMinimapStatus();
end
end
function Wardrobe.TitanPanelButton_GetButtonText(id)
local labelText = nil;
-- display the label if the user has selected
if (TitanGetVar(WARDROBE_TITAN_ID, "ShowLabelText")) then
labelText = TEXT("TITAN_BUTTON_TEXT");
end
-- get any active outfits
local outfitText = Wardrobe.GetActiveOutfitsTextList();
-- show / hide the minimap icon
if (Wardrobe.enteredWorld) then
Wardrobe.TitanUpdateMinimapStatus();
end
return labelText, outfitText;
end
Wardrobe_TitanPanelButton_GetButtonText = Wardrobe.TitanPanelButton_GetButtonText;
function Wardrobe.TitanUpdateMinimapStatus(elseShow)
if (TitanGetVar) then
if (TitanGetVar(WARDROBE_TITAN_ID, "ShowMinimapIcon")) then
Wardrobe_Config[WD_realmID][WD_charID].MinimapButtonVisible = 1;
Wardrobe.IconFrame:Show();
else
Wardrobe_Config[WD_realmID][WD_charID].MinimapButtonVisible = 0;
Wardrobe.IconFrame:Hide();
end
else
if (elseShow) then
Wardrobe.IconFrame:Show();
else
Wardrobe.IconFrame:Hide();
end
end
end
function Wardrobe.TitanPanelButton_GetTooltipText()
return TEXT("TITAN_TOOLTIP_TEXT");
end
Wardrobe_TitanPanelButton_GetTooltipText = Wardrobe.TitanPanelButton_GetTooltipText;
function TitanPanelRightClickMenu_PrepareWardrobeMenu()
TitanPanelRightClickMenu_AddTitle(TitanPlugins[WARDROBE_TITAN_ID].menuText);
-- show the "hide minimap icon"
TitanPanelRightClickMenu_AddToggleVar(TEXT("TITAN_MENU_SHOW_MINIMAP_ICON"), WARDROBE_TITAN_ID, "ShowMinimapIcon");
TitanPanelRightClickMenu_AddSpacer();
TitanPanelRightClickMenu_AddToggleIcon(WARDROBE_TITAN_ID);
TitanPanelRightClickMenu_AddToggleLabelText(WARDROBE_TITAN_ID);
TitanPanelRightClickMenu_AddSpacer();
TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, WARDROBE_TITAN_ID, TITAN_PANEL_MENU_FUNC_HIDE);
end
function Wardrobe.TitanPanelButton_OnClick(button)
-- show the wardrobe menu on left clicks, options on right clicks
if ( button == "LeftButton" ) then
local position = TitanUtils_GetRealPosition(WARDROBE_TITAN_ID);
--local horizOffset = -( DropDownList1:GetWidth()-TitanPanelWardrobeButton:GetWidth() )/2;
if (position == TITAN_PANEL_PLACE_TOP) then
ToggleDropDownMenu(1, nil, WardrobeDropDown, "TitanPanelWardrobeButton", -15, 0, "TOPLEFT");
else
ToggleDropDownMenu(1, nil, WardrobeDropDown, "TitanPanelWardrobeButton", -15, 0, "BOTTOMLEFT");
end
else
TitanPanelButton_OnClick(button, 1);
end
end
function Wardrobe.TitanPanelButton_OnEnter()
if (Wardrobe_Config.MustClickUIButton) then
TitanPanelButton_OnEnter();
else
if (not DropDownList1:IsVisible()) then
Wardrobe.TitanPanelButton_OnClick("LeftButton");
end
end
end