vanilla-wow-addons – Rev 1
?pathlinks?
-- Thanks Flaye for teaching me how to use xml
UIPanelWindows["BGInviteUI"] = { area = "left", pushable = 3 };
function BGInviteUI_OnLoad()
tinsert(UISpecialFrames,"BGInviteUI");
end
function BGInviteUI_OnShow()
UIDropDownMenu_SetSelectedID(BGInviteOptionsFrameChannelDropDown, BGInvite_Config.MsgChannelId, BGINVITE_CHANNELS);
UIDropDownMenu_SetText(BGINVITE_CHANNELS[BGInvite_Config.MsgChannelId].name, BGInviteOptionsFrameChannelDropDown);
end
function BGInviteOptionsFrame_AutoInvite_CheckBt_Update(whatValue)
if (whatValue == nil ) then
whatValue = 0;
end
BGInvite_Config.AutoInvite = whatValue;
end
function BGInviteOptionsFrame_AutoPurge_CheckBt_Update(whatValue)
if (whatValue == nil ) then
whatValue = 0;
end
BGInvite_Config.AutoPurge = whatValue;
end
function BGInviteOptionsFrame_SendWhisper_CheckBt_Update(whatValue)
if (whatValue == nil ) then
whatValue = 0;
end
BGInvite_Config.SendWhisper = whatValue;
end
function BGInviteOptionsFrame_Disable_CheckBt_Update(whatValue)
if (whatValue == nil ) then
whatValue = 0;
end
BGInvite_Config.Disable = whatValue;
end
function BGInvite_CheckBoxCommand (command)
if (command == nil) then
return;
end
if (command == "autoinvite") then
if (BGvar_save.auto == "enabled") then
BGvar_save.auto = "disabled"
BGinvite_print(BGlocal_NOT_AUTO_INVITING)
else
BGvar_save.auto = "enabled"
BGinvite_print(BGlocal_AUTO_INVITING)
end
elseif (command == "autopurge") then
if (BGvar_save.purge == "enabled") then
BGvar_save.purge = "disabled"
BGinvite_print(BGlocal_NOT_PURGING)
else
BGvar_save.purge = "enabled"
BGinvite_print(BGlocal_NOW_PURGING)
end
end
end
function BGInvite_GetNumber (boolean)
if (boolean == "enabled") then
return 1;
else
return 0;
end
end
function BGinvite_CopyBlacklist()
BGvar_CopiedBlacklist = {}
table.foreach(BGvar_blacklist, BGinvite_CheckBlacklistNames)
end
function BGinvite_CheckBlacklistNames(name)
if BGvar_blacklist[name] == 1 then
table.insert(BGvar_CopiedBlacklist, name)
end
end
function BGinviteScrollBar_Update()
BGinvite_CopyBlacklist()
local line; -- 1 through 5 of our window to scroll
local lineplusoffset; -- an index into our data calculated from the scroll offset
FauxScrollFrame_Update(BGInviteScrollBar,table.getn(BGvar_CopiedBlacklist),7,40);
for line=1,7 do
local lineplusoffset = line + FauxScrollFrame_GetOffset(BGInviteScrollBar);
if lineplusoffset <= table.getn(BGvar_CopiedBlacklist) then
getglobal("BGInviteEntry"..line.."Text"):SetText(BGvar_CopiedBlacklist[lineplusoffset])
getglobal("BGInviteEntry"..line):Show()
else
getglobal("BGInviteEntry"..line):Hide()
end
end
end
function BGInvite_RetryCooldown_Slider_Update(value)
BGInvite_Config.RetryTimeout = value;
end
function BGInvite_PurgeCooldown_Slider_Update(value)
BGInvite_Config.PurgeTimeout = value;
end
function BGInvite_MaxInvites_Slider_Update(value)
BGInvite_Config.MaxRetries = value;
end
function BGInvite_AutoInviteTimeout_Slider_Update(value)
BGInvite_Config.AutoInviteTimeout = value;
end
--[[
=============================================================================
Callback methods for the DropDown Menu
=============================================================================
]]
local function BGInviteOptionsFrameChannelDropDown_Initialize()
local info;
for i = 1, getn(BGINVITE_CHANNELS), 1 do
info = { };
info.text = BGINVITE_CHANNELS[i].name;
info.func = BGInvite_ChannelDropDownButton_OnClick;
UIDropDownMenu_AddButton(info);
end
end
function BGInvite_ChannelDropDown_OnLoad()
UIDropDownMenu_Initialize(BGInviteOptionsFrameChannelDropDown, BGInviteOptionsFrameChannelDropDown_Initialize);
UIDropDownMenu_SetWidth(150);
UIDropDownMenu_SetButtonWidth(48);
UIDropDownMenu_JustifyText("RIGHT", BGInviteOptionsFrameChannelDropDown)
end
function BGInvite_ChannelDropDownButton_OnClick()
UIDropDownMenu_SetSelectedID(BGInviteOptionsFrameChannelDropDown, this:GetID());
BGInvite_Config.MsgChannelId = UIDropDownMenu_GetSelectedID(BGInviteOptionsFrameChannelDropDown);
end