vanilla-wow-addons – Rev 1
?pathlinks?
--
-- AutoBar
--
-- Config functions
--
-- Author: Marc aka Saien on Hyjal
-- http://64.168.251.69/wow
--
UIPanelWindows["AutoBar_Options"] = { area = "center", pushable = 99, whileDead = 1 };
StaticPopupDialogs["AUTOBAR_ITEMENTRY"] = {
text = "Enter Item Name or ItemID:",
button1 = TEXT(ACCEPT),
button2 = TEXT(CANCEL),
hasEditBox = 1,
maxLetters = 50,
hasWideEditBox = 1,
OnAccept = function()
local editBox = getglobal(this:GetParent():GetName().."WideEditBox");
local text = editBox:GetText();
if (tonumber(text) and tonumber(text) > 0) then
text = tonumber(text);
end
local tmp = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
if (type(tmp) == "table") then
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting][AutoBar_Options_ConfigButton_ChooseCategory.editting] = text;
else
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting] = text;
end
AutoBar_Options_ConfigButton_ChooseCategory:Hide();
end,
OnShow = function()
local editBox = getglobal(this:GetName().."WideEditBox");
local tmp = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
local txt;
if (type(tmp) == "table") then
txt = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting][AutoBar_Options_ConfigButton_ChooseCategory.editting];
else
txt = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
end
if (txt) then
editBox:SetText(txt);
else
editBox:SetText("");
end
editBox:SetFocus();
end,
OnHide = function()
local editBox = getglobal(this:GetName().."WideEditBox");
if (ChatFrameEditBox:IsVisible()) then
ChatFrameEditBox:SetFocus();
end
editBox:SetText("");
end,
OnCancel = function()
this:GetParent():Hide();
end,
EditBoxOnEnterPressed = function ()
StaticPopupDialogs["AUTOBAR_ITEMENTRY"].OnAccept();
this:GetParent():Hide();
end,
EditBoxOnEscapePressed = function ()
this:GetParent():Hide();
end,
timeout = 0,
whileDead = 1,
hideOnEscape = 1
};
------------------------------------
------------------------------------
------------------------------------
local function AutoBar_Config_SlashCmd(msg)
--[[
msg = string.lower (msg);
local firstword, restwords;
local idx = string.find(msg," ");
if (idx) then
firstword = string.sub(msg,1,idx-1);
restwords = string.sub(msg,idx+1);
else
firstword = msg;
end
]]
AutoBar_ToggleConfig();
end
------------------------------------
function AutoBar_Config_OnLoad()
SLASH_AUTOBAR1 = "/autobar";
SlashCmdList["AUTOBAR"] = function (msg)
AutoBar_Config_SlashCmd(msg);
end
end
function AutoBar_Config_OnShow()
local idx,button,hotkey;
for idx = 1, AUTOBAR_MAXBUTTONS, 1 do
button = getglobal("AutoBar_Options_Buttons_Button"..idx);
hotkey = getglobal("AutoBar_Options_Buttons_Button"..idx.."HotKey");
count = getglobal("AutoBar_Options_Buttons_Button"..idx.."Count");
icon = getglobal("AutoBar_Options_Buttons_Button"..idx.."Icon");
hotkey:SetText("#"..idx);
if (AutoBar_Config[AutoBar_Player].buttons[idx]) then
local buttoninfo = AutoBar_Config[AutoBar_Player].buttons[idx];
icon:SetTexture(AutoBar_GetTexture(buttoninfo));
count:SetText("");
else
count:SetText("Empty");
icon:SetTexture("");
end
end
AutoBar_Options_Bar_Sliders();
AutoBar_Options_CheckBox_Setup();
end
function AutoBar_Config_ButtonSetTooltip()
local buttoninfo;
local preamble, extended;
if (this.itemid) then
local name,itemid = GetItemInfo(this.itemid);
if (name and itemid) then
GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
GameTooltip:SetHyperlink(itemid);
else
local tmp = "item:"..this.itemid..":0:0:0";
GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
GameTooltip:SetHyperlink("item:"..this.itemid..":0:0:0");
end
return;
end
if (this.category) then
buttoninfo = this.category;
extended=true;
elseif (string.find(this:GetName(), "^AutoBar_Options_Buttons_Button")) then
buttoninfo = AutoBar_Config[AutoBar_Player].buttons[this:GetID()];
extended=true;
preamble=true;
elseif (string.find(this:GetName(), "^AutoBar_Options_ConfigButton_Button")) then
extended=true;
local tmp = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
if (type(tmp) == "table") then
buttoninfo = tmp[this:GetID()]
else
buttoninfo = tmp;
end
end
local message = "";
if (buttoninfo == "EMPTY") then
elseif (type(buttoninfo) == "table") then
if (preamble) then message = "Multi Category Button\n"; end
local idx,cat;
for idx,cat in buttoninfo do
if (type(cat) == "string" and AutoBar_Category_Info[cat]) then
message = message.."\n"..AutoBar_Category_Info[cat].description;
elseif (type(cat) == "number") then
local name = GetItemInfo(cat);
if (name) then
message = message.."\n"..name.." (Custom Item by ID)";
else
message = message.."\n(Item ID not recognized)";
end
else
message = message.."\n"..cat.." (Custom Item by Name)";
end
end
elseif (type(buttoninfo) == "string" and AutoBar_Category_Info[buttoninfo]) then
if (preamble) then message = "Single Category Button\n\n"; end
message = message..AutoBar_Category_Info[buttoninfo].description;
if (extended) then
message = message.."\n";
if (AutoBar_Category_Info[buttoninfo].notusable) then
message = message.."\nNot directly usable.";
end
if (AutoBar_Category_Info[buttoninfo].targetted) then
if (AutoBar_Category_Info[buttoninfo].targetted == "WEAPON") then
message = message.."\nWeapon Target\n(Left click main weapon\nRight click offhand weapon.)";
else
message = message.."\nTargetted.";
end
end
if (AutoBar_Category_Info[buttoninfo].noncombat) then
message = message.."\nNon combat only.";
end
if (AutoBar_Category_Info[buttoninfo].combatonly) then
message = message.."\nCombat only.";
end
if (AutoBar_Category_Info[buttoninfo].location) then
message = message.."\nLocation: "..AutoBar_Category_Info[buttoninfo].location..".";
end
if (AutoBar_Category_Info[buttoninfo].limit) then
message = message.."\nLimited Usage: ";
if (AutoBar_Category_Info[buttoninfo].limit.downhp) then
message = message.."Require HP restore";
if (AutoBar_Category_Info[buttoninfo].limit.downmana) then
message = message..", ";
end
end
if (AutoBar_Category_Info[buttoninfo].limit.downmana) then
message = message.."Require Mana restore";
end
end
end
elseif (type(buttoninfo) == "string" and not AutoBar_Category_Info[buttoninfo]) then
if (preamble) then message = "Single Item Button\n\n"; end
message = message..buttoninfo.." (Custom Item by Name)";
elseif (type(buttoninfo) == "number") then
if (preamble) then message = "Single Item Button\n\n"; end
local name = GetItemInfo(buttoninfo);
if (name) then
message = message..name.." (Custom Item by ID)";
else
message = message.."(Item ID not recognized)";
end
end
GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
GameTooltip:SetText(message);
end
function AutoBar_Config_Button_Edit(num)
if (not num) then num = AutoBar_Options_ConfigButton.editting; end
local buttoninfo = AutoBar_Config[AutoBar_Player].buttons[num];
AutoBar_Options_ConfigButton.editting = num;
AutoBar_Options_ConfigButton:Show();
AutoBar_Options_ConfigButtonTitleText:SetText("Edit Button #"..num);
local idx,tmp,i;
---
if (type(buttoninfo) == "table") then
tmp = 0;
for idx = 1, 8, 1 do
if (AutoBar_Config[AutoBar_Player].buttons[num][idx]) then
tmp = idx;
end
end
idx = 1;
while (idx < tmp) do
if (AutoBar_Config[AutoBar_Player].buttons[num][idx]) then
idx = idx + 1;
else
AutoBar_Config[AutoBar_Player].buttons[num][idx] =
AutoBar_Config[AutoBar_Player].buttons[num][idx+1];
AutoBar_Config[AutoBar_Player].buttons[num][idx+1] = nil;
tmp = 0;
for i = 1, 8, 1 do
if (AutoBar_Config[AutoBar_Player].buttons[num][i]) then
tmp = i;
end
end
end
end
end
---
for idx = 1, 8, 1 do
local button = getglobal("AutoBar_Options_ConfigButton_Button"..idx);
local hotkey = getglobal("AutoBar_Options_ConfigButton_Button"..idx.."HotKey");
local count = getglobal("AutoBar_Options_ConfigButton_Button"..idx.."Count");
local icon = getglobal("AutoBar_Options_ConfigButton_Button"..idx.."Icon");
local move = getglobal("AutoBar_Options_ConfigButton_Move"..idx);
local moveup = getglobal("AutoBar_Options_ConfigButton_Move"..idx.."_Up");
local movedown = getglobal("AutoBar_Options_ConfigButton_Move"..idx.."_Down");
local checkbox = getglobal("AutoBar_Options_ConfigButton_Option"..idx);
local checkboxtext = getglobal("AutoBar_Options_ConfigButton_Option"..idx.."Text");
hotkey:Hide();
if (type(buttoninfo) == "table") then
if (buttoninfo[idx]) then
move:Show();
count:SetText("");
if (AutoBar_Category_Info[buttoninfo[idx]] and AutoBar_Category_Info[buttoninfo[idx]].targetted) then
checkbox:Show();
checkboxtext:SetText("Smart Self Cast");
if (AutoBar_Config[AutoBar_Player].smartselfcast and AutoBar_Config[AutoBar_Player].smartselfcast[buttoninfo[idx]]) then
checkbox:SetChecked(1);
else
checkbox:SetChecked(0);
end
else
checkbox:Hide();
end
if (idx == 1) then
moveup:Hide();
else
moveup:Show();
end
if (buttoninfo[idx+1]) then
movedown:Show();
else
movedown:Hide();
end
else
move:Hide();
count:SetText("Empty");
checkbox:Hide();
end
icon:SetTexture(AutoBar_GetTexture(buttoninfo[idx]));
button:Show();
else
move:Hide();
if (idx == 1) then
icon:SetTexture(AutoBar_GetTexture(buttoninfo));
button:Show();
if (buttoninfo) then
count:SetText("");
if (AutoBar_Category_Info[buttoninfo] and AutoBar_Category_Info[buttoninfo].targetted) then
checkbox:Show();
checkboxtext:SetText("Smart Self Cast");
if (AutoBar_Config[AutoBar_Player].smartselfcast and AutoBar_Config[AutoBar_Player].smartselfcast[buttoninfo]) then
checkbox:SetChecked(1);
else
checkbox:SetChecked(0);
end
else
checkbox:Hide();
end
else
count:SetText("Empty");
checkbox:Hide();
end
else
button:Hide();
checkbox:Hide();
end
end
end
---
if (type(buttoninfo) == "table") then
AutoBar_Options_ConfigButton_ConvertButton:SetText("Convert to Single Item");
else
AutoBar_Options_ConfigButton_ConvertButton:SetText("Convert to Multi Item");
end
end
local function AutoBar_ConfigButton_OnClick(mousebutton)
local tmp = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
if (type(tmp) == "table") then
AutoBar_Options_ConfigButton_ChooseCategory.editting = this:GetID();
else
AutoBar_Options_ConfigButton_ChooseCategory.editting = nil;
end
AutoBar_Options_ConfigButton_ChooseCategory:Show();
end
local function AutoBar_ConfigButton_ChooseCategory_OnClick(mousebutton)
if (IsShiftKeyDown()) then
if (AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore) then
AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore = nil;
this:GetParent():Hide();
else
local category = this.category;
if (category == "EMPTY") then category = nil; end
if (category) then
AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore = category;
AutoBar_Config_ButtonChooseCategory_OnShow();
end
end
else
local category = this.category;
if (category == "EMPTY") then category = nil; end
if (AutoBar_Options_ConfigButton_ChooseCategory.editting) then
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting][AutoBar_Options_ConfigButton_ChooseCategory.editting] = category;
else
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting] = category;
end
AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore = nil;
this:GetParent():Hide();
end
end
function AutoBar_Config_ButtonOnClick(mousebutton)
if (string.find(this:GetName(), "^AutoBar_Options_Buttons_Button")) then
return AutoBar_Config_Button_Edit(this:GetID());
elseif (string.find(this:GetName(), "^AutoBar_Options_ConfigButton_Button")) then
return AutoBar_ConfigButton_OnClick(mousebutton);
elseif (string.find(this:GetName(), "^AutoBar_Options_ConfigButton_ChooseCategory_Button")) then
return AutoBar_ConfigButton_ChooseCategory_OnClick(mousebutton);
end
end
function AutoBar_Config_Button_ConvertOnClick()
local buttoninfo = AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting];
if (type(buttoninfo) == "table") then
local tmp = buttoninfo[1];
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting] = tmp;
else
local tmp = buttoninfo;
AutoBar_Config[AutoBar_Player].buttons[AutoBar_Options_ConfigButton.editting] = { tmp };
end
AutoBar_Config_Button_Edit(AutoBar_Options_ConfigButton.editting);
end
function AutoBar_Config_ButtonChooseCategory_OnShow()
if (AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore and not AutoBar_Category_Info[AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore]) then
AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore = nil;
end
if (AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore) then
AutoBar_Options_ConfigButton_ChooseCategory_HintText1:Hide();
local category = AutoBar_Options_ConfigButton_ChooseCategory.categoryexplore;
FauxScrollFrame_Update(AutoBar_Options_ConfigButton_ChooseCategory_Scroll, table.getn(AutoBar_Category_Info[category].items), 7, 36);
local offset = FauxScrollFrame_GetOffset(AutoBar_Options_ConfigButton_ChooseCategory_Scroll);
local idx,name,texture;
for idx = 1, 7, 1 do
local button = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx);
local hotkey = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."HotKey");
local count = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."Count");
local icon = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."Icon");
local text = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Text"..idx);
button.category = nil;
if (AutoBar_Category_Info[category].items[idx+offset]) then
if (type(AutoBar_Category_Info[category].items[idx+offset]) == "number") then
name,_,_,_,_,_,_,_,texture = GetItemInfo(AutoBar_Category_Info[category].items[idx+offset]);
if (not name) then
name = "(Not Found: Item "..AutoBar_Category_Info[category].items[idx+offset]..")";
texture = "Interface\\Icons\\INV_Misc_Gift_01";
elseif (not texture) then
texture = "Interface\\Icons\\INV_Misc_Gift_02";
end
else
texture = "Interface\\Icons\\INV_Misc_Gift_03";
name = AutoBar_Category_Info[category].items[idx+offset];
end
icon:SetTexture(texture);
text:SetText(name);
count:SetText("");
button:Show();
button.itemid = tonumber(AutoBar_Category_Info[category].items[idx+offset]);
else
button:Hide();
button.itemid = nil;
text:SetText("");
end
end
else
AutoBar_Options_ConfigButton_ChooseCategory_HintText1:Show();
local sortedCategories = {};
for categoryName, rec in AutoBar_Category_Info do
table.insert(sortedCategories, categoryName);
end
table.sort (sortedCategories);
table.insert(sortedCategories, 1, "EMPTY");
FauxScrollFrame_Update(AutoBar_Options_ConfigButton_ChooseCategory_Scroll, table.getn(sortedCategories), 7, 36);
local offset = FauxScrollFrame_GetOffset(AutoBar_Options_ConfigButton_ChooseCategory_Scroll);
local idx;
for idx = 1, 7, 1 do
local button = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx);
local hotkey = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."HotKey");
local count = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."Count");
local icon = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Button"..idx.."Icon");
local text = getglobal("AutoBar_Options_ConfigButton_ChooseCategory_Text"..idx);
button.itemid = nil;
if (sortedCategories[idx+offset] == "EMPTY") then
icon:SetTexture("");
count:SetText("Empty");
text:SetText("Delete Current Category");
button:Show();
button.category = sortedCategories[idx+offset];
elseif (sortedCategories[idx+offset]) then
icon:SetTexture(AutoBar_GetTexture(sortedCategories[idx+offset]));
count:SetText("");
text:SetText(AutoBar_Category_Info[sortedCategories[idx+offset]].description);
button.category = sortedCategories[idx+offset];
button:Show();
else
button:Hide();
button.category = nil;
text:SetText("");
end
end
end
end
function AutoBar_Config_ButtonChooseCategory_OnScroll()
GameTooltip:Hide();
AutoBar_Config_ButtonChooseCategory_OnShow();
end
function AutoBar_Config_Button_InsertCustomItem()
StaticPopup_Show("AUTOBAR_ITEMENTRY");
end
function AutoBar_Options_Bar_Sliders(calledfromslider)
if (not AutoBar_Config[AutoBar_Player].display) then
AutoBar_Config[AutoBar_Player].display = {};
end
--
local rows, columns, gapping, alpha, width, height, dockshiftx, dockshifty;
if (calledfromslider) then
rows = AutoBar_Options_Bar_Rows:GetValue();
columns = AutoBar_Options_Bar_Columns:GetValue();
gapping = AutoBar_Options_Bar_Gapping:GetValue();
alpha = AutoBar_Options_Bar_Alpha:GetValue();
width = AutoBar_Options_Bar_ButtonWidth:GetValue();
height = AutoBar_Options_Bar_ButtonHeight:GetValue();
dockshiftx = AutoBar_Options_Bar_DockShiftX:GetValue();
dockshifty = AutoBar_Options_Bar_DockShiftY:GetValue();
end
--
if ((not rows or rows == 0) and AutoBar_Config[AutoBar_Player].display.rows) then
rows = AutoBar_Config[AutoBar_Player].display.rows;
elseif (not rows or rows == 0) then
rows = 1;
end
if ((not columns or columns == 0) and AutoBar_Config[AutoBar_Player].display.columns) then
columns = AutoBar_Config[AutoBar_Player].display.columns;
elseif (not columns or columns == 0) then
columns = 6;
end
if ((not gapping or gapping == 0) and AutoBar_Config[AutoBar_Player].display.gapping) then
gapping = AutoBar_Config[AutoBar_Player].display.gapping;
elseif (not gapping or gapping == 0) then
gapping = 6;
end
if ((not alpha or alpha == 0) and AutoBar_Config[AutoBar_Player].display.alpha) then
alpha = AutoBar_Config[AutoBar_Player].display.alpha*10;
elseif (not alpha or alpha == 0) then
alpha = 10;
end
if ((not width or width == 0) and AutoBar_Config[AutoBar_Player].display.buttonwidth) then
width = AutoBar_Config[AutoBar_Player].display.buttonwidth;
elseif (not width or width == 0) then
width = 36;
end
if ((not height or height == 0) and AutoBar_Config[AutoBar_Player].display.buttonheight) then
height = AutoBar_Config[AutoBar_Player].display.buttonheight;
elseif (not height or height == 0) then
height = 36;
end
if ((not dockshiftx or dockshiftx == 0) and AutoBar_Config[AutoBar_Player].display.dockshiftx) then
dockshiftx = AutoBar_Config[AutoBar_Player].display.dockshiftx;
elseif (not dockshiftx or dockshiftx == 0) then
dockshiftx = 0;
end
if ((not dockshifty or dockshifty == 0) and AutoBar_Config[AutoBar_Player].display.dockshifty) then
dockshifty = AutoBar_Config[AutoBar_Player].display.dockshifty;
elseif (not dockshifty or dockshifty == 0) then
dockshifty = 0;
end
--
if (calledfromslider) then
while (rows*columns > 12) do
this:SetValue(this:GetValue()-1);
rows = AutoBar_Options_Bar_Rows:GetValue();
columns = AutoBar_Options_Bar_Columns:GetValue();
end
if (height ~= width and not AutoBar_Config[AutoBar_Player].display.unlockbuttonratio) then
if (this:GetName() == "AutoBar_Options_Bar_ButtonWidth") then
height = width;
elseif (this:GetName() == "AutoBar_Options_Bar_ButtonHeight") then
width = height;
end
end
--
if (rows == 1) then
AutoBar_Config[AutoBar_Player].display.rows = nil;
else
AutoBar_Config[AutoBar_Player].display.rows = rows;
end
if (columns == 6) then
AutoBar_Config[AutoBar_Player].display.columns = nil;
else
AutoBar_Config[AutoBar_Player].display.columns = columns;
end
if (gapping == 6) then
AutoBar_Config[AutoBar_Player].display.gapping = nil;
else
AutoBar_Config[AutoBar_Player].display.gapping = gapping;
end
if (alpha == 10) then
AutoBar_Config[AutoBar_Player].display.alpha = nil;
else
AutoBar_Config[AutoBar_Player].display.alpha = math.floor(alpha)/10;
end
if (width == 36) then
AutoBar_Config[AutoBar_Player].display.buttonwidth = nil;
else
AutoBar_Config[AutoBar_Player].display.buttonwidth = width;
end
if (height == 36) then
AutoBar_Config[AutoBar_Player].display.buttonheight = nil;
else
AutoBar_Config[AutoBar_Player].display.buttonheight = height;
end
if (dockshiftx == 0) then
AutoBar_Config[AutoBar_Player].display.dockshiftx = nil;
else
AutoBar_Config[AutoBar_Player].display.dockshiftx = dockshiftx;
end
if (dockshifty == 0) then
AutoBar_Config[AutoBar_Player].display.dockshifty = nil;
else
AutoBar_Config[AutoBar_Player].display.dockshifty = dockshifty;
end
end
--
AutoBar_Options_Bar_RowsText:SetText("Rows - "..rows);
AutoBar_Options_Bar_Rows:SetValue(rows);
AutoBar_Options_Bar_ColumnsText:SetText("Columns - "..columns);
AutoBar_Options_Bar_Columns:SetValue(columns);
AutoBar_Options_Bar_GappingText:SetText("Icon Gapping - "..gapping);
AutoBar_Options_Bar_Gapping:SetValue(gapping);
AutoBar_Options_Bar_AlphaText:SetText("Icon Alpha - "..math.floor(alpha)/10);
AutoBar_Options_Bar_Alpha:SetValue(alpha);
AutoBar_Options_Bar_ButtonWidthText:SetText("Button Width - "..width);
AutoBar_Options_Bar_ButtonWidth:SetValue(width);
AutoBar_Options_Bar_ButtonHeightText:SetText("Button Height - "..height);
AutoBar_Options_Bar_ButtonHeight:SetValue(height);
AutoBar_Options_Bar_DockShiftXText:SetText("Shift Dock Left/Right - "..dockshiftx);
AutoBar_Options_Bar_DockShiftX:SetValue(dockshiftx);
AutoBar_Options_Bar_DockShiftYText:SetText("Shift Dock Up/Down - "..dockshifty);
AutoBar_Options_Bar_DockShiftY:SetValue(dockshifty);
AutoBar_SetupVisual();
end
function AutoBar_Options_CheckBox_Setup()
AutoBar_Options_Bar_DockingMainBarText:SetText("Docked to Main Menu");
AutoBar_Options_Bar_WidthHeightLockedText:SetText("Lock Button Height\nand Width Together");
AutoBar_Options_Bar_ReverseButtonsText:SetText("Reverse Buttons");
AutoBar_Options_Bar_HideKeyTextText:SetText("Hide Keybinding Text");
AutoBar_Options_Bar_HideCountText:SetText("Hide Count text");
AutoBar_Options_Bar_ShowEmptyButtonsText:SetText("Show Empty Buttons");
if (AutoBar_Config[AutoBar_Player].display.docking == "MAINMENU") then
AutoBar_Options_Bar_DockingMainBar:SetChecked(1);
else
AutoBar_Options_Bar_DockingMainBar:SetChecked(0);
end
if (AutoBar_Config[AutoBar_Player].display.unlockbuttonratio) then
AutoBar_Options_Bar_WidthHeightLocked:SetChecked(0);
else
AutoBar_Options_Bar_WidthHeightLocked:SetChecked(1);
end
if (AutoBar_Config[AutoBar_Player].display.reversebuttons) then
AutoBar_Options_Bar_ReverseButtons:SetChecked(1);
else
AutoBar_Options_Bar_ReverseButtons:SetChecked(0);
end
if (AutoBar_Config[AutoBar_Player].display.hidekeytext) then
AutoBar_Options_Bar_HideKeyText:SetChecked(1);
else
AutoBar_Options_Bar_HideKeyText:SetChecked(0);
end
if (AutoBar_Config[AutoBar_Player].display.hidecount) then
AutoBar_Options_Bar_HideCount:SetChecked(1);
else
AutoBar_Options_Bar_HideCount:SetChecked(0);
end
if (AutoBar_Config[AutoBar_Player].display.showemptybuttons) then
AutoBar_Options_Bar_ShowEmptyButtons:SetChecked(1);
else
AutoBar_Options_Bar_ShowEmptyButtons:SetChecked(0);
end
end
function AutoBar_Options_CheckBox_OnCheck()
local button = this:GetName();
if (this:GetChecked()) then
if (button == "AutoBar_Options_Bar_DockingMainBar") then
AutoBar_Config[AutoBar_Player].display.docking = "MAINMENU";
elseif (button == "AutoBar_Options_Bar_WidthHeightLocked") then
AutoBar_Config[AutoBar_Player].display.unlockbuttonratio = nil;
elseif (button == "AutoBar_Options_Bar_ReverseButtons") then
AutoBar_Config[AutoBar_Player].display.reversebuttons = 1;
elseif (button == "AutoBar_Options_Bar_HideKeyText") then
AutoBar_Config[AutoBar_Player].display.hidekeytext = 1;
elseif (button == "AutoBar_Options_Bar_HideCount") then
AutoBar_Config[AutoBar_Player].display.hidecount = 1;
elseif (button == "AutoBar_Options_Bar_ShowEmptyButtons") then
AutoBar_Config[AutoBar_Player].display.showemptybuttons = 1;
end
else
if (button == "AutoBar_Options_Bar_DockingMainBar") then
AutoBar_Config[AutoBar_Player].display.docking = nil;
elseif (button == "AutoBar_Options_Bar_WidthHeightLocked") then
AutoBar_Config[AutoBar_Player].display.unlockbuttonratio = 1;
elseif (button == "AutoBar_Options_Bar_ReverseButtons") then
AutoBar_Config[AutoBar_Player].display.reversebuttons = nil;
elseif (button == "AutoBar_Options_Bar_HideKeyText") then
AutoBar_Config[AutoBar_Player].display.hidekeytext = nil;
elseif (button == "AutoBar_Options_Bar_HideCount") then
AutoBar_Config[AutoBar_Player].display.hidecount = nil;
elseif (button == "AutoBar_Options_Bar_ShowEmptyButtons") then
AutoBar_Config[AutoBar_Player].display.showemptybuttons = nil;
end
end
AutoBar_Options_CheckBox_Setup();
AutoBar_SetupVisual();
end
function AutoBar_Options_ConfigButton_Option_OnCheck()
local num = AutoBar_Options_ConfigButton.editting;
local buttoninfo = AutoBar_Config[AutoBar_Player].buttons[num];
local category;
if (type(buttoninfo) == "table") then
category = buttoninfo[this:GetID()];
else
category = buttoninfo;
end
if (not AutoBar_Config[AutoBar_Player].smartselfcast) then
AutoBar_Config[AutoBar_Player].smartselfcast = {};
end
AutoBar_Config[AutoBar_Player].smartselfcast[category] = this:GetChecked();
AutoBar_Config_Button_Edit();
end
function AutoBar_Options_MoveArrow_OnClick(buttonnum, direction)
local primarybutton = AutoBar_Options_ConfigButton.editting;
local tmp;
if (type(AutoBar_Config[AutoBar_Player].buttons[primarybutton]) == "table") then
if (direction == "UP") then
tmp = AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum-1];
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum-1] =
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum];
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum] = tmp;
elseif (direction == "DOWN") then
tmp = AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum+1];
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum+1] =
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum];
AutoBar_Config[AutoBar_Player].buttons[primarybutton][buttonnum] = tmp;
end
end
AutoBar_Config_Button_Edit(primarybutton);
end
------------------------------------
function AutoBar_ToggleConfig()
if (AutoBar_Options:IsVisible()) then
HideUIPanel(AutoBar_Options);
else
ShowUIPanel(AutoBar_Options);
end
end