vanilla-wow-addons – Rev 1
?pathlinks?
--ColorPicker ID
local num;
local function outline2int(key)
if (SAVars[key].outline == "THICKOUTLINE") then
return 3;
elseif (SAVars[key].outline == "OUTLINE") then
return 2;
else
return 1;
end
end
local function int2outline(int)
if (int == 3) then
return "THICKOUTLINE";
elseif (int == 2) then
return "OUTLINE";
else
return "";
end
end
local function int2outlinetext(int)
if (int == 3) then
return "Thick";
elseif (int == 2) then
return "Normal";
else
return "None";
end
end
local function checked2bool(int)
if (int) then
return true;
else
return false;
end
end
function SAO_MainFrame_OnLoad()
tinsert(UISpecialFrames,"SAO_MainFrame");
PanelTemplates_SetNumTabs(SAO_MainFrame, 4);
SAO_MainFrame.selectedTab=1;
PanelTemplates_UpdateTabs(SAO_MainFrame);
SAO_OptionFrame1:Show();
end
function SAO_CheckButton_OnLoad(str)
local buttonText = getglobal(this:GetName().."Text");
buttonText:SetText(str);
-- buttonText:SetWidth(buttonText:GetStringWidth() + 5);
end
function SAO_CheckButton_OnClick()
if ( this:GetChecked() ) then
PlaySound("igMainMenuOptionCheckBoxOn");
else
PlaySound("igMainMenuOptionCheckBoxOff");
end
end
function SAO_MainFrame_OnShow()
PlaySound("igMainMenuClose");
end
function SAO_MainFrame_OnHide()
PlaySound("igMainMenuClose");
end
local function HideAllOptionFrames()
SAO_OptionFrame1:Hide();
SAO_OptionFrame2:Hide();
SAO_OptionFrame3:Hide();
SAO_OptionFrame4:Hide();
end
function SAO_MainFrameTab_OnClick()
HideAllOptionFrames();
getglobal("SAO_OptionFrame"..this:GetID()):Show();
PlaySound("igCharacterInfoTab");
end
function SAO_OptionFrame_OnShow()
local frame = this:GetName();
if (frame == "SAO_OptionFrame1") then
SAO_CheckButtonOn:SetChecked(SAVars.on);
SAO_CheckButtonOffOnRest:SetChecked(SAVars.offonrest);
for i = 0, 9 do
getglobal("SAO_CheckButton"..i):SetChecked(SAVars[i].on);
getglobal("SAO_CheckButton"..i.."TO"):SetChecked(SAVars[i].to);
getglobal("SAO_CheckButton"..i.."Short"):SetChecked(SAVars[i].short);
getglobal("SAO_CheckButton"..i.."Color"):SetID(i);
getglobal("SAO_CheckButton"..i.."ColorTexture"):SetVertexColor(SAVars[i].r, SAVars[i].g, SAVars[i].b);
end
else
local key = "alert"..this:GetID()-1;
getglobal(frame.."EditBox1"):SetText(SAVars[key].size);
getglobal(frame.."EditBox2"):SetText(SAVars[key].holdTime);
getglobal(frame.."EditBox3"):SetText(SAVars[key].fadeTime);
getglobal(frame.."EditBox4"):SetText(SAVars[key].lines);
getglobal(frame.."EditBox5"):SetText(SAVars[key].space);
getglobal(frame.."Slider1Text"):SetText(SAO_STR_ALPHA);
getglobal(frame.."Slider1Low"):SetText("0");
getglobal(frame.."Slider1High"):SetText("1");
getglobal(frame.."Slider1"):SetMinMaxValues(0, 1);
getglobal(frame.."Slider1"):SetValueStep(0.01);
getglobal(frame.."Slider1"):SetValue(SAVars[key].alpha);
getglobal(frame.."Slider2Text"):SetText(SAO_STR_OUTLINE);
getglobal(frame.."Slider2Low"):SetText("1");
getglobal(frame.."Slider2High"):SetText("3");
getglobal(frame.."Slider2"):SetMinMaxValues(1, 3);
getglobal(frame.."Slider2"):SetValueStep(1);
getglobal(frame.."Slider2"):SetValue(outline2int(key));
local num = this:GetID()-1;
for i = 0, 9 do
getglobal(frame.."CheckButton"..i):SetChecked(false);
if (SAVars[i].alert == num) then
getglobal(frame.."CheckButton"..i):SetChecked(true);
end
end
end
end
function SAO_OptionFrame_OnHide()
local frame = this:GetName();
if (frame == "SAO_OptionFrame1") then
SAVars.on = checked2bool(SAO_CheckButtonOn:GetChecked());
SAVars.offonrest = checked2bool(SAO_CheckButtonOffOnRest:GetChecked());
for i = 0, 9 do
SAVars[i].on = checked2bool(getglobal("SAO_CheckButton"..i):GetChecked());
SAVars[i].to = checked2bool(getglobal("SAO_CheckButton"..i.."TO"):GetChecked());
SAVars[i].short = checked2bool(getglobal("SAO_CheckButton"..i.."Short"):GetChecked());
end
else
local num = this:GetID()-1;
for i = 0, 9 do
if (getglobal(frame.."CheckButton"..i):GetChecked()) then
SAVars[i].alert = num;
end
getglobal(frame.."CheckButton"..i):SetChecked(false);
end
end
end
function SAO_EditBox_OnEditFocusLost(key)
this:HighlightText(0, 0);
local num = (this:GetParent()):GetID()-1;
local val = tonumber(this:GetText());
if (not key) then
return;
elseif (type(val) ~= "number") then
message(SAO_STR_NAN);
elseif ((val < SALimits[key].min) or (val > SALimits[key].max)) then
this:SetText(SAVars["alert"..num][key]);
message(SAO_STR_MIN..SALimits[key].min..SAO_STR_MAX..SALimits[key].max);
else
SAVars["alert"..num][key] = val;
SA_SMF_UpdateLook(num);
end
end
function SAO_CheckButtonColor_OnClick()
num = this:GetID();
ColorPickerFrame.hasOpacity = false;
ColorPickerFrame.previousValues = { SAVars[num].r, SAVars[num].g, SAVars[num].b };
ColorPickerFrame.func = SAO_ColorPickerFrame_Func;
ColorPickerFrame.cancelFunc = SAO_ColorPickerFrame_CancelFunc;
ColorPickerFrame:SetColorRGB(SAVars[num].r, SAVars[num].g, SAVars[num].b);
ColorPickerFrame:Show();
end
function SAO_ColorPickerFrame_Func()
local red, green, blue = ColorPickerFrame:GetColorRGB();
getglobal("SAO_CheckButton"..num.."ColorTexture"):SetVertexColor(red, green, blue);
SAVars[num].r = red;
SAVars[num].g = green;
SAVars[num].b = blue;
end
function SAO_ColorPickerFrame_CancelFunc(prevvals)
SAVars[num].r, SAVars[num].g, SAVars[num].b = unpack(prevvals);
getglobal("SAO_CheckButton"..num.."ColorTexture"):SetVertexColor(SAVars[num].r, SAVars[num].g, SAVars[num].b);
end
function SAO_Button_OnClick(k)
local saDrag = getglobal("SA_Drag"..k);
if (saDrag:IsVisible()) then
SAVars["alert"..k].top = saDrag:GetTop();
SAVars["alert"..k].left = saDrag:GetLeft();
saDrag:Hide();
else
saDrag:Show();
end
end
function SAO_Slider1_OnValueChanged()
local num = (this:GetParent()):GetID()-1;
getglobal(this:GetName().."Value"):SetText(this:GetValue());
SAVars["alert"..num].alpha = this:GetValue();
getglobal("SA_SMF"..num):SetAlpha(this:GetValue());
end
function SAO_Slider2_OnValueChanged()
local num = (this:GetParent()):GetID()-1;
getglobal(this:GetName().."Value"):SetText(int2outlinetext(this:GetValue()));
SAVars["alert"..num].outline = int2outline(this:GetValue());
SA_SMF_UpdateLook(num);
end
Generated by GNU Enscript 1.6.5.90.