Mercurial > wow > reaction
view modules/ReAction_ConfigUI/ReAction_ConfigUI.lua @ 33:c54c481ad0ed
- Moved bar control frame from ConfigUI to Bar
- Added LICENSE.txt
- added profile management options
- other minor cleanup
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Thu, 03 Apr 2008 20:25:40 +0000 |
parents | 0d95ce7a9ec2 |
children | 11ddb9610770 |
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 ) -- options table basic layer module.configOptions = { type = "group", childGroups = "tab", args = { desc = { type = "description", name = L["Customizable replacement for Blizzard's Action Bars"], }, global = { type = "group", name = L["Global Settings"], desc = L["Global configuration settings"], args = { unlock = { type = "toggle", handler = module, name = L["Unlock Bars"], desc = L["Unlock bars for dragging and resizing with the mouse"], get = function() return module.configMode end, set = function(info, value) module:SetConfigMode(value) end, disabled = InCombatLockdown, order = 1 }, }, order = 1, }, module = { type = "group", childGroups = "select", name = L["Module Settings"], desc = L["Configuration settings for each module"], args = { configUI = { type = "group", name = "Config UI", desc = "description", args = { foo = { type = "toggle", handler = module, name = "foo", desc = "description", get = function() return true end, set = function() end, } } }, }, order = -1, }, }, plugins = { } } -- module methods function module:OnInitialize() self.db = ReAction.db:RegisterNamespace( moduleID, { profile = { } } ) for _, m in pairs(ReAction:GetOptions("global")) do for k, v in pairs(m) do self.configOptions.args.global.args[k] = v end end self.configOptions.args.profile = LibStub("AceDBOptions-3.0"):GetOptionsTable(ReAction.db) self.configOptions.args.profile.order = -2 LibStub("AceConfigRegistry-3.0"):RegisterOptionsTable("ReAction",self.configOptions) LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ReAction", "ReAction") ReAction.RegisterCallback(self,"OnOptionsRegistered") ReAction.RegisterCallback(self,"OnOptionsRefreshed") end function module:OnOptionsRegistered(evt, context, module, opts) if context == "global" then for k, v in pairs(opts) do self.configOptions.args.global.args[k] = v end elseif context == "module" then for k, v in pairs(opts) do self.configOptions.args.module.args[k] = v end elseif context == "bar" then elseif context == "barMenu" then 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