vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | --The Options Page variables and functions |
2 | |||
3 | --Event and Damage option values |
||
4 | local SCTOptionsFrameEventFrames = { }; |
||
5 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT1.name] = { index = 1, tooltipText = SCT_OPTION_EVENT1.tooltipText, SCTVar = "SHOWHIT"}; |
||
6 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT2.name] = { index = 2, tooltipText = SCT_OPTION_EVENT2.tooltipText, SCTVar = "SHOWMISS"}; |
||
7 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT3.name] = { index = 3, tooltipText = SCT_OPTION_EVENT3.tooltipText, SCTVar = "SHOWDODGE"}; |
||
8 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT4.name] = { index = 4, tooltipText = SCT_OPTION_EVENT4.tooltipText, SCTVar = "SHOWPARRY"}; |
||
9 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT5.name] = { index = 5, tooltipText = SCT_OPTION_EVENT5.tooltipText, SCTVar = "SHOWBLOCK"}; |
||
10 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT6.name] = { index = 6, tooltipText = SCT_OPTION_EVENT6.tooltipText, SCTVar = "SHOWSPELL"}; |
||
11 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT7.name] = { index = 7, tooltipText = SCT_OPTION_EVENT7.tooltipText, SCTVar = "SHOWHEAL"}; |
||
12 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT8.name] = { index = 8, tooltipText = SCT_OPTION_EVENT8.tooltipText, SCTVar = "SHOWRESIST"}; |
||
13 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT9.name] = { index = 9, tooltipText = SCT_OPTION_EVENT9.tooltipText, SCTVar = "SHOWDEBUFF"}; |
||
14 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT10.name] = { index = 10, tooltipText = SCT_OPTION_EVENT10.tooltipText, SCTVar = "SHOWABSORB"}; |
||
15 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT11.name] = { index = 11, tooltipText = SCT_OPTION_EVENT11.tooltipText, SCTVar = "SHOWLOWHP"}; |
||
16 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT12.name] = { index = 12, tooltipText = SCT_OPTION_EVENT12.tooltipText, SCTVar = "SHOWLOWMANA"}; |
||
17 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT13.name] = { index = 13, tooltipText = SCT_OPTION_EVENT13.tooltipText, SCTVar = "SHOWPOWER"}; |
||
18 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT14.name] = { index = 14, tooltipText = SCT_OPTION_EVENT14.tooltipText, SCTVar = "SHOWCOMBAT"}; |
||
19 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT15.name] = { index = 15, tooltipText = SCT_OPTION_EVENT15.tooltipText, SCTVar = "SHOWCOMBOPOINTS"}; |
||
20 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT16.name] = { index = 16, tooltipText = SCT_OPTION_EVENT16.tooltipText, SCTVar = "SHOWHONOR"}; |
||
21 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT17.name] = { index = 17, tooltipText = SCT_OPTION_EVENT17.tooltipText, SCTVar = "SHOWBUFF"}; |
||
22 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT18.name] = { index = 18, tooltipText = SCT_OPTION_EVENT18.tooltipText, SCTVar = "SHOWFADE"}; |
||
23 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT19.name] = { index = 19, tooltipText = SCT_OPTION_EVENT19.tooltipText, SCTVar = "SHOWEXECUTE"}; |
||
24 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT20.name] = { index = 20, tooltipText = SCT_OPTION_EVENT20.tooltipText, SCTVar = "SHOWREP"}; |
||
25 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT21.name] = { index = 21, tooltipText = SCT_OPTION_EVENT21.tooltipText, SCTVar = "SHOWSELFHEAL"}; |
||
26 | SCTOptionsFrameEventFrames [SCT_OPTION_EVENT22.name] = { index = 22, tooltipText = SCT_OPTION_EVENT22.tooltipText, SCTVar = "SHOWSKILL"}; |
||
27 | |||
28 | --Check Button option values |
||
29 | local SCTOptionsFrameCheckButtons = { }; |
||
30 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK1.name] = { index = 1, tooltipText = SCT_OPTION_CHECK1.tooltipText, SCTVar = "ENABLED"}; |
||
31 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK2.name] = { index = 2, tooltipText = SCT_OPTION_CHECK2.tooltipText, SCTVar = "SHOWSELF"}; |
||
32 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK3.name] = { index = 3, tooltipText = SCT_OPTION_CHECK3.tooltipText, SCTVar = "SHOWTARGETS"}; |
||
33 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK4.name] = { index = 4, tooltipText = SCT_OPTION_CHECK4.tooltipText, SCTVar = "DIRECTION"}; |
||
34 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK5.name] = { index = 5, tooltipText = SCT_OPTION_CHECK5.tooltipText, SCTVar = "STICKYCRIT"} |
||
35 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK6.name] = { index = 6, tooltipText = SCT_OPTION_CHECK6.tooltipText, SCTVar = "SPELLTYPE"}; |
||
36 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK7.name] = { index = 7, tooltipText = SCT_OPTION_CHECK7.tooltipText, SCTVar = "DMGFONT"}; |
||
37 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK8.name] = { index = 8, tooltipText = SCT_OPTION_CHECK8.tooltipText, SCTVar = "SHOWALLPOWER"}; |
||
38 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK9.name] = { index = 9, tooltipText = SCT_OPTION_CHECK9.tooltipText, SCTVar = "FPSMODE"}; |
||
39 | SCTOptionsFrameCheckButtons [SCT_OPTION_CHECK10.name] = { index = 10, tooltipText = SCT_OPTION_CHECK10.tooltipText, SCTVar = "SHOWOVERHEAL"}; |
||
40 | |||
41 | --Slider options values |
||
42 | local SCTOptionsFrameSliders = { }; |
||
43 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER1.name] = { index = 1, SCTVar = "ANIMATIONSPEED", minValue = .005, maxValue = .025, valueStep = .005, minText=SCT_OPTION_SLIDER1.minText, maxText=SCT_OPTION_SLIDER1.maxText, tooltipText = SCT_OPTION_SLIDER1.tooltipText}; |
||
44 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER2.name] = { index = 2, SCTVar = "TEXTSIZE", minValue = 12, maxValue = 36, valueStep = 3, minText=SCT_OPTION_SLIDER2.minText, maxText=SCT_OPTION_SLIDER2.maxText, tooltipText = SCT_OPTION_SLIDER2.tooltipText}; |
||
45 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER3.name] = { index = 3, SCTVar = "LOWHP", minValue = .1, maxValue = .9, valueStep = .1, minText=SCT_OPTION_SLIDER3.minText, maxText=SCT_OPTION_SLIDER3.maxText, tooltipText = SCT_OPTION_SLIDER3.tooltipText}; |
||
46 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER4.name] = { index = 4, SCTVar = "LOWMANA", minValue = .1, maxValue = .9, valueStep = .1, minText=SCT_OPTION_SLIDER4.minText, maxText=SCT_OPTION_SLIDER4.maxText, tooltipText = SCT_OPTION_SLIDER4.tooltipText}; |
||
47 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER5.name] = { index = 5, SCTVar = "ALPHA", minValue = .1, maxValue = 1, valueStep = .1, minText=SCT_OPTION_SLIDER5.minText, maxText=SCT_OPTION_SLIDER5.maxText, tooltipText = SCT_OPTION_SLIDER5.tooltipText}; |
||
48 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER6.name] = { index = 6, SCTVar = "MOVEMENT", minValue = 1, maxValue = 5, valueStep = 1, minText=SCT_OPTION_SLIDER6.minText, maxText=SCT_OPTION_SLIDER6.maxText, tooltipText = SCT_OPTION_SLIDER6.tooltipText}; |
||
49 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER7.name] = { index = 7, SCTVar = "XOFFSET", minValue = -300, maxValue = 300, valueStep = 10, minText=SCT_OPTION_SLIDER7.minText, maxText=SCT_OPTION_SLIDER7.maxText, tooltipText = SCT_OPTION_SLIDER7.tooltipText}; |
||
50 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER8.name] = { index = 8, SCTVar = "YOFFSET", minValue = -300, maxValue = 300, valueStep = 10, minText=SCT_OPTION_SLIDER8.minText, maxText=SCT_OPTION_SLIDER8.maxText, tooltipText = SCT_OPTION_SLIDER8.tooltipText}; |
||
51 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER9.name] = { index = 9, SCTVar = "MSGXOFFSET", minValue = -600, maxValue = 600, valueStep = 10, minText=SCT_OPTION_SLIDER9.minText, maxText=SCT_OPTION_SLIDER9.maxText, tooltipText = SCT_OPTION_SLIDER9.tooltipText}; |
||
52 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER10.name] = { index = 10, SCTVar = "MSGYOFFSET", minValue = -600, maxValue = 600, valueStep = 10, minText=SCT_OPTION_SLIDER10.minText, maxText=SCT_OPTION_SLIDER10.maxText, tooltipText = SCT_OPTION_SLIDER10.tooltipText}; |
||
53 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER11.name] = { index = 11, SCTVar = "MSGFADE", minValue = 1, maxValue = 3, valueStep = .5, minText=SCT_OPTION_SLIDER11.minText, maxText=SCT_OPTION_SLIDER11.maxText, tooltipText = SCT_OPTION_SLIDER11.tooltipText}; |
||
54 | SCTOptionsFrameSliders [SCT_OPTION_SLIDER12.name] = { index = 12, SCTVar = "MSGSIZE", minValue = 12, maxValue = 36, valueStep = 3, minText=SCT_OPTION_SLIDER12.minText, maxText=SCT_OPTION_SLIDER12.maxText, tooltipText = SCT_OPTION_SLIDER12.tooltipText}; |
||
55 | |||
56 | --Selection Boxes |
||
57 | local SCTOptionsFrameSelections = {}; |
||
58 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION1.name] = { index = 1, SCTVar = "ANITYPE", tooltipText = SCT_OPTION_SELECTION1.tooltipText, table = SCT_OPTION_SELECTION1.table}; |
||
59 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION2.name] = { index = 2, SCTVar = "ANISIDETYPE", tooltipText = SCT_OPTION_SELECTION2.tooltipText, table = SCT_OPTION_SELECTION2.table}; |
||
60 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION3.name] = { index = 3, SCTVar = "FONT", tooltipText = SCT_OPTION_SELECTION3.tooltipText, table = SCT_OPTION_SELECTION3.table}; |
||
61 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION4.name] = { index = 4, SCTVar = "FONTSHADOW", tooltipText = SCT_OPTION_SELECTION4.tooltipText, table = SCT_OPTION_SELECTION4.table}; |
||
62 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION5.name] = { index = 5, SCTVar = "MSGFONT", tooltipText = SCT_OPTION_SELECTION5.tooltipText, table = SCT_OPTION_SELECTION5.table}; |
||
63 | SCTOptionsFrameSelections [SCT_OPTION_SELECTION6.name] = { index = 6, SCTVar = "MSGFONTSHADOW", tooltipText = SCT_OPTION_SELECTION6.tooltipText, table = SCT_OPTION_SELECTION6.table}; |
||
64 | |||
65 | --Other Options |
||
66 | local SCTOptionsFrameMisc = {}; |
||
67 | SCTOptionsFrameMisc [SCT_OPTION_MISC1.name] = {index = 1, tooltipText = SCT_OPTION_MISC1.tooltipText} |
||
68 | SCTOptionsFrameMisc [SCT_OPTION_MISC2.name] = {index = 2, tooltipText = SCT_OPTION_MISC2.tooltipText} |
||
69 | SCTOptionsFrameMisc [SCT_OPTION_MISC3.name] = {index = 3, tooltipText = SCT_OPTION_MISC3.tooltipText} |
||
70 | SCTOptionsFrameMisc [SCT_OPTION_MISC4.name] = {index = 4, tooltipText = SCT_OPTION_MISC4.tooltipText} |
||
71 | SCTOptionsFrameMisc [SCT_OPTION_MISC5.name] = {index = 5, tooltipText = SCT_OPTION_MISC5.tooltipText} |
||
72 | SCTOptionsFrameMisc [SCT_OPTION_MISC6.name] = {index = 6, tooltipText = SCT_OPTION_MISC6.tooltipText} |
||
73 | SCTOptionsFrameMisc [SCT_OPTION_MISC7.name] = {index = 7, tooltipText = SCT_OPTION_MISC7.tooltipText} |
||
74 | SCTOptionsFrameMisc [SCT_OPTION_MISC8.name] = {index = 8, tooltipText = SCT_OPTION_MISC8.tooltipText} |
||
75 | SCTOptionsFrameMisc [SCT_OPTION_MISC9.name] = {index = 9, tooltipText = SCT_OPTION_MISC9.tooltipText} |
||
76 | SCTOptionsFrameMisc [SCT_OPTION_MISC10.name] = {index = 10, tooltipText = SCT_OPTION_MISC10.tooltipText} |
||
77 | SCTOptionsFrameMisc [SCT_OPTION_MISC11.name] = {index = 11, tooltipText = SCT_OPTION_MISC11.tooltipText} |
||
78 | SCTOptionsFrameMisc [SCT_OPTION_MISC12.name] = {index = 12, tooltipText = SCT_OPTION_MISC12.tooltipText} |
||
79 | SCTOptionsFrameMisc [SCT_OPTION_MISC13.name] = {index = 13, tooltipText = SCT_OPTION_MISC13.tooltipText} |
||
80 | SCTOptionsFrameMisc [SCT_OPTION_MISC14.name] = {index = 14, tooltipText = SCT_OPTION_MISC14.tooltipText} |
||
81 | SCTOptionsFrameMisc [SCT_OPTION_MISC15.name] = {index = 15, tooltipText = SCT_OPTION_MISC15.tooltipText} |
||
82 | SCTOptionsFrameMisc [SCT_OPTION_MISC16.name] = {index = 16, tooltipText = SCT_OPTION_MISC16.tooltipText} |
||
83 | SCTOptionsFrameMisc [SCT_OPTION_MISC17.name] = {index = 17, tooltipText = SCT_OPTION_MISC17.tooltipText} |
||
84 | SCTOptionsFrameMisc [SCT_OPTION_MISC18.name] = {index = 18, tooltipText = SCT_OPTION_MISC18.tooltipText} |
||
85 | SCTOptionsFrameMisc [SCT_OPTION_MISC19.name] = {index = 19, tooltipText = SCT_OPTION_MISC19.tooltipText} |
||
86 | |||
87 | ---------------------- |
||
88 | --Called when option page loads |
||
89 | function SCTOptionsFrame_OnShow() |
||
90 | -- Initial Values |
||
91 | local button, button2, button3, string, checked; |
||
92 | |||
93 | --Misc Options |
||
94 | for key, value in SCTOptionsFrameMisc do |
||
95 | string = getglobal("SCTOptionsFrame_Misc"..value.index); |
||
96 | string:SetText(key); |
||
97 | if (value.tooltipText) then |
||
98 | string.tooltipText = value.tooltipText; |
||
99 | end |
||
100 | end |
||
101 | |||
102 | -- Set Options values |
||
103 | for key, value in SCTOptionsFrameEventFrames do |
||
104 | button = getglobal("SCTOptionsFrame"..value.index.."_CheckButton"); |
||
105 | button2 = getglobal("SCTOptionsFrame"..value.index.."_CritCheckButton"); |
||
106 | button3 = getglobal("SCTOptionsFrame"..value.index.."_MsgCheckButton"); |
||
107 | string = getglobal("SCTOptionsFrame"..value.index.."_CheckButtonText"); |
||
108 | |||
109 | button:SetChecked(SCT_Get(value.SCTVar)); |
||
110 | button.tooltipText = value.tooltipText; |
||
111 | button2:SetChecked(SCT_GetTable(SCT_CRITS_TABLE, value.SCTVar)); |
||
112 | button2.tooltipText = SCT_Option_Crit_Tip; |
||
113 | button3:SetChecked(SCT_GetTable(SCT_MSGS_TABLE, value.SCTVar)); |
||
114 | button3.tooltipText = SCT_Option_Msg_Tip; |
||
115 | string:SetText(key); |
||
116 | |||
117 | --Color Swatch |
||
118 | local frame,swatch,sRed,sGreen,sBlue,sColor,sfunc,cfunc,index,key; |
||
119 | |||
120 | frame = getglobal("SCTOptionsFrame"..value.index); |
||
121 | swatch = getglobal("SCTOptionsFrame"..value.index.."_ColorSwatchNormalTexture"); |
||
122 | |||
123 | sColor = SCT_GetTable(SCT_COLORS_TABLE, value.SCTVar); |
||
124 | sRed = sColor.r; |
||
125 | sGreen = sColor.g; |
||
126 | sBlue = sColor.b; |
||
127 | |||
128 | frame.r = sRed; |
||
129 | frame.g = sGreen; |
||
130 | frame.b = sBlue; |
||
131 | |||
132 | index = value.index; |
||
133 | key = value.SCTVar; |
||
134 | sfunc = function(x) SCTOptionsFrame_SetColor(index, key) end; |
||
135 | cfunc = function(x) SCTOptionsFrame_CancelColor(index, key, x) end; |
||
136 | frame.swatchFunc = sfunc; |
||
137 | frame.cancelFunc = cfunc; |
||
138 | swatch:SetVertexColor(sRed,sGreen,sBlue); |
||
139 | end |
||
140 | |||
141 | -- Set CheckButton states |
||
142 | for key, value in SCTOptionsFrameCheckButtons do |
||
143 | button = getglobal("SCTOptionsFrame_CheckButton"..value.index); |
||
144 | string = getglobal("SCTOptionsFrame_CheckButton"..value.index.."Text"); |
||
145 | |||
146 | button:SetChecked(SCT_Get(value.SCTVar)); |
||
147 | button.tooltipText = value.tooltipText; |
||
148 | string:SetText(key); |
||
149 | |||
150 | end |
||
151 | |||
152 | local slider, string, low, high, getvalue |
||
153 | |||
154 | --Set Sliders |
||
155 | for key, value in SCTOptionsFrameSliders do |
||
156 | slider = getglobal("SCTOptionsFrame_Slider"..value.index); |
||
157 | string = getglobal("SCTOptionsFrame_Slider"..value.index.."Text"); |
||
158 | low = getglobal("SCTOptionsFrame_Slider"..value.index.."Low"); |
||
159 | high = getglobal("SCTOptionsFrame_Slider"..value.index.."High"); |
||
160 | getvalue = SCT_Get(value.SCTVar); |
||
161 | slider:SetMinMaxValues(value.minValue, value.maxValue); |
||
162 | slider:SetValueStep(value.valueStep); |
||
163 | slider.tooltipText = value.tooltipText; |
||
164 | slider:SetValue(getvalue); |
||
165 | string:SetText(key..": "..SCT_Format_Number(getvalue)); |
||
166 | low:SetText(value.minText); |
||
167 | high:SetText(value.maxText); |
||
168 | end |
||
169 | |||
170 | local label, ddl, selected |
||
171 | |||
172 | --Dropdowns |
||
173 | for key, value in SCTOptionsFrameSelections do |
||
174 | selected = SCT_Get(value.SCTVar); |
||
175 | ddl = getglobal("SCTOptionsFrame_Selection"..value.index); |
||
176 | UIDropDownMenu_SetSelectedID(ddl, selected); |
||
177 | --not sure why I have to do this, but only way to make it show correctly |
||
178 | UIDropDownMenu_SetText(value.table[selected], ddl); |
||
179 | ddl.tooltipText = value.tooltipText; |
||
180 | label = getglobal("SCTOptionsFrame_Selection"..value.index.."Label"); |
||
181 | label:SetText(key); |
||
182 | |||
183 | --show hide text options |
||
184 | if (value.index == 1) then |
||
185 | SCT_UpdateAnimationOptions(selected); |
||
186 | end |
||
187 | end |
||
188 | |||
189 | --Update Profiles |
||
190 | SCT_UpdateProfileList(); |
||
191 | end |
||
192 | |||
193 | ---------------------- |
||
194 | --Sets the colors of the config from a color swatch |
||
195 | function SCTOptionsFrame_SetColor(index,key) |
||
196 | local r,g,b = ColorPickerFrame:GetColorRGB(); |
||
197 | local swatch,frame; |
||
198 | local color={}; |
||
199 | swatch = getglobal("SCTOptionsFrame"..index.."_ColorSwatchNormalTexture"); |
||
200 | frame = getglobal("SCTOptionsFrame"..index); |
||
201 | swatch:SetVertexColor(r,g,b); |
||
202 | frame.r = r; |
||
203 | frame.g = g; |
||
204 | frame.b = b; |
||
205 | color.r = r; |
||
206 | color.g = g; |
||
207 | color.b = b; |
||
208 | --update back to config |
||
209 | SCT_SetTable(SCT_COLORS_TABLE, key, color); |
||
210 | end |
||
211 | |||
212 | ---------------------- |
||
213 | -- Cancels the color selection |
||
214 | function SCTOptionsFrame_CancelColor(index, key, prev) |
||
215 | local r = prev.r; |
||
216 | local g = prev.g; |
||
217 | local b = prev.b; |
||
218 | local swatch, frame; |
||
219 | local color={}; |
||
220 | swatch = getglobal("SCTOptionsFrame"..index.."_ColorSwatchNormalTexture"); |
||
221 | frame = getglobal("SCTOptionsFrame"..index); |
||
222 | swatch:SetVertexColor(r, g, b); |
||
223 | frame.r = r; |
||
224 | frame.g = g; |
||
225 | frame.b = b; |
||
226 | color.r = r; |
||
227 | color.g = g; |
||
228 | color.b = b; |
||
229 | -- Update back to config |
||
230 | SCT_SetTable(SCT_COLORS_TABLE, key, color); |
||
231 | end |
||
232 | |||
233 | ---------------------- |
||
234 | --Sets the silder values in the config |
||
235 | function SCT_OptionsSliderOnValueChanged() |
||
236 | local string; |
||
237 | --loop thru slider array to find current one, then update its value |
||
238 | for key, value in SCTOptionsFrameSliders do |
||
239 | if (this:GetName() == "SCTOptionsFrame_Slider"..value.index) then |
||
240 | string = getglobal("SCTOptionsFrame_Slider"..value.index.."Text"); |
||
241 | string:SetText(key..": "..SCT_Format_Number(this:GetValue())); |
||
242 | SCT_Set(value.SCTVar,this:GetValue()); |
||
243 | break; |
||
244 | end |
||
245 | end |
||
246 | --update Example |
||
247 | SCT_ShowExample(); |
||
248 | end |
||
249 | |||
250 | ---------------------- |
||
251 | --Sets the checkbox values in the config |
||
252 | function SCT_OptionsCheckButtonOnClick() |
||
253 | local button, chkvalue; |
||
254 | --loop thru event checkbox array to find current one, then update its value |
||
255 | for index, value in SCTOptionsFrameEventFrames do |
||
256 | if (this:GetName() == "SCTOptionsFrame"..value.index.."_CheckButton") then |
||
257 | button = getglobal("SCTOptionsFrame"..value.index.."_CheckButton"); |
||
258 | SCT_Set(value.SCTVar,button:GetChecked()); |
||
259 | break; |
||
260 | --is it a crit checkbox |
||
261 | elseif (this:GetName() == "SCTOptionsFrame"..value.index.."_CritCheckButton") then |
||
262 | button = getglobal("SCTOptionsFrame"..value.index.."_CritCheckButton"); |
||
263 | SCT_SetTable(SCT_CRITS_TABLE, value.SCTVar,button:GetChecked()); |
||
264 | break; |
||
265 | --is it a msg checkbox |
||
266 | elseif (this:GetName() == "SCTOptionsFrame"..value.index.."_MsgCheckButton") then |
||
267 | button = getglobal("SCTOptionsFrame"..value.index.."_MsgCheckButton"); |
||
268 | SCT_SetTable(SCT_MSGS_TABLE, value.SCTVar,button:GetChecked()); |
||
269 | break; |
||
270 | end |
||
271 | end |
||
272 | --loop thru checkbox array to find current one, then update its value |
||
273 | for index, value in SCTOptionsFrameCheckButtons do |
||
274 | if (this:GetName() == "SCTOptionsFrame_CheckButton"..value.index) then |
||
275 | button = getglobal("SCTOptionsFrame_CheckButton"..value.index); |
||
276 | SCT_Set(value.SCTVar,button:GetChecked()); |
||
277 | break; |
||
278 | end |
||
279 | end |
||
280 | --update Example |
||
281 | SCT_ShowExample(); |
||
282 | end |
||
283 | |||
284 | --------------------- |
||
285 | --Save current settings, mainly to catch when they load a profile |
||
286 | function SCTSaveCurrentSettings() |
||
287 | SCT_CONFIG[SCT_PlayerName] = SCT_clone(SCTPlayer); |
||
288 | SCTPlayer = SCT_Config_GetPlayer(); |
||
289 | end |
||
290 | |||
291 | ---------------------- |
||
292 | --Open the color selector using show/hide |
||
293 | function SCTSaveList_OnClick() |
||
294 | local id = this:GetName(); |
||
295 | local profile = getglobal(id.."_Name"):GetText(); |
||
296 | local editbox = getglobal("SCTOptionsProfileEditBox"); |
||
297 | editbox:SetText(profile); |
||
298 | SCTOptions_SaveLoadFrame:Hide(); |
||
299 | end |
||
300 | |||
301 | ----------------------- |
||
302 | --Load a profile |
||
303 | function SCTLoadProfile() |
||
304 | local editbox = getglobal("SCTOptionsProfileEditBox"); |
||
305 | local profile = editbox:GetText(); |
||
306 | if (SCT_CONFIG[profile]) then |
||
307 | SCTPlayer = SCT_clone(SCT_CONFIG[profile]); |
||
308 | editbox:SetText(""); |
||
309 | SCT_hideMenu(); |
||
310 | SCT_showMenu(); |
||
311 | SCT_Chat_Message(SCT_PROFILE..profile); |
||
312 | end |
||
313 | end |
||
314 | |||
315 | ----------------------- |
||
316 | --Delete a profile |
||
317 | function SCTDeleteProfile() |
||
318 | local editbox = getglobal("SCTOptionsProfileEditBox"); |
||
319 | local profile = editbox:GetText(); |
||
320 | if (SCT_CONFIG[profile]) then |
||
321 | if (profile == SCT_PlayerName) then |
||
322 | SCT_Reset(); |
||
323 | else |
||
324 | SCT_CONFIG[profile] = nil; |
||
325 | end |
||
326 | editbox:SetText(""); |
||
327 | SCT_UpdateProfileList() |
||
328 | SCT_hideMenu(); |
||
329 | SCT_showMenu(); |
||
330 | SCT_Chat_Message(SCT_PROFILE_DELETE..profile); |
||
331 | end |
||
332 | end |
||
333 | |||
334 | ----------------------- |
||
335 | --Update profile list |
||
336 | function SCT_UpdateProfileList() |
||
337 | local loadprofile |
||
338 | local i, j = 1; |
||
339 | --update known profiles |
||
340 | for key, value in SCT_CONFIG do |
||
341 | if (i > 10) then |
||
342 | return; |
||
343 | end |
||
344 | loadprofile = getglobal("SCTList"..i.."_Name"); |
||
345 | loadprofile:SetText(key); |
||
346 | i = i + 1; |
||
347 | end |
||
348 | --blank out non-updated list items |
||
349 | for j = i, 10 do |
||
350 | loadprofile = getglobal("SCTList"..j.."_Name"); |
||
351 | loadprofile:SetText(""); |
||
352 | end |
||
353 | end |
||
354 | |||
355 | ---------------------- |
||
356 | --Open the color selector using show/hide |
||
357 | function SCT_OpenColorPicker(button) |
||
358 | CloseMenus(); |
||
359 | if ( not button ) then |
||
360 | button = this; |
||
361 | end |
||
362 | ColorPickerFrame.func = button.swatchFunc; |
||
363 | ColorPickerFrame:SetColorRGB(button.r, button.g, button.b); |
||
364 | ColorPickerFrame.previousValues = {r = button.r, g = button.g, b = button.b, opacity = button.opacity}; |
||
365 | ColorPickerFrame.cancelFunc = button.cancelFunc; |
||
366 | ColorPickerFrame:Show(); |
||
367 | end |
||
368 | |||
369 | --------------------- |
||
370 | --Init a Dropdown |
||
371 | function SCT_DropDown_Initialize() |
||
372 | local info = {}; |
||
373 | for index, value in SCTOptionsFrameSelections do |
||
374 | if (this:GetName() == "SCTOptionsFrame_Selection"..value.index.."Button") then |
||
375 | for key, name in value.table do |
||
376 | info = {}; |
||
377 | info.text = name; |
||
378 | info.func = SCT_DropDown_OnClick; |
||
379 | info.arg1 = value.index; |
||
380 | UIDropDownMenu_AddButton(info); |
||
381 | end |
||
382 | end |
||
383 | end |
||
384 | end |
||
385 | |||
386 | --------------------- |
||
387 | -- Dropdown Onclick |
||
388 | function SCT_DropDown_OnClick(list) |
||
389 | local ddl, ddl2, chkbox; |
||
390 | for index, value in SCTOptionsFrameSelections do |
||
391 | if (list == value.index) then |
||
392 | ddl = getglobal("SCTOptionsFrame_Selection"..value.index); |
||
393 | UIDropDownMenu_SetSelectedID(ddl, this:GetID()); |
||
394 | SCT_Set(value.SCTVar, this:GetID()); |
||
395 | --show hide text options |
||
396 | if (value.index == 1) then |
||
397 | SCT_UpdateAnimationOptions(this:GetID()); |
||
398 | end |
||
399 | end |
||
400 | end |
||
401 | |||
402 | --update Example |
||
403 | SCT_ShowExample(); |
||
404 | end |
||
405 | |||
406 | ---------------------- |
||
407 | -- display ddl or chxbox based on type |
||
408 | function SCT_UpdateAnimationOptions(id) |
||
409 | --get scroll down checkbox |
||
410 | chkbox = getglobal("SCTOptionsFrame_CheckButton4"); |
||
411 | --get animside type dropdown |
||
412 | ddl2 = getglobal("SCTOptionsFrame_Selection2"); |
||
413 | if (id == 1) then |
||
414 | chkbox:Show(); |
||
415 | ddl2:Hide(); |
||
416 | else |
||
417 | chkbox:Hide(); |
||
418 | ddl2:Show(); |
||
419 | end |
||
420 | end |
||
421 | |||
422 | --------------------- |
||
423 | --Show SCT Example |
||
424 | function SCT_ShowExample() |
||
425 | local example; |
||
426 | SCT_UpdateGlobalPos(); |
||
427 | |||
428 | --show example frame |
||
429 | SCT_EXAMPLETEXT:Show(); |
||
430 | --get object |
||
431 | example = getglobal("SCTaniExampleData1"); |
||
432 | --set text size |
||
433 | SCT_SetFont(example); |
||
434 | --set the color |
||
435 | example:SetTextColor(1, 1, 1); |
||
436 | --set alpha |
||
437 | example:SetAlpha(SCT_Get("ALPHA")); |
||
438 | --Position |
||
439 | example:SetPoint("CENTER", "UIParent", "CENTER", SCT_Get("XOFFSET"), SCT_Get("YOFFSET")); |
||
440 | --Set the text to display |
||
441 | example:SetText(SCT_EXAMPLE); |
||
442 | |||
443 | --show msg frame |
||
444 | SCT_EXAMPLEMSG:Show(); |
||
445 | --get object |
||
446 | example = getglobal("SCTMsgExample1"); |
||
447 | --set text size |
||
448 | SCT_SetMsgFont(example); |
||
449 | --set the color |
||
450 | example:SetTextColor(1, 1, 1); |
||
451 | --set alpha |
||
452 | example:SetAlpha(1); |
||
453 | --Position |
||
454 | example:SetPoint("CENTER", "UIParent", "CENTER", SCT_Get("MSGXOFFSET"), SCT_Get("MSGYOFFSET")-30); |
||
455 | --Set the text to display |
||
456 | example:SetText(SCT_MSG_EXAMPLE); |
||
457 | end |
||
458 | |||
459 | --------------- |
||
460 | --format numbers |
||
461 | function SCT_Format_Number(number) |
||
462 | if number > 0 and number < 1 then |
||
463 | return format("%d",number * 100); |
||
464 | else |
||
465 | return number; |
||
466 | end; |
||
467 | end |