vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
--[[
  Guild Event Manager by Kiki of European Cho'gall (Alliance)
    Main GUI - By Alexandre Flament & Kiki
]]

local firstShow = true;

function GEMMain_SelectTab(tab)
        PanelTemplates_SetTab(GEMMainFrame, tab);
        local TabFrames = {
                        [1] = "GEMListFrame",
                        [2] = "GEMNewFrame",
                        [3] = "GEMPlayersFrame",
                        [4] = "GEMOptionsFrame",
                        [5] = "GEMDebugFrame",
                };
        for id, name in TabFrames do
                if (id == tab) then
                        getglobal(name):Show();
                else
                        getglobal(name):Hide();
                end
        end
end

function GEMMain_OnMouseUp()
        if ( GEMMainFrame.isMoving ) then
                GEMMainFrame:StopMovingOrSizing();
                GEMMainFrame.isMoving = false;
        end
end

function GEMMain_OnMouseDown(button)
        if ( ( ( not GEMMainFrame.isLocked ) or ( GEMMainFrame.isLocked == 0 ) ) and ( arg1 == "LeftButton" ) ) then
                GEMMainFrame:StartMoving();
                GEMMainFrame.isMoving = true;
        end
end

function GEMMain_OnHide()
        if ( GEMMainFrame.isMoving ) then
                GEMMainFrame:StopMovingOrSizing();
                GEMMainFrame.isMoving = false;
        end
end

function GEMMain_OnShow()
        if (firstShow) then
                GEMMain_SelectTab(1);
                firstShow = false;
        end;
        if(GEM_OldVersion)
        then
                GEMMainFrameTitle:SetText(GEM_TITLE.." v"..GEM_VERSION..GEM_TEXT_OBSOLETE);
        elseif(GEM_NewMinorVersion)
        then
                GEMMainFrameTitle:SetText(GEM_TITLE.." v"..GEM_VERSION..GEM_TEXT_NEW_MINOR);
        else
                GEMMainFrameTitle:SetText(GEM_TITLE.." v"..GEM_VERSION);
        end
end

function GEMMain_OnLoad()
        tinsert(UISpecialFrames,"GEMMainFrame");
        
        PanelTemplates_SetNumTabs(GEMMainFrame, 4);
        PanelTemplates_SetTab(GEMMainFrame, 1);
        GEMMinimapButton_Update();
        GEMMinimapButton:Show();
        GEMMinimapButtonText:SetText("");
        GEMMinimapButtonText:SetTextColor(1.0,0.1,0.1);
        if ButtonHole then
                ButtonHole.application.RegisterMod({id="GEMGUILDEVENTMANAGER", name="Guild Event Manager",tooltip="Easily handle and schedule planned guild events", buttonFrame="GEMMinimapButton", updateFunction="GEMMinimapButton_Update"});
        end
end

function GEM_Toggle(page)
  if (GEMMainFrame:IsVisible()) then
    GEMMainFrame:Hide();
  else
    if(page)
    then
      firstShow = false;
      GEMMain_SelectTab(page);
    end
    GEMMainFrame:Show();
  end
end


-------- Minimap button ------
function GEMMinimapButton_Update()
  if(GEM_PlayerName)
  then
    local radius = GEM_Events.MinimapRadiusOffset;
    local arc = GEM_Events.MinimapArcOffset;
    GEMMinimapButton:SetPoint( "TOPLEFT", "Minimap", "TOPLEFT",55 - ( ( radius ) * cos( arc ) ),( ( radius ) * sin( arc ) ) - 55);
    GEMMinimapButtonTexture:SetTexture("Interface\\Icons\\"..GEM_Events.MinimapTexture);
  end
end


-------- HELP ------
function GEM_Help_SetTooltip()
        local uiX, uiY = UIParent:GetCenter();
        local thisX, thisY = this:GetCenter();

        local anchor = "";
        if ( thisY > uiY ) then
                anchor = "BOTTOM";
        else
                anchor = "TOP";
        end
        
        if ( thisX < uiX  ) then
                if ( anchor == "TOP" ) then
                        anchor = "TOPLEFT";
                else
                        anchor = "BOTTOMRIGHT";
                end
        else
                if ( anchor == "TOP" ) then
                        anchor = "TOPRIGHT";
                else
                        anchor = "BOTTOMLEFT";
                end
        end
        GameTooltip:SetOwner(this, "ANCHOR_" .. anchor);
end

function GEM_Help_LoadText()
 local texts = {
    GEM_HELP_EVENTS_TAB_EVENTS,
    GEM_HELP_PLAYERS_TAB_MEMBERS,
    GEM_HELP_NEW_TAB_TEMPLATES,
    GEM_HELP_NEW_TAB_SORTING,
    GEM_HELP_NEW_TAB_CONFIG,
  };

  this.text = texts[this:GetID()];
end