/branches/Ace3/Aloft/Libs/AceTab-3.0
-- Note: This library is not yet finalized. |
-- @class file |
-- @name AceTab-3.0 |
-- @release $Id: AceTab-3.0.lua 861 2009-10-22 17:55:48Z nevcairiel $ |
-- @release $Id: AceTab-3.0.lua 905 2009-12-15 16:48:32Z nevcairiel $ |
local ACETAB_MAJOR, ACETAB_MINOR = 'AceTab-3.0', 4 |
local ACETAB_MAJOR, ACETAB_MINOR = 'AceTab-3.0', 5 |
local AceTab, oldminor = LibStub:NewLibrary(ACETAB_MAJOR, ACETAB_MINOR) |
if not AceTab then return end -- No upgrade needed |
-- Make listenframes into a one-element table if it was not passed a table of frames. |
if not listenframes then -- default |
listenframes = { ChatFrameEditBox } |
elseif type(listenframes) ~= 'table' or type(listenframes[0]) == 'userdata' and type(listenframes.IsFrameType or listenframes.IsObjectType) == 'function' then -- single frame or framename |
elseif type(listenframes) ~= 'table' or type(listenframes[0]) == 'userdata' and type(listenframes.IsObjectType) == 'function' then -- single frame or framename |
listenframes = { listenframes } |
end |
if type(f) == 'string' then |
f = _G[f] |
end |
if type(f) ~= 'table' or type(f[0]) ~= 'userdata' or type(f.IsFrameType or f.IsObjectType) ~= 'function' then |
if type(f) ~= 'table' or type(f[0]) ~= 'userdata' or type(f.IsObjectType) ~= 'function' then |
error(format(ACETAB_MAJOR..": Cannot register frame %q; it does not exist", f:GetName())) |
end |
if f then |
if (f.GetFrameType or f.GetObjectType)(f) ~= 'EditBox' then |
if f:GetObjectType() ~= 'EditBox' then |
error(format(ACETAB_MAJOR..": Cannot register frame %q; it is not an EditBox", f:GetName())) |
else |
hookFrame(f) |