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