annotate ProspectMe_Config.lua @ 18:8e12723d408d v1.7.0.2

Consolidated Gem Chips into their singular result; may require users to reset their database or manually edit their saved variables to remove incorrect chips.
author Geoff Brock <mischivin@gmail.com>
date Sun, 04 Sep 2016 16:51:15 -0400
parents 4f5357900609
children 78a07841e004
rev   line source
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)