Mercurial > wow > reaction
view modules/ReAction_ConfigUI/ReAction_ConfigUI.lua @ 46:aa0b7fd68462
rearranged options table initialization a little
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Thu, 10 Apr 2008 23:27:58 +0000 |
parents | 2232b8336903 |
children | e12b736c23c3 |
line wrap: on
line source
--[[ ReAction Configuration UI module Hooks into Blizzard Interface Options AddOns panel --]] -- local imports local ReAction = ReAction local L = ReAction.L -- module declaration local moduleID = "ConfigUI" local module = ReAction:NewModule( moduleID ) -- module methods function module:OnInitialize() ReAction.RegisterCallback(self,"OnOptionsRegistered") ReAction.RegisterCallback(self,"OnOptionsRefreshed") self:InitializeOptions() end function module:OnOptionsRegistered(evt, context, module, opts) local c = self.configOptions.args[context] if c then for k, v in pairs(opts) do c.args[k] = v end end end function module:OnOptionsRefreshed(evt) -- TODO: refresh options frame (just OpenConfig again?) end function module:OpenConfig(bar) InterfaceOptionsFrame_OpenToFrame("ReAction") if bar then -- TODO: select the correct bar pane end end function module:InitializeOptions() self.configOptions = { type = "group", childGroups = "tab", args = { global = { type = "group", name = L["Global Settings"], desc = L["Global configuration settings"], args = { }, order = 1, }, bar = { type = "group", name = L["Bar Config"], desc = L["Configuration settings for bars"], args = { }, order = 2, }, module = { type = "group", childGroups = "select", name = L["Module Settings"], desc = L["Configuration settings for each module"], args = { }, order = -1, }, }, plugins = { } } for c, tbl in pairs(self.configOptions.args) do for _, m in pairs(ReAction:GetOptions(c)) do for k, v in pairs(m) do tbl.args[k] = v end end end self.configOptions.args.desc = { type = "description", name = L["Customizable replacement for Blizzard's Action Bars"], } self.configOptions.args.profile = LibStub("AceDBOptions-3.0"):GetOptionsTable(ReAction.db) self.configOptions.args.profile.order = -2 ReAction:RegisterOptions("module",self, { configUI = { type = "group", name = "Config UI", desc = "description", args = { foo = { type = "toggle", handler = self, name = "foo", desc = "description", get = function() return true end, set = function() end, } } }, }) LibStub("AceConfigRegistry-3.0"):RegisterOptionsTable("ReAction",self.configOptions) self.frame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ReAction", "ReAction") self.frame.obj:SetCallback("default", function() ReAction.db:ResetProfile() end) end