annotate Modules/Options.lua @ 12:6a6296dd249f

Removed dependency on DevTools, completed chaning over the database to use links instead of names, Added integration with my version of QuickAuctions3 (I need to make this optional soon)
author Asa Ayers <Asa.Ayers@Gmail.com>
date Wed, 30 Jun 2010 22:59:37 -0700
parents bbba2fae0f69
children 8c83d5f6e306
rev   line source
Asa@3 1 local addonName, addonTable = ...;
Asa@3 2 local addon = _G[addonName]
Asa@3 3
Asa@3 4 local utils = addonTable.utils
Asa@3 5
Asa@3 6 local options = {
Asa@3 7 name = "ItemAuditor",
Asa@3 8 handler = addon,
Asa@3 9 type = 'group',
Asa@3 10 args = {
Asa@12 11 dbg = {
Asa@3 12 type = "toggle",
Asa@3 13 name = "Debug",
Asa@3 14 desc = "Toggles debug messages in chat",
Asa@3 15 get = "GetDebug",
Asa@3 16 set = "SetDebug"
Asa@3 17 },
Asa@3 18 dump = {
Asa@3 19 type = "execute",
Asa@3 20 name = "dump",
Asa@3 21 desc = "dumps IA database",
Asa@3 22 func = "DumpInfo",
Asa@3 23 },
Asa@12 24 refresh_qa = {
Asa@12 25 type = "execute",
Asa@12 26 name = "Refresh QA Thresholds",
Asa@12 27 desc = "Resets all Quick Auctions thresholds",
Asa@12 28 func = "RefreshQAGroups",
Asa@12 29 },
Asa@3 30 options = {
Asa@3 31 type = "execute",
Asa@3 32 name = "options",
Asa@3 33 desc = "Show Blizzard's options GUI",
Asa@3 34 func = "ShowOptionsGUI",
Asa@3 35 guiHidden = true,
Asa@3 36 },
Asa@3 37 },
Asa@3 38 }
Asa@3 39
Asa@3 40 function addon:RegisterOptions()
Asa@3 41 self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ItemAuditor", "ItemAuditor")
Asa@3 42 LibStub("AceConfig-3.0"):RegisterOptionsTable("ItemAuditor", options, {"ia"})
Asa@3 43 end
Asa@3 44
Asa@7 45 local function pairsByKeys (t, f)
Asa@7 46 local a = {}
Asa@7 47 for n in pairs(t) do table.insert(a, n) end
Asa@7 48 table.sort(a, f)
Asa@7 49 local i = 0 -- iterator variable
Asa@7 50 local iter = function () -- iterator function
Asa@7 51 i = i + 1
Asa@7 52 if a[i] == nil then return nil
Asa@7 53 else return a[i], t[a[i]]
Asa@7 54 end
Asa@7 55 end
Asa@7 56 return iter
Asa@7 57 end
Asa@7 58
Asa@3 59 function addon:DumpInfo()
Asa@7 60 for itemName, value in pairsByKeys(self.db.factionrealm.item_account) do
Asa@7 61 self:Print(itemName .. ": " .. utils:FormatMoney(value))
Asa@7 62 end
Asa@3 63 end
Asa@3 64
Asa@7 65
Asa@3 66 function addon:ShowOptionsGUI()
Asa@3 67 InterfaceOptionsFrame_OpenToCategory(self.optionsFrame)
Asa@3 68 end
Asa@3 69
Asa@3 70 function addon:GetDebug(info)
Asa@3 71 return self.db.char.debug
Asa@3 72 end
Asa@3 73
Asa@3 74 function addon:SetDebug(info, input)
Asa@3 75 self.db.char.debug = input
Asa@3 76 local value = "off"
Asa@3 77 if input then
Asa@3 78 value = "on"
Asa@3 79 end
Asa@3 80 self:Print("Debugging is now: " .. value)
Asa@3 81 end