comparison ProspectMe_Config.lua @ 0:69b46322ff1b v1.2.1-Alpha

Updated Prospect me for initial client v6.0.3 support. Warning, there may be bugs!
author Vynn
date Mon, 15 Dec 2014 22:51:49 -0500
parents
children dabd5c6540ca
comparison
equal deleted inserted replaced
-1:000000000000 0:69b46322ff1b
1 PM_Config = {}
2
3 local ProspectMeFrame = CreateFrame( "Frame", "PM_ConfigFrame", InterfaceOptionsFramePanelContainer)
4 local Title = PM_ConfigFrame:CreateFontString( "ProspectMeTitle", nil, "GameFontNormalLarge")
5 local ResultsToggle = CreateFrame( "CheckButton", "ProspectMeResultsToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
6 local EpicToggle = CreateFrame( "CheckButton", "ProspectMeEpicToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
7 local RareToggle = CreateFrame( "CheckButton", "ProspectMeRareToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
8 local UncommonToggle = CreateFrame( "CheckButton", "ProspectMeUncommonToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
9 local CommonToggle = CreateFrame( "CheckButton", "ProspectMeCommonToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
10 local PoorToggle = CreateFrame( "CheckButton", "ProspectMePoorToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
11 local SessionToggle = CreateFrame( "CheckButton", "ProspectMeSessionToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
12 local PercentToggle = CreateFrame( "CheckButton", "ProspectMePercentToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
13 local NumberToggle = CreateFrame( "CheckButton", "ProspectMeNumberToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" )
14 local ResetResults = CreateFrame( "Button", "ProspectMeResetButton", ProspectMeFrame, "UIPanelButtonTemplate" )
15 local ResetText = PM_ConfigFrame:CreateFontString( "ProspectMeResetText", nil, "GameFontNormal" )
16
17 local function SetDefaults()
18 PM_Config.results = true
19 PM_Config.qualities ={[0] = false,[1] = true, [2] = true, [3] = true, [4] = true}
20 PM_Config.session = false
21 PM_Config.percent = true
22 PM_Config.number = true
23 PM_Config.savedVariables = true
24 end
25
26 local function SpewMessage(handle, msg)
27 if handle == "loaded" then
28 print(PM_LOADMSG)
29 elseif handle == "help" then
30 print(PM_HELPMSG)
31 SpewMessage(PM_CONFIG, PM_CONFIGTOOLTIP)
32 SpewMessage(PM_RESULTS, PM_RESULTSTOOLTIP)
33 SpewMessage(PM_EPIC, PM_EPICTOOLTIP)
34 SpewMessage(PM_RARE, PM_RARETOOLTIP)
35 SpewMessage(PM_UNCOMMON, PM_UNCOMMONTOOLTIP)
36 SpewMessage(PM_COMMON, PM_COMMONTOOLTIP)
37 SpewMessage(PM_POOR, PM_POORTOOLTIP)
38 SpewMessage(PM_SESSION, PM_SESSIONTOOLTIP)
39 SpewMessage(PM_PERCENT, PM_PERCENTTOOLTIP)
40 SpewMessage(PM_NUMBER, PM_NUMBERTOOLTIP)
41 SpewMessage(PM_RESET, PM_RESETTOOLTIP)
42 else
43 print("|cFFFFCC00" .. handle .. "|r - " .. msg)
44 end
45 end
46
47 local function ClearEntry(id)
48 if PM_ResultsTable[id] then
49 wipe(PM_ResultsTable[id])
50 end
51 if PM_SessionTable[id] then
52 wipe(PM_SessionTable[id])
53 end
54 end
55
56 local function ResetDatabase()
57 for i, v in pairs(PM_ResultsTable) do
58 ClearEntry(i)
59 end
60 wipe(PM_ResultsTable)
61 wipe(PM_SessionTable)
62 end
63
64 local function UpdateConfig()
65
66 PM_Config.results = ProspectMeResultsToggle:GetChecked()
67 PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked()
68 PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked()
69 PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked()
70 PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked()
71 PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked()
72 PM_Config.session = ProspectMeSessionToggle:GetChecked()
73 PM_Config.percent = ProspectMePercentToggle:GetChecked()
74 PM_Config.number = ProspectMeNumberToggle:GetChecked()
75
76 if (PM_Config.results) then
77
78 ProspectMePoorToggle:Enable()
79 ProspectMeCommonToggle:Enable()
80 ProspectMeUncommonToggle:Enable()
81 ProspectMeRareToggle:Enable()
82 ProspectMeEpicToggle:Enable()
83
84 PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked()
85 PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked()
86 PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked()
87 PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked()
88 PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked()
89
90 else
91
92 ProspectMePoorToggle:Disable()
93 ProspectMeCommonToggle:Disable()
94 ProspectMeUncommonToggle:Disable()
95 ProspectMeRareToggle:Disable()
96 ProspectMeEpicToggle:Disable()
97
98 end
99 end
100
101 local function PM_ConfigInit()
102 StaticPopupDialogs["PM_ConfirmReset"] = {
103 text = PM_RESETWARNING,
104 button1 = YES,
105 button2 = NO,
106 OnAccept = function()
107 ResetDatabase()
108 end,
109 timeout = 30,
110 whileDead = true,
111 hideOnEscape = true,
112 preferredIndex = 3,
113 }
114
115 ProspectMeFrame.name = "Prospect Me"
116
117 ProspectMeTitle:SetPoint("TOP", 0, -16)
118 ProspectMeTitle:SetText(GetAddOnMetadata("ProspectMe", "Title") .. " v" .. GetAddOnMetadata("ProspectMe", "Version"))
119
120 ProspectMeSessionToggle:SetPoint( "TOPLEFT", 32, -46 )
121 ProspectMeSessionToggle:SetScript("OnClick", UpdateConfig)
122 ProspectMeSessionToggle:SetChecked(PM_Config.session)
123 ProspectMeSessionToggleText:SetText(PM_SESSIONTOGGLE)
124 ProspectMeSessionToggle.tooltipText = PM_SESSIONTOOLTIP
125
126 ProspectMePercentToggle:SetPoint( "TOPLEFT", 32, -70 )
127 ProspectMePercentToggle:SetScript("OnClick", UpdateConfig)
128 ProspectMePercentToggle:SetChecked(PM_Config.percent)
129 ProspectMePercentToggleText:SetText(PM_PERCENTTOGGLE)
130 ProspectMePercentToggle.tooltipText = PM_PERCENTTOOLTIP
131
132 ProspectMeNumberToggle:SetPoint( "TOPLEFT", 32, -94 )
133 ProspectMeNumberToggle:SetScript("OnClick", UpdateConfig)
134 ProspectMeNumberToggle:SetChecked(PM_Config.number)
135 ProspectMeNumberToggleText:SetText(PM_NUMBERTOGGLE)
136 ProspectMeNumberToggle.tooltipText = PM_NUMBERTOOLTIP
137
138 ProspectMeResultsToggle:SetPoint( "TOPLEFT", 32, -118 )
139 ProspectMeResultsToggle:SetScript("OnClick", UpdateConfig)
140 ProspectMeResultsToggle:SetChecked(PM_Config.results)
141 ProspectMeResultsToggleText:SetText(PM_RESULTSTOGGLE)
142 ProspectMeResultsToggle.tooltipText = PM_RESULTSTOOLTIP
143
144 ProspectMeEpicToggle:SetPoint( "TOPLEFT", 60, -142 )
145 ProspectMeEpicToggle:SetScript("OnClick", UpdateConfig)
146 ProspectMeEpicToggle:SetChecked(PM_Config.qualities[4])
147 ProspectMeEpicToggleText:SetText(PM_EPICTOGGLE)
148 ProspectMeEpicToggle.tooltipText = PM_EPICTOOLTIP
149
150 ProspectMeRareToggle:SetPoint( "TOPLEFT", 60, -166 )
151 ProspectMeRareToggle:SetScript("OnClick", UpdateConfig)
152 ProspectMeRareToggle:SetChecked(PM_Config.qualities[3])
153 ProspectMeRareToggleText:SetText(PM_RARETOGGLE)
154 ProspectMeRareToggle.tooltipText = PM_RARETOOLTIP
155
156 ProspectMeUncommonToggle:SetPoint( "TOPLEFT", 60, -190 )
157 ProspectMeUncommonToggle:SetScript("OnClick", UpdateConfig)
158 ProspectMeUncommonToggle:SetChecked(PM_Config.qualities[2])
159 ProspectMeUncommonToggleText:SetText(PM_UNCOMMONTOGGLE)
160 ProspectMeUncommonToggle.tooltipText = PM_UNCOMMONTOOLTIP
161
162 ProspectMeCommonToggle:SetPoint( "TOPLEFT", 60, -214 )
163 ProspectMeCommonToggle:SetScript("OnClick", UpdateConfig)
164 ProspectMeCommonToggle:SetChecked(PM_Config.qualities[1])
165 ProspectMeCommonToggleText:SetText(PM_COMMONTOGGLE)
166 ProspectMeCommonToggle.tooltipText = PM_COMMONTOOLTIP
167
168 ProspectMePoorToggle:SetPoint( "TOPLEFT", 60, -238 )
169 ProspectMePoorToggle:SetScript("OnClick", UpdateConfig)
170 ProspectMePoorToggle:SetChecked(PM_Config.qualities[0])
171 ProspectMePoorToggleText:SetText(PM_POORTOGGLE)
172 ProspectMePoorToggle.tooltipText = PM_POORTOOLTIP
173
174 if (PM_Config.results == false) then
175 ProspectMePoorToggle:Disable()
176 ProspectMeCommonToggle:Disable()
177 ProspectMeUncommonToggle:Disable()
178 ProspectMeRareToggle:Disable()
179 ProspectMeEpicToggle:Disable()
180 end
181
182 ProspectMeResetButton:SetPoint("TOP", 0, -310 )
183 ProspectMeResetButton:SetScript("OnClick", function(self) StaticPopup_Show("PM_ConfirmReset") end)
184 ProspectMeResetButton:SetSize(250, 25)
185 ProspectMeResetButton:SetText(PM_RESETBUTTON)
186
187 ProspectMeResetText:SetPoint("TOP", 0, -286)
188 ProspectMeResetText:SetText(PM_RESETTOOLTIP)
189
190 InterfaceOptions_AddCategory(ProspectMeFrame)
191
192 end
193
194 function ProspectMeEventHandler(event, arg1)
195 if (PM_Config.savedVariables) then
196 PM_ConfigInit()
197 else
198 SetDefaults()
199 PM_ConfigInit()
200 end
201 SpewMessage("loaded")
202 end
203
204 function SlashCmdList.PROSPECTME(msg, editbox)
205 if msg == PM_CONFIG then
206 InterfaceOptionsFrame_OpenToCategory(ProspectMeFrame)
207 elseif msg == PM_RESULTS then
208 ProspectMeResultsToggle:SetChecked(not ProspectMeResultsToggle:GetChecked())
209 UpdateConfig()
210 elseif msg == PM_EPIC then
211 ProspectMeEpicToggle:SetChecked(not ProspectMeEpicToggle:GetChecked())
212 UpdateConfig()
213 elseif msg == PM_RARE then
214 ProspectMeRareToggle:SetChecked(not ProspectMeRareToggle:GetChecked())
215 UpdateConfig()
216 elseif msg == PM_UNCOMMON then
217 ProspectMeUncommonToggle:SetChecked(not ProspectMeUncommonToggle:GetChecked())
218 UpdateConfig()
219 elseif msg == PM_COMMON then
220 ProspectMeCommonToggle:SetChecked(not ProspectMeCommonToggle:GetChecked())
221 UpdateConfig()
222 elseif msg == PM_POOR then
223 ProspectMePoorToggle:SetChecked(not ProspectMePoorToggle:GetChecked())
224 UpdateConfig()
225 elseif msg == PM_SESSION then
226 ProspectMeSessionToggle:SetChecked(not ProspectMeSessionToggle:GetChecked())
227 UpdateConfig()
228 elseif msg == PM_PERCENT then
229 ProspectMePercentToggle:SetChecked(not ProspectMePercentToggle:GetChecked())
230 UpdateConfig()
231 elseif msg == PM_NUMBER then
232 ProspectMeNumberToggle:SetChecked(not ProspectMeNumberToggle:GetChecked())
233 UpdateConfig()
234 elseif msg == PM_RESET then
235 StaticPopup_Show("PM_ConfirmReset")
236 else
237 SpewMessage("help")
238 end
239 end
240
241 ProspectMeFrame:RegisterEvent("VARIABLES_LOADED")
242 ProspectMeFrame:SetScript("OnEvent", ProspectMeEventHandler)