annotate Modules/Options.lua @ 15:44e70a3fdb19

Merged utils into ItemAuditor.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Sat, 03 Jul 2010 07:40:01 -0700
parents 8c83d5f6e306
children 56de19d9bd8d
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@13 6 local currentFaction = UnitFactionGroup("player")
Asa@13 7 local AHFactions = { currentFaction, 'Neutral' }
Asa@13 8
Asa@3 9 local options = {
Asa@13 10 handler = addon,
Asa@3 11 name = "ItemAuditor",
Asa@3 12 type = 'group',
Asa@3 13 args = {
Asa@13 14 prices = {
Asa@13 15 name = "Prices",
Asa@13 16 desc = "Control how your minimum price is calculated.",
Asa@13 17 type = 'group',
Asa@13 18 args = {
Asa@13 19 auction_house = {
Asa@13 20 type = "select",
Asa@13 21 name = "Auction House",
Asa@13 22 desc = "",
Asa@13 23 values = { currentFaction, 'Neutral' },
Asa@13 24 get = 'GetAH',
Asa@13 25 set = 'SetAH',
Asa@13 26 },
Asa@13 27 },
Asa@3 28 },
Asa@13 29
Asa@13 30
Asa@13 31 messages = {
Asa@13 32 name = "Messages",
Asa@13 33 desc = "Control which messages display in your chat window.",
Asa@13 34 type = 'group',
Asa@13 35 args = {
Asa@13 36 dbg = {
Asa@13 37 type = "toggle",
Asa@13 38 name = "Debug",
Asa@13 39 desc = "Toggles debug messages in chat",
Asa@13 40 get = "GetDebug",
Asa@13 41 set = "SetDebug",
Asa@13 42 order = 0,
Asa@13 43 },
Asa@13 44 },
Asa@3 45 },
Asa@13 46
Asa@13 47 qa_options = {
Asa@13 48 name = "QA Options",
Asa@13 49 desc = "Control how ItemAuditor integrates with QuickAuctions",
Asa@13 50 type = 'group',
Asa@13 51 -- disabled = (not addon.QA_compatibile),
Asa@13 52 disabled = function() return not ItemAuditor:IsQACompatible() end,
Asa@13 53 args = {
Asa@13 54 toggle_qa = {
Asa@13 55 type = "toggle",
Asa@13 56 name = "Enable Quick Auctions",
Asa@13 57 desc = "This will enable or disable Quick Auctions integration",
Asa@13 58 get = "IsQAEnabled",
Asa@13 59 set = "SetQAEnabled",
Asa@13 60 order = 0,
Asa@13 61 },
Asa@13 62 --[[
Asa@13 63 add_mail = {
Asa@13 64 type = "toggle",
Asa@13 65 name = "Add mail cost to QA Threshold",
Asa@13 66 get = "IsQAEnabled",
Asa@13 67 set = "SetQAEnabled",
Asa@13 68 order = 1,
Asa@13 69 },
Asa@13 70 ]]
Asa@13 71 refresh_qa = {
Asa@13 72 type = "execute",
Asa@13 73 name = "Refresh QA Thresholds",
Asa@13 74 desc = "Resets all Quick Auctions thresholds",
Asa@13 75 func = "RefreshQAGroups",
Asa@13 76 disabled = 'IsQADisabled',
Asa@13 77 },
Asa@13 78 }
Asa@12 79 },
Asa@3 80 options = {
Asa@3 81 type = "execute",
Asa@3 82 name = "options",
Asa@3 83 desc = "Show Blizzard's options GUI",
Asa@3 84 func = "ShowOptionsGUI",
Asa@3 85 guiHidden = true,
Asa@3 86 },
Asa@3 87 },
Asa@3 88 }
Asa@3 89
Asa@3 90 function addon:RegisterOptions()
Asa@3 91 self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ItemAuditor", "ItemAuditor")
Asa@3 92 LibStub("AceConfig-3.0"):RegisterOptionsTable("ItemAuditor", options, {"ia"})
Asa@3 93 end
Asa@3 94
Asa@7 95 local function pairsByKeys (t, f)
Asa@7 96 local a = {}
Asa@7 97 for n in pairs(t) do table.insert(a, n) end
Asa@7 98 table.sort(a, f)
Asa@7 99 local i = 0 -- iterator variable
Asa@7 100 local iter = function () -- iterator function
Asa@7 101 i = i + 1
Asa@7 102 if a[i] == nil then return nil
Asa@7 103 else return a[i], t[a[i]]
Asa@7 104 end
Asa@7 105 end
Asa@7 106 return iter
Asa@7 107 end
Asa@7 108
Asa@13 109 function addon:GetAH()
Asa@13 110 return ItemAuditor.db.char.ah
Asa@13 111 end
Asa@13 112
Asa@13 113 function addon:SetAH(info, value)
Asa@13 114 ItemAuditor.db.char.ah = value
Asa@13 115 end
Asa@13 116
Asa@13 117 function addon:GetAHCut()
Asa@13 118 if ItemAuditor.db.char.ah == 1 then
Asa@13 119 return 0.05
Asa@13 120 end
Asa@13 121 return 0.15
Asa@13 122 end
Asa@13 123
Asa@13 124 function addon:GetAHFaction()
Asa@13 125 return AHFactions[ItemAuditor.db.char.ah]
Asa@13 126 end
Asa@13 127
Asa@3 128 function addon:DumpInfo()
Asa@7 129 for itemName, value in pairsByKeys(self.db.factionrealm.item_account) do
Asa@15 130 self:Print(itemName .. ": " .. self:FormatMoney(value))
Asa@7 131 end
Asa@3 132 end
Asa@3 133
Asa@7 134
Asa@3 135 function addon:ShowOptionsGUI()
Asa@3 136 InterfaceOptionsFrame_OpenToCategory(self.optionsFrame)
Asa@3 137 end
Asa@3 138
Asa@3 139 function addon:GetDebug(info)
Asa@3 140 return self.db.char.debug
Asa@3 141 end
Asa@3 142
Asa@3 143 function addon:SetDebug(info, input)
Asa@3 144 self.db.char.debug = input
Asa@3 145 local value = "off"
Asa@3 146 if input then
Asa@3 147 value = "on"
Asa@3 148 end
Asa@3 149 self:Print("Debugging is now: " .. value)
Asa@3 150 end