vanilla-wow-addons – Rev 1
?pathlinks?
TITAN_TRANS_ID = "Trans";
TITAN_TRANS_FRAME_SHOW_TIME = 0.5;
function TitanPanelTransButton_OnLoad()
this.registry = {
id = TITAN_TRANS_ID,
builtIn = 1,
version = TITAN_VERSION,
menuText = TITAN_TRANS_MENU_TEXT,
tooltipTitle = TITAN_TRANS_TOOLTIP,
tooltipTextFunction = "TitanPanelTransButton_GetTooltipText",
icon = TITAN_ARTWORK_PATH.."TitanPanelTrans",
};
end
function TitanPanelTransButton_GetTooltipText()
local transText = TitanPanelTrans_GetAlphaText(TitanPanelGetVar("Transparency"));
return ""..
TITAN_TRANS_TOOLTIP_VALUE.."\t"..TitanUtils_GetHighlightText(transText).."\n"..
TitanUtils_GetGreenText(TITAN_TRANS_TOOLTIP_HINT1).."\n"..
TitanUtils_GetGreenText(TITAN_TRANS_TOOLTIP_HINT2);
end
function TitanPanelTransControlSlider_OnEnter()
this.tooltipText = TitanOptionSlider_TooltipText(TITAN_TRANS_CONTROL_TOOLTIP, TitanPanelTrans_GetAlphaText(TitanPanelGetVar("Transparency")));
GameTooltip:SetOwner(this, "ANCHOR_BOTTOMLEFT");
GameTooltip:SetText(this.tooltipText, nil, nil, nil, nil, 1);
TitanUtils_StopFrameCounting(this:GetParent());
end
function TitanPanelTransControlSlider_OnLeave()
this.tooltipText = nil;
GameTooltip:Hide();
TitanUtils_StartFrameCounting(this:GetParent(), TITAN_TRANS_FRAME_SHOW_TIME);
end
function TitanPanelTransControlSlider_OnShow()
getglobal(this:GetName().."Text"):SetText(TitanPanelTrans_GetAlphaText(TitanPanelGetVar("Transparency")));
getglobal(this:GetName().."High"):SetText(TITAN_TRANS_CONTROL_LOW);
getglobal(this:GetName().."Low"):SetText(TITAN_TRANS_CONTROL_HIGH);
this:SetMinMaxValues(0, 1);
this:SetValueStep(0.01);
this:SetValue(1 - TitanPanelGetVar("Transparency"));
position = TitanUtils_GetRealPosition(TITAN_TRANS_ID);
TitanPanelTransControlFrame:SetPoint("BOTTOMRIGHT", "TitanPanel" .. TitanUtils_GetWhichBar(TITAN_TRANS_ID) .."Button", "TOPRIGHT", 0, 0);
if (position == TITAN_PANEL_PLACE_TOP) then
TitanPanelTransControlFrame:ClearAllPoints();
TitanPanelTransControlFrame:SetPoint("TOPLEFT", "TitanPanel" .. TitanUtils_GetWhichBar(TITAN_TRANS_ID) .."Button", "BOTTOMLEFT", UIParent:GetRight() - TitanPanelTransControlFrame:GetWidth(), -4);
else
TitanPanelTransControlFrame:ClearAllPoints();
TitanPanelTransControlFrame:SetPoint("BOTTOMLEFT", "TitanPanel" .. TitanUtils_GetWhichBar(TITAN_TRANS_ID) .."Button", "TOPLEFT", UIParent:GetRight() - TitanPanelTransControlFrame:GetWidth(), 0);
end
end
function TitanPanelTransControlSlider_OnValueChanged()
getglobal(this:GetName().."Text"):SetText(TitanPanelTrans_GetAlphaText(1 - this:GetValue()));
TitanPanelBarButton:SetAlpha(1 - this:GetValue());
TitanPanelAuxBarButton:SetAlpha(1 - this:GetValue());
TitanPanelSetVar("Transparency", 1 - this:GetValue());
-- Update GameTooltip
if (this.tooltipText) then
this.tooltipText = TitanOptionSlider_TooltipText(TITAN_TRANS_CONTROL_TOOLTIP, TitanPanelTrans_GetAlphaText(1 - this:GetValue()));
GameTooltip:SetText(this.tooltipText, nil, nil, nil, nil, 1);
end
end
function TitanPanelTrans_GetAlphaText(alpha)
return tostring(floor(100 * alpha + 0.5)) .. "%";
end
function TitanPanelTransControlFrame_OnLoad()
getglobal(this:GetName().."Title"):SetText(TITAN_TRANS_CONTROL_TITLE);
this:SetBackdropBorderColor(1, 1, 1);
this:SetBackdropColor(0, 0, 0, 1);
end
-- If dropdown is visible then see if its timer has expired, if so hide the frame
function TitanPanelTransControlFrame_OnUpdate(elapsed)
TitanUtils_CheckFrameCounting(this, elapsed);
end
function TitanPanelRightClickMenu_PrepareTransMenu()
TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_TRANS_ID].menuText);
TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE, TITAN_TRANS_ID, TITAN_PANEL_MENU_FUNC_HIDE);
end