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