vanilla-wow-addons – Rev 1
?pathlinks?
function Parchment_Tack_OnLoad()
this:RegisterForDrag("LeftButton");
end
function ParchmentChapterTitleButton_OnLoad()
this:RegisterForClicks("LeftButtonUp", "RightButtonUp");
end
function ParchmentChapterTitleButton_OnClick(button)
local temp_id = this:GetID();
for key, value in Parchment_Data do
if(Parchment_Data[key].tack_button == temp_id) then
if(button == "LeftButton") then
if(IsShiftKeyDown()) then
Parchment_SlashCommandHandler("untack");
else
if(Parchment_Data[key].tack_expand == true) then
Parchment_Data[key].tack_expand = false;
else
Parchment_Data[key].tack_expand = true;
end
end
Parchment_Update_Tack();
else
if(ParchmentFrame:IsVisible()) then
PARCHMENT_PLAYER = key;
ParchmentSetText();
Parchment_Update();
else
PARCHMENT_PLAYER = key;
ToggleParchment();
end
end
end
end
end
function Parchment_Update_Tack()
Parchment_Tack_Frame:Show();
Parchment_Tack_Frame:SetWidth(Parchment_Config.TackWidth); -- Set our width here so text can scale height correctly
-- Is visible and is supposed to be visible, redundant so clean up later
-- Let's set our alpha
Parchment_UpdateAlpha();
if(Parchment_Config.TackBorder == false) then
Parchment_Tack_Frame:SetBackdropBorderColor(0.0, 0.0, 0.0, 0.0);
else
Parchment_Tack_Frame:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 1.0);
end
if(Parchment_Config.Minimized == false) then
-- It's visible, flagged as shown in our variable (redundant really), and not minimized so continue so we can adjust the height accordingly
local thisRealm = nil;
local character = nil;
local button_id = 1;
-- local box_width = Parchment_Tack_Frame:GetWidth() - 35; -- Frame size -10 for wrapping
for i = 1, PARCHMENT_TACK_BUTTONS do
getglobal("ParchmentChapterTitleButton" .. i .. "Text"):SetText("");
getglobal("ParchmentChapterTitleButton" .. i .. "Text"):Show();
getglobal("ParchmentChapterTitleButton" .. i):Show();
getglobal("ParchmentChapterTextButton" .. i .. "Text"):SetText("");
getglobal("ParchmentChapterTextButton" .. i .. "Text"):Show();
getglobal("ParchmentChapterTextButton" .. i):Show();
end
for key, value in Parchment_Data do
Parchment_Data[key].tack_button = 0;
character = nil;
if(button_id <= PARCHMENT_TACK_BUTTONS) then
if(Parchment_Data[key].tacked) then
if(Parchment_Data[key].tack_expand == nil) then
Parchment_Data[key].tack_expand = true; -- For backwards compatibility
end
if(Parchment_Data[key].tack_button == nil) then
Parchment_Data[key].tack_button = 0; -- For backwards compatibility
end
thisRealm = Parchment_Split(key, "|")[2];
if(thisRealm) then
if(Parchment_Config.AllRealms) then
character = Parchment_Split(key,"|")[1].." of "..Parchment_Split(key,"|")[2];
else
if(thisRealm == GetCVar("realmName")) then
character = Parchment_Split(key,"|")[1];
end
end
else
character = key;
end
if(character ~= nil) then
if(Parchment_Data[key].tack_expand == true and Parchment_Data[key].text ~= "") then
character = "- " .. character;
elseif(Parchment_Data[key].text ~= "") then
character = "+ " .. character;
end
getglobal("ParchmentChapterTitleButton" .. button_id .. "Text"):SetText("|c00FFFFFF"..character.."|r");
Parchment_Data[key].tack_button = button_id;
end
if(character ~= nil and Parchment_Data[key].text ~= "" and Parchment_Data[key].tack_expand == true) then
getglobal("ParchmentChapterTextButton" .. button_id .. "Text"):SetText(Parchment_Data[key].text );
end
if(character ~= nil) then
button_id = button_id + 1; -- Increase the button id if we are setting data to a button
end
end
end
end
Parchment_Tack_Resize();
else
Parchment_Config.Minimized = false; -- change to false so when we pass to the min function it minimzies
Parchment_Tack_Minimize();
end
end
function Parchment_Tack_Resize()
local box_width = 0;
local title_height = 0;
local text_height = 0;
local total_height = 0;
-- Minimized height is 27, defined in PARCHMENT_TACK_HEIGHT, may have to add that and padding to get the right height
box_width = Parchment_Tack_Frame:GetWidth() - 35; -- Frame size -10 for wrapping
for i = 1, PARCHMENT_TACK_BUTTONS do
title_text = getglobal("ParchmentChapterTitleButton" .. i .. "Text");
title_button = getglobal("ParchmentChapterTitleButton" .. i);
text_text = getglobal("ParchmentChapterTextButton" .. i .. "Text");
text_button = getglobal("ParchmentChapterTextButton" .. i);
if (title_text:IsVisible()) then
title_text:SetWidth(box_width);
total_height = total_height + title_text:GetHeight();
title_button:SetWidth(title_text:GetWidth());
title_button:SetHeight(title_text:GetHeight());
end
if (text_text:IsVisible()) then
text_text:SetWidth(box_width);
total_height = total_height + text_text:GetHeight();
text_button:SetWidth(text_text:GetWidth());
text_button:SetHeight(text_text:GetHeight());
end
end
Parchment_Tack_Frame:SetHeight(total_height + 50);
end
function Parchment_Tack_Minimize()
if(Parchment_Config.Minimized == true) then
Parchment_Config.Minimized = false;
Parchment_Update_Tack();
else
Parchment_Config.Minimized = true;
Parchment_Tack_Frame:SetHeight(PARCHMENT_TACK_HEIGHT);
for i = 1, PARCHMENT_TACK_BUTTONS do
getglobal("ParchmentChapterTitleButton" .. i .. "Text"):Hide();
getglobal("ParchmentChapterTitleButton" .. i):Hide();
getglobal("ParchmentChapterTextButton" .. i .. "Text"):Hide();
getglobal("ParchmentChapterTextButton" .. i):Hide();
end
end
end
function ParchmentTack_OnDragStart()
local par = getglobal("Parchment_Tack_Frame");
if(Parchment_Config.LockTack == false) then
par:StartMoving();
end
end
function ParchmentTack_OnDragStop()
local par = getglobal("Parchment_Tack_Frame");
if(Parchment_Config.LockTack == false) then
par:StopMovingOrSizing();
end
end
Generated by GNU Enscript 1.6.5.90.