Mercurial > wow > reaction
view Options.lua @ 8:c05fd3e18b4f
Version 0.31
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Tue, 20 Mar 2007 21:33:59 +0000 |
parents | f920db5fc6b1 |
children | f3a7bfebc283 |
line wrap: on
line source
-- Ace2 global options tables for ReAction -- autogenerate the NewBar sub-types table local function GenerateNewBarArgs() local args = { } for _, name in pairs(ReAction:GetButtonTypeList() ) do args[name] = { type="execute", name=name, desc=name, } end return args end ReActionConsoleOptions = { type="group", args={ lock = { type = "execute", name = "lock", desc = "Locks action bars and disables rearrangement", func = "Lock", }, unlock = { type = "execute", name = "unlock", desc = "Unlocks action bars and enables rearrangement", func = "Unlock", }, bindings = { type = "execute", name = "bindings", desc = "Launches keybinding setup mode", func = function() ReBound:Enable() end, }, hideart = { type = "toggle", name = "hideart", desc = "Hide default Blizzard action bar artwork and XP bar", get = "IsArtHidden", set = "ToggleHideArt", }, showid = { type = "toggle", name = "showid", desc = "Show ActionIDs on buttons", get = "AreIdsVisible", set = "ToggleIds", disabled = true, }, create = { type = "group", name = "create", pass = true, func = "NewBar", args = GenerateNewBarArgs(), desc = "Create a new bar", }, resetall = { type = "execute", name = "resetall", desc = "Resets to single bar in the default position", func = "ResetBars", }, --[[ resync = { type = "execute", name = "resync", desc = "Re-orders action IDs sequentially amongst bars", func = "ResyncActionIDs", disabled = true -- not yet implemented }, ]] } } ReActionGlobalMenuOptions = { type = "group", -- handler = nil, -- NOTE: this variable isn't defined yet, must be added later args={ lockbars = { type = "toggle", name = "Lock Bars", desc = "Locks action bars and disables rearrangement", get = "IsLocked", set = "ToggleLocked", order = 1, }, lockbtns = { type = "toggle", name = "Lock Buttons", desc = "Prevents buttons from being dragged off accidentally. Shift-drag instead.", get = function() return LOCK_ACTIONBAR == "1" end, set = function() LOCK_ACTIONBAR = (LOCK_ACTIONBAR == "1" and "0" or "1") end, order = 2, }, new = { type = "group", name = "New bar", pass = true, func = "NewBar", args = GenerateNewBarArgs(), desc = "Create a new bar", order = 3, }, bindings = { type = "execute", name = "Set Key Bindings", desc = "Launches keybinding setup mode", func = function() ReBound:Enable() end, order = 4, }, hidedefault = { type = "toggle", name = "Hide Default Main Menu Bar", desc = "Hides default Blizzard main menu bar, including bag bar, micro menu bar, shapeshift bar, lag meter, and XP bar", get = "IsArtHidden", set = "ToggleHideArt", order = 6, }, --[[ resync = { type = "execute", name = "Re-sync Action IDs", desc = "Re-orders action IDs sequentially amongst bars", func = "ResyncActionIDs", disabled = true, -- not yet implemented }, ]] } } function GenerateReActionBarOptions( bar, main ) local opts = { type = "group", handler = bar, args = { sep1 = { type = "header", name = " ", desc = " ", order = 1, }, hdr1 = { type = "header", name = "Options for Bar #"..bar.barID, desc = "Options for Bar #"..bar.barID, order = 2, }, layout = { type = "group", name = "Layout", desc = "Button ordering options", order = 3, args = { growLeft = { type = "toggle", name = "Right to Left", desc = "Lay out buttons right-to-left rather than left-to-right", get = "GetGrowLeft", set = "SetGrowLeft", order = 3, }, growUp = { type = "toggle", name = "Bottom to Top", desc = "Lay out buttons bottom-to-top rather than top-to-bottom", get = "GetGrowUp", set = "SetGrowUp", order = 4, }, columnMajor = { type = "toggle", name = "Arrange in Columns", desc = "Lay out buttons sequentially in columns, rather than in rows", get = "GetColumnMajor", set = "SetColumnMajor", order = 5, }, flip = { type = "execute", name = "Flip rows/columns", desc = "Swaps the number of rows and columns, and inverts the button numbering", func = "FlipRowsColumns", order = 6, }, }, }, paging = { type = "group", name = "Paging", desc = "Multi-page options", order = 4, args = { pages = { type = "range", name = "Number of Pages", desc = "Sets the number of pages", get = "GetPages", set = "SetPages", min = 1, max = 10, step = 1, order = 1, }, autostance = { type = "toggle", name = "Auto Stance Switch", desc = "Automatically switch pages when changing stance or shapeshift form.", get = "GetAutoStanceSwitch", set = "ToggleAutoStanceSwitch", order = 2, }, autostealth = { type = "toggle", name = "Auto Stealth Switch", desc = "Automatically switch pages when stealthing/unstealthing.", get = "GetAutoStealthSwitch", set = "ToggleAutoStealthSwitch", order = 3, }, hidecontrols = { type = "toggle", name = "Hide Paging Controls", desc = "Hide the page up/down controls", get = "ArePageControlsHidden", set = "TogglePageControlsHidden", order = 4, disabled = "IsPagingDisabled", }, controlsloc = { type = "text", name = "Control location", desc = "Location of the page up/down controls", get = function() return bar:GetPageControlsLoc() or "Blizzard" end, set = function(loc) bar:SetPageControlsLoc(loc) end, order = 5, disabled = function() return bar:IsPagingDisabled() or bar:ArePageControlsHidden() end, validate = { "Blizzard", "LEFT", "RIGHT", "TOP", "BOTTOM" } }, }, }, visibility = { type = "group", name = "Visibility", desc = "Set bar visibility options", order = 5, args = { visible = { type = "toggle", name = "Always Visible", desc = "The bar will always be visible.|n This setting overrides conditional settings below.", get = "GetVisibility", set = function() bar:SetVisibility(true) end, order = 1, }, hidden = { type = "toggle", name = "Always Hidden", desc = "The bar will always be hidden, except when bars are unlocked.|n This setting overrides conditional settings below.", get = function() return not bar:GetVisibility() end, set = function() bar:SetVisibility(false) end, order = 2, }, spring = { type = "toggle", name = "Spring Bar Mode", desc = "The bar is collapsed to a single button, which displays the last action used. Mousing over the button shows the entire bar.|n This setting overrides conditional settings below.", get = function() end, set = function() end, hidden = true, disabled = true, -- not yet implemented order = 3, }, conditional = { type = "group", name = "Auto Show", desc = "Dynamically hide and show the entire bar based on certain conditions.", hidden = true, disabled = true, -- not yet implemented order = 4, args = { mouseover = { type = "toggle", name = "Show On Mouseover", desc = "Show the bar only when the mouse is over it.", disabled = true, -- not yet implemented get = function() end, set = function() end, order = 1, }, combat = { type = "toggle", name = "Show In Combat", desc = "Show the bar only when in combat.", disabled = true, -- not yet implemented get = function() end, set = function() end, order = 2, }, nocombat = { type = "toggle", name = "Hide in Combat", desc = "Show the bar only when not in combat.", disabled = true, -- not yet implemented get = function() end, set = function() end, order = 3, } } }, } }, delete = { type = "execute", name = "Delete Bar #"..bar.barID, desc = "Deletes bar #"..bar.barID, func = function() main:DeleteBar(bar.barID) end, order = 7 }, } } -- generate the auto-hide options for shapeshift forms. Note that this will -- only show forms that the character has learned, and the ordering may (? did this get fixed?) -- vary from character to character of the same class local args = opts.args.visibility.args.conditional.args for i = 1, GetNumShapeshiftForms() do local _, name = GetShapeshiftFormInfo(i) args["stance"..i] = { type = "toggle", name = "Show In "..name, desc = "Show the bar when in "..name.."." , get = function() end, set = function() end, order = #args + 1, disabled = true, } end return opts end