# HG changeset patch # User Flick # Date 1174426658 0 # Node ID f3a7bfebc283292276ef8d1ce1ce159398ffdbde # Parent 650f75d0895274ea24c3de02278e4eb643dfb116 Version 0.33 diff -r 650f75d08952 -r f3a7bfebc283 Bindings.xml --- a/Bindings.xml Tue Mar 20 21:35:57 2007 +0000 +++ b/Bindings.xml Tue Mar 20 21:37:38 2007 +0000 @@ -2,7 +2,7 @@ ReActionAddOn:ToggleLocked() - - ReBound:ToggleEnabled() + + ReActionAddOn:ToggleKeybindMode() diff -r 650f75d08952 -r f3a7bfebc283 Buttons.lua --- a/Buttons.lua Tue Mar 20 21:35:57 2007 +0000 +++ b/Buttons.lua Tue Mar 20 21:37:38 2007 +0000 @@ -4,6 +4,7 @@ -- local AceOO = AceLibrary("AceOO-2.0") +local ReBound = AceLibrary("ReBound-1.0") local Action = AceOO.Class( ReAction, @@ -20,7 +21,7 @@ ) -ReAction:AddButtonType( "Action", Action, 120 ) +ReAction:AddButtonType( "Action", Action, 120 ) ReAction:AddButtonType( "Pet Action", PetAction, 10 ) @@ -34,8 +35,10 @@ ids = { }, selfcast = nil, keyBindLoc = "TOPRIGHT", + keyBindRightLoc = "RIGHT", stackCountLoc = "BOTTOMRIGHT", showKeyBind = true, + showKeyBindRight = false, showStackCount = true, showMacroText = true, showBorder = true, @@ -123,6 +126,7 @@ end end, validate = { "default", "none", "alt", "ctrl", "shift", "right-click" }, + order = 101 }, opacity = { @@ -206,6 +210,23 @@ }, }, + order = 102, + }, + + displaysep = { + type = "header", + name = " ", + desc = " ", + order = 103, + }, + + showkeybind = { + type = "toggle", + name = "Show Hotkey", + desc = "Toggle show/hide hot key labels", + get = function() return config.showKeyBind end, + set = function() config.showKeyBind = not config.showKeyBind ; refresh() end, + order = 104, }, keyloc = { @@ -214,24 +235,39 @@ desc = "Sets hotkey location", get = function() return config.keyBindLoc end, set = function(loc) config.keyBindLoc = loc ; refresh() end, + hidden = function() return not config.showKeyBind end, validate = labelPlacementOptions, + order = 105, }, - stackloc = { - type = "text", - name = "Stack Count Location", - desc = "Sets stack count location", - get = function() return config.stackCountLoc end, - set = function(loc) config.stackCountLoc = loc ; refresh() end, - validate = labelPlacementOptions, + showKeyBindRight = { + type = "toggle", + name = "Show Right-click Hotkey", + desc = "Toggle show/hide right-click hot key labels", + get = function() return config.showKeyBindRight end, + set = function() config.showKeyBindRight = not config.showKeyBindRight ; refresh() end, + order = 106, }, - showkeybind = { + rightkeyloc = { + type = "text", + name = "Right-click Hotkey Location", + desc = "Sets right-click hotkey location", + get = function() return config.keyBindRightLoc end, + set = function(loc) config.keyBindRightLoc = loc ; refresh() end, + hidden = function() return not config.showKeyBindRight end, + validate = labelPlacementOptions, + order = 107, + }, + + colorhotkeys = { type = "toggle", - name = "Show Hotkey", - desc = "Toggle show/hide hot key labels", - get = function() return config.showKeyBind end, - set = function() config.showKeyBind = not config.showKeyBind ; refresh() end, + name = "Colorize Hotkeys", + desc = "Toggles coloring hotkeys based on the modifier key. Out-of-range coloring is always enabled.", + get = function() return config.keyBindColorCode end, + set = function() config.keyBindColorCode = not config.keyBindColorCode ; refresh() end, + hidden = function() return not config.showKeyBind and not config.showKeyBindRight end, + order = 109, }, showstackcount = { @@ -240,6 +276,18 @@ desc = "Toggle show/hide stack count labels", get = function() return config.showStackCount end, set = function() config.showStackCount = not config.showStackCount ; refresh() end, + order = 110, + }, + + stackloc = { + type = "text", + name = "Stack Count Location", + desc = "Sets stack count location", + get = function() return config.stackCountLoc end, + set = function(loc) config.stackCountLoc = loc ; refresh() end, + hidden = function() return not config.showStackCount end, + validate = labelPlacementOptions, + order = 111, }, showmacrotext = { @@ -248,6 +296,7 @@ desc = "Toggle show/hide macro name labels", get = function() return config.showMacroText end, set = function() config.showMacroText = not config.showMacroText ; refresh() end, + order = 112, }, hidecooldown = { @@ -256,6 +305,7 @@ desc = "Hides all cooldown displays on buttons. Toggling this on does not hide currently running cooldowns.", get = function() return config.hideCooldown end, set = function() config.hideCooldown = not config.hideCooldown ; refresh() end, + order = 114, }, hideglobalcooldown = { @@ -264,14 +314,8 @@ desc = "Disables the global cooldown from being displayed on buttons.", get = function() return config.hideGlobalCooldown end, set = function() config.hideGlobalCooldown = not config.hideGlobalCooldown ; refresh() end, - }, - - colorhotkeys = { - type = "toggle", - name = "Colorize Hotkeys", - desc = "Toggles coloring hotkeys based on the modifier key. Out-of-range coloring is always enabled.", - get = function() return config.keyBindColorCode end, - set = function() config.keyBindColorCode = not config.keyBindColorCode ; refresh() end, + hidden = function() return not config.hideCooldown end, + order = 115, }, --[[ @@ -355,11 +399,7 @@ self:SetupDisplay("ReActionButton"..id) self:SetupAction() - - -- register button with ReBound for keybinding - if ReBound then - ReBound:AddKeybindTarget(self:GetActionFrame()) - end + ReBound:Register(self:GetActionFrame()) end function PetAction.prototype:init( id ) @@ -367,10 +407,6 @@ self:SetupDisplay("ReActionPetButton"..id) self:SetupAction() - - -- register button with ReBound for keybinding - if ReBound then - ReBound:AddKeybindTarget(self:GetActionFrame()) - end + ReBound:Register(self:GetActionFrame()) end diff -r 650f75d08952 -r f3a7bfebc283 Defaults.lua --- a/Defaults.lua Tue Mar 20 21:35:57 2007 +0000 +++ b/Defaults.lua Tue Mar 20 21:37:38 2007 +0000 @@ -14,8 +14,8 @@ -- default saved variables ReAction_DefaultProfile = { hideArt = false, - - bars = { } + bars = { }, + bindings = { } } ReAction_DefaultBarConfig = { diff -r 650f75d08952 -r f3a7bfebc283 KeybindDialog.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/KeybindDialog.xml Tue Mar 20 21:37:38 2007 +0000 @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + table.insert(UISpecialFrames, this:GetName()) + + + ReActionAddOn:SetKeybindMode(false) + if this.save then + this.save = false + SaveBindings(GetCurrentBindingSet()) + else + LoadBindings(GetCurrentBindingSet()) + end + + + + + diff -r 650f75d08952 -r f3a7bfebc283 Options.lua --- a/Options.lua Tue Mar 20 21:35:57 2007 +0000 +++ b/Options.lua Tue Mar 20 21:37:38 2007 +0000 @@ -32,11 +32,12 @@ func = "Unlock", }, - bindings = { - type = "execute", - name = "bindings", - desc = "Launches keybinding setup mode", - func = function() ReBound:Enable() end, + keybind = { + type = "toggle", + name = "keybind", + desc = "keybind setup mode", + get = "GetKeybindMode", + set = "SetKeybindMode", }, hideart = { @@ -71,16 +72,6 @@ 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 - }, - ]] } } @@ -117,11 +108,12 @@ order = 3, }, - bindings = { - type = "execute", + keybind = { + type = "toggle", name = "Set Key Bindings", - desc = "Launches keybinding setup mode", - func = function() ReBound:Enable() end, + desc = "keybind setup mode", + get = "GetKeybindMode", + set = "SetKeybindMode", order = 4, }, @@ -134,16 +126,6 @@ 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 - }, - ]] - } } diff -r 650f75d08952 -r f3a7bfebc283 README.html --- a/README.html Tue Mar 20 21:35:57 2007 +0000 +++ b/README.html Tue Mar 20 21:37:38 2007 +0000 @@ -2,14 +2,21 @@ ReAction: README +

