vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
TITAN_BRL_ID =  "BRL";
PLUGIN_POSITION = 0;
BRL_PLAYER_INFO = "";
--TITAN_BRL_ICON_PATH = "Interface\\Icons\\Ability_Hunter_Pathfinding";
--TITAN_BRL_ICON_PATH = "Interface\\Icons\\INV_Misc_TheGoldenCheep";
--TITAN_BRL_ICON_PATH = "Interface\\Icons\\Spell_Arcane_TeleportDarnassus";
--TITAN_BRL_ICON_PATH = "Interface\\Buttons\\UI-MicroButton-World-Up";
TITAN_BRL_ICON_PATH = "Interface\\Addons\\BMRecLevel\\BRL_Icon";

function TitanPanelBRLButton_OnLoad()
        this.registry = { 
                id = TITAN_BRL_ID,
                menuText = BMRECLEVEL_TITLE, 
                buttonTextFunction = "TitanPanelBRLButton_GetButtonText", 
                tooltipTitle = BRL_TOOPTIP_TITLE,
                --tooltipTextFunction = "TitanPanelBRLButton_GetTooltipText",
                icon = TITAN_BRL_ICON_PATH,
                iconWidth = 12,
                savedVariables = {
                        ShowLabelText = 1,  -- Default to 1
                        ShowIcon = 1;
                }
        };
        
        this:RegisterEvent("VARIABLES_LOADED");
        --this:RegisterEvent("PLAYER_ENTERING_WORLD");
        this:RegisterEvent("MINIMAP_ZONE_CHANGED");
        this:RegisterEvent("ZONE_CHANGED_NEW_AREA");
        this:RegisterEvent("PLAYER_LEVEL_UP");
end

function TitanPanelBRLButton_OnEvent()
        if (event == "VARIABLES_LOADED") then
                TitanPanelButtonBRL_SetIcon();
        end
        --[[
        if (event == "PLAYER_ENTERING_WORLD") then
                BRL_PLAYER_INFO = UnitName("player") .. "@" ..  GetCVar("realmName");
        end]]
        TitanPanelButton_UpdateButton(TITAN_BRL_ID);
end

function TitanPanelBRLButton_GetButtonText(id)
        if (TitanGetVar(TITAN_BRL_ID, "ShowLabelText")) then
                local zonetext, levelrangetext  = BMRecLevel_Update_Text();
                return TitanUtils_GetNormalText(zonetext), levelrangetext;
        else
                local __, levelrangetext  = BMRecLevel_Update_Text();
                return levelrangetext;
        end
end

function TitanPanelBRLButton_GetTooltipText()
        return BM_REC_LEVEL_TOOLTIP_TEXT;       
end

function TitanPanelRightClickMenu_PrepareBRLMenu()
        local info;
        
        TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_BRL_ID].menuText); 
        
        info = {};
        info.text = BRL_SHOW_ZONE;
        info.func = TitanPanelBRLButton_ToggleZone;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_zone;
        UIDropDownMenu_AddButton(info); 

        info = {};
        info.text = BRL_SHOW_TOOLTIP_FACTION;
        info.func = TitanPanelBRLButton_ToggleFaction;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_faction;
        UIDropDownMenu_AddButton(info); 
        
        info = {};
        info.text = BRL_SHOW_TOOLTIP_INSTANCE;
        info.func = TitanPanelBRLButton_ToggleInstance;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_instance;
        UIDropDownMenu_AddButton(info);

        info = {};
        info.text = BRL_SHOW_TOOLTIP_CONTINENT;
        info.func = TitanPanelBRLButton_ToggleContinent;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_continent;
        UIDropDownMenu_AddButton(info);
                
        TitanPanelRightClickMenu_AddSpacer();

        info = {};
        info.text = BRL_MOVABLE_FRAME_ENABLE;
        info.func = TitanPanelBRLButton_ToggleMoveableFrame;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_moveable_frame;
        UIDropDownMenu_AddButton(info);

        info = {};
        info.text = BRL_MAP_TEXT_ENABLE;
        info.func = TitanPanelBRLButton_ToggleMapText;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].map_text_enable;
        UIDropDownMenu_AddButton(info);

        TitanPanelRightClickMenu_AddSpacer();

        info = {};
        info.text = BRL_SHOW_REC_INSTANCE;
        info.func = TitanPanelBRLButton_ToggleRecInstances;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_rec_instances;
        UIDropDownMenu_AddButton(info);

        info = {};
        info.text = BRL_SHOW_REC_BATTLEGROUNDS;
        info.func = TitanPanelBRLButton_ToggleRecBattlegrounds;
        info.checked = BRL_CONFIG[BM_PLAYERNAME_REALM].show_rec_battlegrounds;
        UIDropDownMenu_AddButton(info);
        
        TitanPanelRightClickMenu_AddSpacer();
        TitanPanelRightClickMenu_AddToggleLabelText(TITAN_BRL_ID);
        TitanPanelRightClickMenu_AddToggleIcon(TITAN_BRL_ID);
        TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, TITAN_BRL_ID, TITAN_PANEL_MENU_FUNC_HIDE);
end

