# HG changeset patch # User Flick # Date 1205271574 0 # Node ID f1e838841ce1e932236c41c8a85061067e8475be # Parent 261f0f6bd68a87a8228e01189cbbc45a655a87a6 Rearranged file tree, removed unused code for 1.x start-point diff -r 261f0f6bd68a -r f1e838841ce1 README.html --- a/README.html Fri Mar 07 22:20:30 2008 +0000 +++ b/README.html Tue Mar 11 21:39:34 2008 +0000 @@ -0,0 +1,91 @@ + + +ReAction - README + + + +

ReAction - README

+

Contents

+
+Welcome to ReAction
+Credits
+Features
+Non-Features
+Using ReAction
+License
+
+ +
+ +

Welcome to ReAction

+

ReAction is a replacement for the various action bars provided by the default Blizzard UI. With ReAction, you can group your action buttons into bars however you want, and have as many bars as you want. Those bars can then have a number of dynamic behaviors assigned to them. ReAction provides an intuitive mouse-driven interface for arranging and resizing bars, and a dialog interface for the majority of the configuration options.

+

There are many action bar addons out there. I suggest you try several and choose the one that works best for you. Other popular action bar addons include:

+ +

Note that action bar addons are by nature generally incompatible with each other. Only install and enable one at a time! Most can currently be found on WoWInterface.com or Curse Gaming.

+ +

Credits

+

The WoW AddOn authoring community is rich and diverse. Virtually every successful addon author learns by reading, dissecting, and even pilfering (:-P) others' code. ReAction owes its existence to the following:

+ + +

ReAction embeds components of the Ace2 framework.

+ +

Features of ReAction

+ + +

The design goal of ReAction is to be user-friendly and feature-efficient. Useful features are incorporated: "fluff" is culled out. Many behaviors have been inspired by other addons.

+ +

NON-Features of ReAction

+ +

None of these limitations are fundamental (except perhaps the keybindings). With the extensible architecture, an enterprising mod author could certainly write an addon module that extends ReAction's capabilities.

+ +

Using ReAction

+

Installation

+

ReAction is distributed as a ZIP file: like all addons, just extract the archive contents into World of Warcraft/Interface/Addons. This will create a new folder called 'ReAction' in the Addons folder. Restart WoW, check that the AddOn is enabled in the character-select screen, and away you go.

+

A common mistake is to extract the contents into a new folder named ReAction (thereby creating a doubly nested Addons/ReAction/ReAction), or to rename the ReAction folder. Make sure that the path to this README file is World of Warcraft/Interface/Addons/ReAction/README.html.

+ +

First Run

+ +

Laying Out Your Bars

+ +

Configuring Your Bars

+ +

Dynamic Behavior

+

Dynamic bar behavior is a complex topic. At its most basic, you can have a bar switch between pages if you change stances/forms/stealth, just like the Blizzard UI does. For the more advanced user, multiple states can be created and transitions defined based on the available events as dictated by Blizzard's secure button API.

+ +

License

+ + diff -r 261f0f6bd68a -r f1e838841ce1 ReAction.lua --- a/ReAction.lua Fri Mar 07 22:20:30 2008 +0000 +++ b/ReAction.lua Tue Mar 11 21:39:34 2008 +0000 @@ -1,32 +1,32 @@ --[[ - ReAction Add-On main file. - Performs add-on and library initialization and setup. - --]] +------ LOCALIZATION ---------- +local L = AceLibrary("AceLocale-2.2"):new("ReAction") + +------ GLOBAL VARIABLES ------ -- 'ReAction' is exported as a global. ReAction = AceLibrary("AceAddon-2.0"):new( "AceModuleCore-2.0", "AceEvent-2.0", "AceDB-2.0" ) - -local ReAction = ReAction -local L = AceLibrary("AceLocale-2.2"):new("ReAction") -local AceOO = AceLibrary("AceOO-2.0") - - -ReAction.revision = tonumber(("$Revision: 1 $"):match("%d+")) -ReAction.L = L - -- global variable strings for integration with WoW keybindings dialog (see bindings.xml) BINDING_HEADER_REACTION = L["ReAction"] BINDING_NAME_REACTION_TOGGLELOCK = L["Toggle ReAction Bar Lock"] BINDING_NAME_REACTION_TOGGLEKEYBIND = L["ReAction Keybinding Mode"] + +------ CORE ------ +local ReAction = ReAction +ReAction.revision = tonumber(("$Revision: 1 $"):match("%d+")) +ReAction.L = L + + + -- from AceAddon-2.0 function ReAction:OnInitialize() self:RegisterDB("ReActionDB") @@ -100,65 +100,3 @@ ReAction.print = function() end end - --- utility -local newTable, recycle, deepCopy, deepDelete, varName -do - local pool = setmetatable( { }, {__mode="kv"} ) - - function newTable(...) - local t = table.remove(pool) or { } - for i = 1, select('#',...), 2 do - local k = select(i,...) - local v = select(i+1,...) - if k and v then - t[k] = v - end - end - return t - end - - function recycle(t) - if type(t) == "table" then - table.insert(pool,t) - end - end - - function deepCopy( x ) - if type(x) ~= "table" then - return x - end - local r = newTable() - for k,v in pairs(x) do - r[k] = deepCopy(v) - end - return r - end - - function deepDelete( x ) - if type(x) == "table" and x.IsObjectType == nil and not(AceOO.inherits(x,AceOO.Object)) then -- don't want to delete WoW or AceOO objects! - for k,v in pairs(x) do - x[k] = deepDelete(v) - end - recycle(x) - end - end - - function varName(s) - return tostring(s):gsub("[^a-zA-Z0-9_]","_") - end - - local u = setmetatable( { }, {__newindex = function(self,k,v) rawset(self,#self+1,v) ; rawset(self,k,v) end} ) - u.deepCopy = deepCopy - u.deepDelete = deepDelete - u.newTable = newTable - u.recycle = recycle - u.varName = varName - - ReAction.util = u -end - -function ReAction:GetUtilFuncs() - return unpack(self.util) -end - diff -r 261f0f6bd68a -r f1e838841ce1 ReAction.toc --- a/ReAction.toc Fri Mar 07 22:20:30 2008 +0000 +++ b/ReAction.toc Tue Mar 11 21:39:34 2008 +0000 @@ -6,11 +6,7 @@ ## Author: Flick ## Version: 1.0 ## SavedVariables: ReActionDB -## OptionalDeps: Ace2, DewdropLib, Waterfall ## X-Category: Action Bars ## X-Embeds: AceAddon-2.0, AceConsole-2.0, AceDB-2.0, AceEvent-2.0, AceHook-2.1, AceLibrary, AceLocale-2.2, AceModuleCore-2.0, AceOO-2.0, Dewdrop-2.0, Waterfall-1.0 -lib/embeds.xml -locale/locale.xml -ReAction.lua -modules/modules.xml +ReAction.xml diff -r 261f0f6bd68a -r f1e838841ce1 ReAction.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ReAction.xml Tue Mar 11 21:39:34 2008 +0000 @@ -0,0 +1,13 @@ + + + + + +