vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
local SlotIdText = {
                [1]  = "HeadSlot",
                [2]  = "NeckSlot", 
                [3]  = "ShoulderSlot",
                [4]  = "ShirtSlot",
                [5]  = "ChestSlot",
                [6]  = "WaistSlot",
                [7]  = "LegsSlot",
                [8]  = "FeetSlot",
                [9]  = "WristSlot",
                [10] = "HandsSlot",
                [11] = "Finger0Slot",
                [12] = "Finger1Slot",
                [13] = "Trinket0Slot",
                [14] = "Trinket1Slot",
                [15] = "BackSlot",
                [16] = "MainHandSlot",
                [17] = "SecondaryHandSlot",
                [18] = "RangedSlot",
                [19] = "TabardSlot",
                        };
                -- [19] = "AmmoSlot",

GuildAdsInspect = {};

local function DEBUG_MSG(msg)
        if (GUILDADS_DEBUG)
        then
                ChatFrame1:AddMessage(msg, 0.9, 0.9, 0.7);
        end
end

function GuildAdsInspectItemSlotButton_OnClick(button)
        if ( button == "LeftButton" ) then
                if ( IsShiftKeyDown() ) then
                        if ( ChatFrameEditBox:IsVisible() ) then
                                ChatFrameEditBox:Insert(GuildAdsInspect[this:GetID()]);
                        end
                end
        end
end

function GuildAdsInspectItemSlotButton_OnEnter()
        if (GuildAdsInspect[this:GetID()] ~= nil) then
                GuildAdsInspect_SetTooltipItem(GuildAdsInspect[this:GetID()]);
        end
end

function GuildAdsInspectItemSlotButton_OnLeave()
        GameTooltip:Hide();
end

function GuildAdsInspect_SetAuthor(author, title)
        GuildAdsInspectName:SetText(author);
        GuildAdsInspectTitle:SetText(title);
        GuildAdsInspectTime:SetText("");
        GuildAdsInspectAuthor = author;
        for slot=1,19,1 do
                GuildAdsInspectItemSlotButton_Update(author, slot, nil, nil, 0);
        end
        GuildAdsInspectFrame:Show();
end

function GuildAdsInspect_SetTime(author, inspectTime)
        if (author ~= GuildAdsInspectAuthor) then
                return;
        end
        GuildAdsInspectTime:SetText(inspectTime);
end

function GuildAdsInspectItemSlotButton_OnLoad()
        local slotName = this:GetName();
        local id;
        local textureName;
        id, textureName = GetInventorySlotInfo(strsub(slotName,16));
        this:SetID(id);
        local texture = getglobal(slotName.."IconTexture");
        texture:SetTexture(textureName);
        this.backgroundTextureName = textureName;
end

function GuildAdsInspect_SetTooltipItem(itemRef)
        GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
        if (itemRef) then
                GameTooltip:SetHyperlink(itemRef);
                GuildAds_GameTooltip_AddTT(nil, itemRef, nil, 1);
        end
end

function GuildAdsInspectItemSlotButton_Update(author, slot, itemRef, textureName, count)
        if (author ~= GuildAdsInspectAuthor) then
                return;
        end
        DEBUG_MSG("[GuildAdsInspectItemSlotButton_Update] slot: "..slot);
        button = getglobal("GuildAdsInspect"..SlotIdText[slot]);
        if ( textureName ) then
                SetItemButtonTexture(button, textureName);
                SetItemButtonCount(button, count);
                GuildAdsInspect[slot]= itemRef;
        else
                SetItemButtonTexture(button, button.backgroundTextureName);
                SetItemButtonCount(button, 0);
                GuildAdsInspect[slot] = nil;
        end
        
        if ( GameTooltip:IsOwned(button) ) then
                if ( textureName ) then
                        GuildAdsInspect_SetTooltipItem(itemRef);
                else
                        GameTooltip:Hide();
                end
        end
end

function GuildAdsInspectUser(user)
        -- Init GuildAdsInspect
        local title = GuildAds_GetPlayerInfo(user);
        GuildAdsInspect_SetAuthor(user, title);
        GuildAdsInspect_SetTime(user, "");
                
        -- Set inventory to the cache value
        timeToSet = true;
        local inventory = GAS_ProfileGetInventory(user);
        for slot, data in inventory do
                if (slot == "creationtime") then
                        GuildAdsInspect_SetTime(user, GAS_timeToString(data));
                else
                        GuildAdsInspectItemSlotButton_Update(user, slot, data.ref, data.texture, data.count);
                end
        end
        -- Send inspect request
        GAC_SendRequestInspect(user);
end

Generated by GNU Enscript 1.6.5.90.