vanilla-wow-addons – Rev 1
?pathlinks?
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.