ReAction

AddOn for World of Warcraft

-

Current Version: 0.32 (alpha)
- Released: 03 Feb 2007

- WoW Version Compatibility/TOC: 2.0.6 / TOC 20003

+

Current Version: 0.33 (alpha)
+ Released: 02 Mar 2007

+ WoW Version Compatibility/TOC: 2.0.8 / TOC 20003

The Basics

ReAction is a replacement for the default Blizzard action bars. It allows you redefine your action button layout any way you like.

@@ -23,7 +30,8 @@ Automatically anchor bars to each other or the screen edges by holding shift down as you drag.
  • Context menus provide independent configuration options for each bar.
  • -
  • Point and click keybinding interface.
  • +
  • Point and click keybinding interface. You can bind keys to left-click or + right-click independently.
  • Supports multiple 'pages' per bar, configured independently. Automatic stance, form, and stealth switching among pages is supported, including Shadowform.
  • Pet action bar is fully supported and configurable.
  • @@ -80,18 +88,30 @@ mode by alt-clicking the ReAction Control Button (or choosing 'keybinding mode' from the right-click menu). ReAction button keybindings are not available from the standard keybindings menu! You must use the ReAction keybinding - interface.

    + interface. They're even greyed out in the keybinding menu to remind you.

    Like configuration mode, normal button operation is disabled while in keybinding mode (though again, any hotkeys you have assigned will work).

    With the keybinding interface out, you can mouseover any ReAction button to see what its current keybinding is. You can set the keybinding on a button by - pressing the key, then clicking the button. To clear a keybinding from a ReAction - button, right-click the button. If you've set up bars with multiple pages, you + clicking the button, then pressing the key. To clear a keybinding from a ReAction + button, shift-click the button. Tooltips will remind you of this interface. + You can also right-click/shift-right-click to set/clear a right-click hotkey, + which will simulate right-clicking the button (useful for complex macros, typically + to save screen real estate). If you've set up bars with multiple pages, you can also bind a key to the page up/down buttons on a per-bar basis. Just make sure the buttons are showing (they can be hidden later) and assign the keybinding like any other ReAction button.

    Keybindings are saved on a per-character basis. Keybinding mode is not available - if you are in combat, and is automatically cancelled if you enter combat.

    + if you are in combat, and is automatically cancelled if you enter combat. When + you first log in with ReAction, it steals the keybindings from the default main + action bar (buttons 1-12) and assigns them to the corresponding buttons on the + default ReAction bar.

    +

    Remember to click the 'Save' button to save your keybindings! If you + do not, they will automatically revert to the previous bindings when exiting + keybinding mode. This can be useful for "trying out" certain layouts + briefly, but can also be a serious gotcha — if you just hit 'Escape,' or + alt-click the ReAction Control Button, or enter combat while in keybinding mode, + your bindings will revert to their previous state.

    Playing with ReAction

    Once you get your keybindings and configuration set up, you're ready to go. The buttons behave just like regular Blizzard buttons. However, at any time @@ -114,8 +134,9 @@ during combat. This workaround can be disabled via a configuration option, but then you can't drag and drop actions onto slots during combat. Pick your poison, it's a limitation of Blizzard's protection scheme. -

  • If you hide the default main menu bar, there is no substitute for the XP - bar, bag bar, or micro menu bar (although the hotkeys for them still work)
  • +
  • If you hide the default main menu bar, there is no substitute provided for + the XP bar, bag bar, or micro menu bar (although the hotkeys for them still + work). Other addons can provide these features until ReAction supports them.
  • Known Issues

    Future Plans

    Version History

    +

    Version 0.33:

    +

    Version 0.32: