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()
|
Vynn@0
|
59 for i, v in pairs(PM_ResultsTable) do
|
Vynn@0
|
60 ClearEntry(i)
|
Vynn@0
|
61 end
|
Vynn@0
|
62 wipe(PM_ResultsTable)
|
Vynn@0
|
63 wipe(PM_SessionTable)
|
Vynn@0
|
64 end
|
Vynn@0
|
65
|
Vynn@0
|
66 local function UpdateConfig()
|
Vynn@0
|
67
|
Vynn@0
|
68 PM_Config.results = ProspectMeResultsToggle:GetChecked()
|
Vynn@0
|
69 PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked()
|
Vynn@0
|
70 PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked()
|
Vynn@0
|
71 PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked()
|
Vynn@0
|
72 PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked()
|
Vynn@0
|
73 PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked()
|
Vynn@0
|
74 PM_Config.session = ProspectMeSessionToggle:GetChecked()
|
Vynn@0
|
75 PM_Config.percent = ProspectMePercentToggle:GetChecked()
|
Vynn@0
|
76 PM_Config.number = ProspectMeNumberToggle:GetChecked()
|
Vynn@0
|
77
|
Vynn@0
|
78 if (PM_Config.results) then
|
Vynn@0
|
79
|
Vynn@0
|
80 ProspectMePoorToggle:Enable()
|
Vynn@0
|
81 ProspectMeCommonToggle:Enable()
|
Vynn@0
|
82 ProspectMeUncommonToggle:Enable()
|
Vynn@0
|
83 ProspectMeRareToggle:Enable()
|
Vynn@0
|
84 ProspectMeEpicToggle:Enable()
|
Vynn@0
|
85
|
Vynn@0
|
86 PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked()
|
Vynn@0
|
87 PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked()
|
Vynn@0
|
88 PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked()
|
Vynn@0
|
89 PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked()
|
Vynn@0
|
90 PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked()
|
Vynn@0
|
91
|
Vynn@0
|
92 else
|
Vynn@0
|
93
|
Vynn@0
|
94 ProspectMePoorToggle:Disable()
|
Vynn@0
|
95 ProspectMeCommonToggle:Disable()
|
Vynn@0
|
96 ProspectMeUncommonToggle:Disable()
|
Vynn@0
|
97 ProspectMeRareToggle:Disable()
|
Vynn@0
|
98 ProspectMeEpicToggle:Disable()
|
Vynn@0
|
99
|
Vynn@0
|
100 end
|
Vynn@0
|
101 end
|
Vynn@0
|
102
|
Vynn@0
|
103 local function PM_ConfigInit()
|
Vynn@0
|
104 StaticPopupDialogs["PM_ConfirmReset"] = {
|
Vynn@0
|
105 text = PM_RESETWARNING,
|
Vynn@0
|
106 button1 = YES,
|
Vynn@0
|
107 button2 = NO,
|
Vynn@0
|
108 OnAccept = function()
|
Vynn@0
|
109 ResetDatabase()
|
Vynn@0
|
110 end,
|
Vynn@0
|
111 timeout = 30,
|
Vynn@0
|
112 whileDead = true,
|
Vynn@0
|
113 hideOnEscape = true,
|
Vynn@0
|
114 preferredIndex = 3,
|
Vynn@0
|
115 }
|
Vynn@0
|
116
|
Vynn@0
|
117 ProspectMeFrame.name = "Prospect Me"
|
Vynn@0
|
118
|
Vynn@0
|
119 ProspectMeTitle:SetPoint("TOP", 0, -16)
|
Vynn@0
|
120 ProspectMeTitle:SetText(GetAddOnMetadata("ProspectMe", "Title") .. " v" .. GetAddOnMetadata("ProspectMe", "Version"))
|
Vynn@0
|
121
|
Vynn@0
|
122 ProspectMeSessionToggle:SetPoint( "TOPLEFT", 32, -46 )
|
Vynn@0
|
123 ProspectMeSessionToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
124 ProspectMeSessionToggle:SetChecked(PM_Config.session)
|
Vynn@0
|
125 ProspectMeSessionToggleText:SetText(PM_SESSIONTOGGLE)
|
Vynn@0
|
126 ProspectMeSessionToggle.tooltipText = PM_SESSIONTOOLTIP
|
Vynn@0
|
127
|
Vynn@0
|
128 ProspectMePercentToggle:SetPoint( "TOPLEFT", 32, -70 )
|
Vynn@0
|
129 ProspectMePercentToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
130 ProspectMePercentToggle:SetChecked(PM_Config.percent)
|
Vynn@0
|
131 ProspectMePercentToggleText:SetText(PM_PERCENTTOGGLE)
|
Vynn@0
|
132 ProspectMePercentToggle.tooltipText = PM_PERCENTTOOLTIP
|
Vynn@0
|
133
|
Vynn@0
|
134 ProspectMeNumberToggle:SetPoint( "TOPLEFT", 32, -94 )
|
Vynn@0
|
135 ProspectMeNumberToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
136 ProspectMeNumberToggle:SetChecked(PM_Config.number)
|
Vynn@0
|
137 ProspectMeNumberToggleText:SetText(PM_NUMBERTOGGLE)
|
Vynn@0
|
138 ProspectMeNumberToggle.tooltipText = PM_NUMBERTOOLTIP
|
Vynn@0
|
139
|
Vynn@0
|
140 ProspectMeResultsToggle:SetPoint( "TOPLEFT", 32, -118 )
|
Vynn@0
|
141 ProspectMeResultsToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
142 ProspectMeResultsToggle:SetChecked(PM_Config.results)
|
Vynn@0
|
143 ProspectMeResultsToggleText:SetText(PM_RESULTSTOGGLE)
|
Vynn@0
|
144 ProspectMeResultsToggle.tooltipText = PM_RESULTSTOOLTIP
|
Vynn@0
|
145
|
Vynn@0
|
146 ProspectMeEpicToggle:SetPoint( "TOPLEFT", 60, -142 )
|
Vynn@0
|
147 ProspectMeEpicToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
148 ProspectMeEpicToggle:SetChecked(PM_Config.qualities[4])
|
Vynn@0
|
149 ProspectMeEpicToggleText:SetText(PM_EPICTOGGLE)
|
Vynn@0
|
150 ProspectMeEpicToggle.tooltipText = PM_EPICTOOLTIP
|
Vynn@0
|
151
|
Vynn@0
|
152 ProspectMeRareToggle:SetPoint( "TOPLEFT", 60, -166 )
|
Vynn@0
|
153 ProspectMeRareToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
154 ProspectMeRareToggle:SetChecked(PM_Config.qualities[3])
|
Vynn@0
|
155 ProspectMeRareToggleText:SetText(PM_RARETOGGLE)
|
Vynn@0
|
156 ProspectMeRareToggle.tooltipText = PM_RARETOOLTIP
|
Vynn@0
|
157
|
Vynn@0
|
158 ProspectMeUncommonToggle:SetPoint( "TOPLEFT", 60, -190 )
|
Vynn@0
|
159 ProspectMeUncommonToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
160 ProspectMeUncommonToggle:SetChecked(PM_Config.qualities[2])
|
Vynn@0
|
161 ProspectMeUncommonToggleText:SetText(PM_UNCOMMONTOGGLE)
|
Vynn@0
|
162 ProspectMeUncommonToggle.tooltipText = PM_UNCOMMONTOOLTIP
|
Vynn@0
|
163
|
Vynn@0
|
164 ProspectMeCommonToggle:SetPoint( "TOPLEFT", 60, -214 )
|
Vynn@0
|
165 ProspectMeCommonToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
166 ProspectMeCommonToggle:SetChecked(PM_Config.qualities[1])
|
Vynn@0
|
167 ProspectMeCommonToggleText:SetText(PM_COMMONTOGGLE)
|
Vynn@0
|
168 ProspectMeCommonToggle.tooltipText = PM_COMMONTOOLTIP
|
Vynn@0
|
169
|
Vynn@0
|
170 ProspectMePoorToggle:SetPoint( "TOPLEFT", 60, -238 )
|
Vynn@0
|
171 ProspectMePoorToggle:SetScript("OnClick", UpdateConfig)
|
Vynn@0
|
172 ProspectMePoorToggle:SetChecked(PM_Config.qualities[0])
|
Vynn@0
|
173 ProspectMePoorToggleText:SetText(PM_POORTOGGLE)
|
Vynn@0
|
174 ProspectMePoorToggle.tooltipText = PM_POORTOOLTIP
|
Vynn@0
|
175
|
Vynn@0
|
176 if (PM_Config.results == false) then
|
Vynn@0
|
177 ProspectMePoorToggle:Disable()
|
Vynn@0
|
178 ProspectMeCommonToggle:Disable()
|
Vynn@0
|
179 ProspectMeUncommonToggle:Disable()
|
Vynn@0
|
180 ProspectMeRareToggle:Disable()
|
Vynn@0
|
181 ProspectMeEpicToggle:Disable()
|
Vynn@0
|
182 end
|
Vynn@0
|
183
|
Vynn@0
|
184 ProspectMeResetButton:SetPoint("TOP", 0, -310 )
|
Vynn@0
|
185 ProspectMeResetButton:SetScript("OnClick", function(self) StaticPopup_Show("PM_ConfirmReset") end)
|
Vynn@0
|
186 ProspectMeResetButton:SetSize(250, 25)
|
Vynn@0
|
187 ProspectMeResetButton:SetText(PM_RESETBUTTON)
|
Vynn@0
|
188
|
Vynn@0
|
189 ProspectMeResetText:SetPoint("TOP", 0, -286)
|
Vynn@0
|
190 ProspectMeResetText:SetText(PM_RESETTOOLTIP)
|
Vynn@0
|
191
|
Vynn@0
|
192 InterfaceOptions_AddCategory(ProspectMeFrame)
|
Vynn@0
|
193
|
Vynn@0
|
194 end
|
Vynn@0
|
195
|
Vynn@0
|
196 function ProspectMeEventHandler(event, arg1)
|
Vynn@0
|
197 if (PM_Config.savedVariables) then
|
Vynn@0
|
198 PM_ConfigInit()
|
Vynn@0
|
199 else
|
Vynn@0
|
200 SetDefaults()
|
Vynn@0
|
201 PM_ConfigInit()
|
Vynn@0
|
202 end
|
Vynn@0
|
203 SpewMessage("loaded")
|
Vynn@0
|
204 end
|
Vynn@0
|
205
|
Vynn@0
|
206 function SlashCmdList.PROSPECTME(msg, editbox)
|
Vynn@0
|
207 if msg == PM_CONFIG then
|
Vynn@0
|
208 InterfaceOptionsFrame_OpenToCategory(ProspectMeFrame)
|
Vynn@0
|
209 elseif msg == PM_RESULTS then
|
Vynn@0
|
210 ProspectMeResultsToggle:SetChecked(not ProspectMeResultsToggle:GetChecked())
|
Vynn@0
|
211 UpdateConfig()
|
Vynn@0
|
212 elseif msg == PM_EPIC then
|
Vynn@0
|
213 ProspectMeEpicToggle:SetChecked(not ProspectMeEpicToggle:GetChecked())
|
Vynn@0
|
214 UpdateConfig()
|
Vynn@0
|
215 elseif msg == PM_RARE then
|
Vynn@0
|
216 ProspectMeRareToggle:SetChecked(not ProspectMeRareToggle:GetChecked())
|
Vynn@0
|
217 UpdateConfig()
|
Vynn@0
|
218 elseif msg == PM_UNCOMMON then
|
Vynn@0
|
219 ProspectMeUncommonToggle:SetChecked(not ProspectMeUncommonToggle:GetChecked())
|
Vynn@0
|
220 UpdateConfig()
|
Vynn@0
|
221 elseif msg == PM_COMMON then
|
Vynn@0
|
222 ProspectMeCommonToggle:SetChecked(not ProspectMeCommonToggle:GetChecked())
|
Vynn@0
|
223 UpdateConfig()
|
Vynn@0
|
224 elseif msg == PM_POOR then
|
Vynn@0
|
225 ProspectMePoorToggle:SetChecked(not ProspectMePoorToggle:GetChecked())
|
Vynn@0
|
226 UpdateConfig()
|
Vynn@0
|
227 elseif msg == PM_SESSION then
|
Vynn@0
|
228 ProspectMeSessionToggle:SetChecked(not ProspectMeSessionToggle:GetChecked())
|
Vynn@0
|
229 UpdateConfig()
|
Vynn@0
|
230 elseif msg == PM_PERCENT then
|
Vynn@0
|
231 ProspectMePercentToggle:SetChecked(not ProspectMePercentToggle:GetChecked())
|
Vynn@0
|
232 UpdateConfig()
|
Vynn@0
|
233 elseif msg == PM_NUMBER then
|
Vynn@0
|
234 ProspectMeNumberToggle:SetChecked(not ProspectMeNumberToggle:GetChecked())
|
Vynn@0
|
235 UpdateConfig()
|
Vynn@0
|
236 elseif msg == PM_RESET then
|
Vynn@0
|
237 StaticPopup_Show("PM_ConfirmReset")
|
Vynn@0
|
238 else
|
Vynn@0
|
239 SpewMessage("help")
|
Vynn@0
|
240 end
|
Vynn@0
|
241 end
|
Vynn@0
|
242
|
Vynn@0
|
243 ProspectMeFrame:RegisterEvent("VARIABLES_LOADED")
|
Vynn@0
|
244 ProspectMeFrame:SetScript("OnEvent", ProspectMeEventHandler) |