Asa@3: local addonName, addonTable = ...; Asa@3: local addon = _G[addonName] Asa@3: Asa@3: local utils = addonTable.utils Asa@3: Asa@3: local options = { Asa@3: name = "ItemAuditor", Asa@3: handler = addon, Asa@3: type = 'group', Asa@3: args = { Asa@12: dbg = { Asa@3: type = "toggle", Asa@3: name = "Debug", Asa@3: desc = "Toggles debug messages in chat", Asa@3: get = "GetDebug", Asa@3: set = "SetDebug" Asa@3: }, Asa@3: dump = { Asa@3: type = "execute", Asa@3: name = "dump", Asa@3: desc = "dumps IA database", Asa@3: func = "DumpInfo", Asa@3: }, Asa@12: refresh_qa = { Asa@12: type = "execute", Asa@12: name = "Refresh QA Thresholds", Asa@12: desc = "Resets all Quick Auctions thresholds", Asa@12: func = "RefreshQAGroups", Asa@12: }, Asa@3: options = { Asa@3: type = "execute", Asa@3: name = "options", Asa@3: desc = "Show Blizzard's options GUI", Asa@3: func = "ShowOptionsGUI", Asa@3: guiHidden = true, Asa@3: }, Asa@3: }, Asa@3: } Asa@3: Asa@3: function addon:RegisterOptions() Asa@3: self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ItemAuditor", "ItemAuditor") Asa@3: LibStub("AceConfig-3.0"):RegisterOptionsTable("ItemAuditor", options, {"ia"}) Asa@3: end Asa@3: Asa@7: local function pairsByKeys (t, f) Asa@7: local a = {} Asa@7: for n in pairs(t) do table.insert(a, n) end Asa@7: table.sort(a, f) Asa@7: local i = 0 -- iterator variable Asa@7: local iter = function () -- iterator function Asa@7: i = i + 1 Asa@7: if a[i] == nil then return nil Asa@7: else return a[i], t[a[i]] Asa@7: end Asa@7: end Asa@7: return iter Asa@7: end Asa@7: Asa@3: function addon:DumpInfo() Asa@7: for itemName, value in pairsByKeys(self.db.factionrealm.item_account) do Asa@7: self:Print(itemName .. ": " .. utils:FormatMoney(value)) Asa@7: end Asa@3: end Asa@3: Asa@7: Asa@3: function addon:ShowOptionsGUI() Asa@3: InterfaceOptionsFrame_OpenToCategory(self.optionsFrame) Asa@3: end Asa@3: Asa@3: function addon:GetDebug(info) Asa@3: return self.db.char.debug Asa@3: end Asa@3: Asa@3: function addon:SetDebug(info, input) Asa@3: self.db.char.debug = input Asa@3: local value = "off" Asa@3: if input then Asa@3: value = "on" Asa@3: end Asa@3: self:Print("Debugging is now: " .. value) Asa@3: end