function TitanPanelBRLButton_ToggleZone()
        BRL_Show_Zone(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_zone);
        TitanPanelButton_UpdateButton(TITAN_BRL_ID);
end

function TitanPanelBRLButton_ToggleMoveableFrame()
        BRL_Show_Moveable_Frame(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_moveable_frame);
        TitanPanelButton_UpdateButton(TITAN_BRL_ID);
end

function TitanPanelBRLButton_ToggleInstance()
        BRL_Show_Tooltip_Instance(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_instance);
        TitanPanelButton_UpdateButton(TITAN_BRL_ID);
end

function TitanPanelBRLButton_ToggleFaction()
        BRL_Show_Tooltip_Faction(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_faction);
end

function TitanPanelBRLButton_ToggleRecInstances()
        BRL_Toogle_RecInstances(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_rec_instances);
end

function TitanPanelBRLButton_ToggleRecBattlegrounds()
        BRL_Toogle_RecBattlegrounds(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_rec_battlegrounds);
end

function TitanPanelBRLButton_ToggleMapText()
        BRL_Map_Text_Enable(not BRL_CONFIG[BM_PLAYERNAME_REALM].map_text_enable);
end

function TitanPanelBRLButton_ToggleContinent()
        BRL_Show_Tooltip_Continent(not BRL_CONFIG[BM_PLAYERNAME_REALM].show_tooltip_continent);
end

function TitanPanelButtonBRL_SetIcon()
        local icon1 = TitanPanelBRLButtonIcon;
        if (TitanGetVar(TITAN_BRL_ID, "ShowIcon")) then
                icon1:SetTexture(TITAN_BRL_ICON_PATH);
                icon1:SetWidth(TitanPlugins[TITAN_BRL_ID].iconWidth);
                --icon1:SetHeight(BAG_STATUS_ICON_SIZE);
        else
                icon1:SetTexture("");
                icon1:SetWidth(1);
        end
end


--This function is in every plugin always the same except for the 2 varables
function TitanBRLButton_OnEnter()
        --[[
        local brl_tooltip_anchor = "";
        local brl_tooltip_relpoint = "";
        local plugin_position = 0;
        for key, value  in TitanSettings["Players"][BRL_PLAYER_INFO]["Panel"]["Buttons"] do                     
                plugin_position = plugin_position + 1;
                if (value == TITAN_BRL_ID) then
                        break;
                end
        end
        if (TitanSettings["Players"][BRL_PLAYER_INFO]["Panel"]["Location"][plugin_position] == "Bar") then
                brl_tooltip_anchor = "TOP";
                brl_tooltip_relpoint = "BOTTOM";
        else
                brl_tooltip_anchor = "BOTTOM";
                brl_tooltip_relpoint = "TOP";
        end
        ]]
        GameTooltip:SetOwner(this, "ANCHOR_NONE");
        GameTooltip:SetPoint(BRL_PositonToolTip_Anchor() .. BRL_PositonToolTip_RightLeft(), this, BRL_PositonToolTip_Relpoint() .. BRL_PositonToolTip_RightLeft(), 0, 0);
        -- set the tool tip text 
        --only these two lines will change everything else is the same for all plugins
        GameTooltip:SetText(TitanUtils_GetGreenText(BRL_TOOPTIP_TITLE)); -- Usually found in localization file  TITAN_COMBATINFO_TOOLTIP="Combat Info"
        GameTooltip:AddLine(BM_REC_LEVEL_TOOLTIP_TEXT);
        --BM_Tooltip_AddTooltipText(BM_REC_LEVEL_TOOLTIP_TEXT); --The variable created by the GetTooltipText() function
        GameTooltip:Show();     
end

--This function is in every plugin always the same
function TitanBRLButton_OnLeave()
        -- put the tool tip in the default position
        GameTooltip_SetDefaultAnchor(GameTooltip, UIParent);
        GameTooltip:Hide();
end

function BRL_PositonToolTip_RightLeft()
        local tooltipleftright
        local ui_parent_scale = UIParent:GetScale();
        local ui_parent_width = UIParent:GetWidth()/ui_parent_scale;
        if (this:GetRight() >= (ui_parent_width/2)) then
                tooltipleftright = "RIGHT";
        else
                tooltipleftright = "LEFT";
        end
        return tooltipleftright;
end

function BRL_PositonToolTip_Anchor()
        local tooltipanchor;
        local ui_parent_scale = UIParent:GetScale();
        local ui_parent_height = UIParent:GetHeight()/ui_parent_scale;
        if (this:GetTop() >= (ui_parent_height/2)) then
                tooltipanchor = "TOP";
        else
                tooltipanchor = "BOTTOM";
        end
        return tooltipanchor;
end

function BRL_PositonToolTip_Relpoint()
        local tooltiprelpoint;
        local ui_parent_scale = UIParent:GetScale();
        local ui_parent_height = UIParent:GetHeight()/ui_parent_scale;
        if (this:GetTop() >= (ui_parent_height/2)) then
                tooltiprelpoint = "BOTTOM";
        else
                tooltiprelpoint = "TOP";
        end
        return tooltiprelpoint;
end

Generated by GNU Enscript 1.6.5.90.