annotate 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
rev   line source
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)