vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
TITAN_TIMERS_ID = "Timers";
TITAN_TIMERS_FREQUENCY = 1;

function TitanPanelTimersButton_OnLoad()
        this.registry = { 
                id = TITAN_TIMERS_ID,
                menuText = "Advanced Timers", 
                buttonTextFunction = "TitanPanelTimersButton_GetButtonText", 
                tooltipTitle = "Advanced Timers",
                tooltipTextFunction = "TitanPanelTimersButton_GetTooltipText", 
                frequency = TITAN_TIMERS_FREQUENCY,
                updateType = TITAN_PANEL_UPDATE_ALL,
    savedVariables = {
      ShowLabelText = 0,
      HideName = 1
    } 
        };
end

function TitanPanelTimersButton_OnUpdate()
  if (TitanPanelButton_UpdateButton ~= nil) then
    TitanPanelButton_UpdateButton(TITAN_TIMERS_ID);
  end
  if GameTooltip:IsVisible() and GameTooltip:IsOwned(TitanUtils_GetButton(TITAN_TIMERS_ID)) then
        TitanPanelButton_SetTooltip(TITAN_TIMERS_ID);
  end
end

function TitanPanelTimersButton_OnClick()
        if not TimersMainFrame:IsVisible() then
                Timers_ShowMainPanel();
        end
end

function TitanPanelTimersButton_GetButtonText(id)
        local time = TimersString_Replace_tNext();
        if time == 0 then
                if table.getn(timerdata) == 0 then
                        return TIMERS_LOC_NO_TIMERS;
                else
                        local time = timerdata[1].time;
                        for i=2, table.getn(timerdata) do
                                if timerdata[i].time > time then
                                        time = timerdata[i].time;
                                end
                        end
                        return TitanUtils_GetRedText(Timers_TimeToText(time-Timers_GetLocalTime()));
                end
        else
                if not (TitanGetVar(TITAN_TIMERS_ID, "HideName")) then
                        time = TimersString_Replace_nNext()..": "..time;
                end
                return time;
        end     
end

function TitanPanelTimersButton_GetTooltipText()
        local ToolTip = "\n";
        if table.getn(timerdata) == 0 then
                ToolTip = ToolTip..TIMERS_LOC_NO_TIMERS;
        else
                local clonedTable = Timers_cloneTable(timerdata);
                table.sort(clonedTable,TitanPanelTimers_CompareTime);
                for i=1 , table.getn(clonedTable) do
                        ToolTip = ToolTip..clonedTable[i].name.."\t";
                        if clonedTable[i].time-Timers_GetLocalTime() < 0 then
                                ToolTip = ToolTip..TitanUtils_GetRedText(Timers_TimeToText(clonedTable[i].time-Timers_GetLocalTime()).."\n");
                        else
                                ToolTip = ToolTip..TitanUtils_GetHighlightText(Timers_TimeToText(clonedTable[i].time-Timers_GetLocalTime()).."\n");                     
                        end
                end
        end
        return ToolTip;
end

function TitanPanelTimers_CompareTime(item1, item2)
        return tonumber(item1.time) < tonumber(item2.time);
end

function TitanPanelRightClickMenu_PrepareTimersMenu()
  TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_TIMERS_ID].menuText);    
  TitanPanelRightClickMenu_AddCommand(TIMERS_LOC_DELETEXPIRED, TITAN_TIMERS_ID, "TimersEdit_DeleteExpired");    
  TitanPanelRightClickMenu_AddCommand(TIMERS_LOC_DELETALL, TITAN_TIMERS_ID, "TimersEdit_DeleteAllTimer");       
        TitanPanelRightClickMenu_AddSpacer();
  TitanPanelRightClickMenu_AddToggleVar(TIMERS_TITAN_HIDE_NAME, TITAN_TIMERS_ID, "HideName");
        TitanPanelRightClickMenu_AddSpacer();
  TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, TITAN_TIMERS_ID, TITAN_PANEL_MENU_FUNC_HIDE);      
end

Generated by GNU Enscript 1.6.5.90.