LibActionButton-1.0 is a library to create and manage Action Buttons. And when i say action button, i don't necessarily mean buttons that are limited to the 120 actions the game gives you.
LibActionButton-1.0 implements a full replacement button which can either use the 120 actions provided by the game, or alternatively be completely independent of those actions, and directly use spells, items, macros, etc, letting the addon using LAB-1.0 manage the contents of the buttons. Of course, actions and non-actions can also be mixed.
The whole button handling code, while roughly modeled after how Blizzard manages their buttons, has been cleaned up and optimized quite a lot. Replacing the whole default UIs action buttons with LAB-1.0 based buttons will increase your performance, even if not by much.
Features - 100% support for Action-based buttons. - 99%* support for non-action based buttons, containing spells, items, macros**. - LibKeyBound-1.0 integration - ButtonFacade support - Configuration of the buttons through a config table - Static Buttons (Disable Drag'n'Drop, so the user cannot change the contents of the button - only for non-action)
* 99% because Drag'N'Drop in combat is not 100% the same as for action buttons. You can drag a spell on the button, but only with a real drag (keep mouse button pressed from action pickup to action drop). Having the action on the cursor and clicking on the button to drop the action only works out of combat.
** Macros are not fully supported yet. You can drag them on buttons, and the macros will be cast when you click them, however alot of visual feedback is still missing.
ToDos - Finish Macro support - Pet Action support (replacing the pet bar) - Add support for non-combat pets/mounts on the buttons - New 4.0 "flyout" action support - Extensive Testing
Maybes - "Auto-Assist" option from Bartender
Requirements - Requires WoW 4.0 - Its currently required to have a secure header driving the buttons.
Primarily aimed at replacing the custom Action Button code in Bartender4.5, i decided to make it a proper library, for everyone to benefit.
If anyone is creating secure buttons with custom actions on them right now, this could be potentially interesting for you. For example, this could be addons that provide bars for Hunter Aspects, Mage Portals, or something generic like AutoBar. Any kind of button that holds items or spells, and needs to behave like a typical Action Button, can make use of this library, and get rid of all the interfacing to the restricted environment and event handling.