vanilla-wow-addons – Rev 1
?pathlinks?
--[[
Auctioneer Addon for World of Warcraft(tm).
Version: 3.9.0.1000 (Kangaroo)
Revision: $Id: AuctioneerUI.lua 735 2006-03-03 04:04:26Z vindicator $
Auctioneer UI manager
License:
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program(see GPL.txt); if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
]]
-------------------------------------------------------------------------------
-- Data members
-------------------------------------------------------------------------------
CursorItem = nil;
MoneyTypeInfo["AUCTIONEER"] = {
UpdateFunc = function()
return this.staticMoney;
end,
collapse = 1,
fixedWidth = 1,
showSmallerCoins = 1
};
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function AuctioneerUI_OnLoad()
Stubby.RegisterFunctionHook("PickupContainerItem", 200, AuctioneerUI_PickupContainerItemHook)
end
-------------------------------------------------------------------------------
-- Called after Blizzard's AuctionFrameTab_OnClick() method.
-------------------------------------------------------------------------------
function AuctioneerUI_AuctionFrameTab_OnClickHook(_, _, index)
if (not index) then
index = this:GetID();
end
-- Hide the Auctioneer tabs
AuctionFrameSearch:Hide();
AuctionFramePost:Hide();
-- Show an Auctioneer tab if its the one clicked
local tab = getglobal("AuctionFrameTab"..index);
if (tab) then
if (tab:GetName() == "AuctionFrameTabSearch") then
AuctionFrameTopLeft:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-TopLeft");
AuctionFrameTop:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-Top");
AuctionFrameTopRight:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-TopRight");
AuctionFrameBotLeft:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-BotLeft");
AuctionFrameBot:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-Bot");
AuctionFrameBotRight:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-BotRight");
AuctionFrameSearch:Show();
elseif (tab:GetName() == "AuctionFrameTabPost") then
AuctionFrameTopLeft:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-TopLeft");
AuctionFrameTop:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-Top");
AuctionFrameTopRight:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-TopRight");
AuctionFrameBotLeft:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-BotLeft");
AuctionFrameBot:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-Bot");
AuctionFrameBotRight:SetTexture("Interface\\AuctionFrame\\UI-AuctionFrame-Browse-BotRight");
AuctionFramePost:Show();
end
end
end
-------------------------------------------------------------------------------
-- Called after Blizzard's PickupContainerItem() method in order to capture
-- which item is on the cursor.
-------------------------------------------------------------------------------
function AuctioneerUI_PickupContainerItemHook(_, _, bag, slot)
if (CursorHasItem()) then
CursorItem = { bag = bag, slot = slot };
--EnhTooltip.DebugPrint("Picked up item "..CursorItem.bag..", "..CursorItem.slot);
else
CursorItem = nil;
--EnhTooltip.DebugPrint("Dropped item "..bag..", "..slot);
end
AuctioneerUI_GetCursorContainerItem();
end
-------------------------------------------------------------------------------
-- Gets the bag and slot number of the item on the cursor.
-------------------------------------------------------------------------------
function AuctioneerUI_GetCursorContainerItem()
if (CursorHasItem() and CursorItem) then
return CursorItem;
end
return nil;
end
-------------------------------------------------------------------------------
-- Wrapper for UIDropDownMenu_SetSeletedID() that sets 'this' before calling
-- UIDropDownMenu_SetSelectedID().
-------------------------------------------------------------------------------
function AuctioneerDropDownMenu_SetSelectedID(dropdown, index)
local oldThis = this;
this = dropdown;
local newThis = this;
UIDropDownMenu_SetSelectedID(dropdown, index);
-- Double check that the value of 'this' didn't change... this can screw us
-- up and prevent the reason for this method!
if (newThis ~= this) then
EnhTooltip.DebugPrint("WARNING: The value of this changed during AuctioneerDropDownMenu_SetSelectedID()");
end
this = oldThis;
end
-------------------------------------------------------------------------------
-- Wrapper for UIDropDownMenu_Initialize() that sets 'this' before calling
-- UIDropDownMenu_Initialize().
-------------------------------------------------------------------------------
function AuctioneerDropDownMenu_Initialize(dropdown, func)
-- Hide all the buttons to prevent any calls to Hide() inside
-- UIDropDownMenu_Initialize() which will screw up the value of this.
local button, dropDownList;
for i = 1, UIDROPDOWNMENU_MAXLEVELS, 1 do
dropDownList = getglobal("DropDownList"..i);
if ( i >= UIDROPDOWNMENU_MENU_LEVEL or frame:GetName() ~= UIDROPDOWNMENU_OPEN_MENU ) then
dropDownList.numButtons = 0;
dropDownList.maxWidth = 0;
for j=1, UIDROPDOWNMENU_MAXBUTTONS, 1 do
button = getglobal("DropDownList"..i.."Button"..j);
button:Hide();
end
end
end
-- Call the UIDropDownMenu_Initialize() after swapping in a value for 'this'.
local oldThis = this;
this = getglobal(dropdown:GetName().."Button");
local newThis = this;
UIDropDownMenu_Initialize(dropdown, func);
-- Double check that the value of 'this' didn't change... this can screw us
-- up and prevent the reason for this method!
if (newThis ~= this) then
EnhTooltip.DebugPrint("WARNING: The value of this changed during UIDropDownMenu_Initialize()");
end
this = oldThis;
end