From 0c9d66446039f0e7902579da21b38022f07a02d7 Mon Sep 17 00:00:00 2001 From: Adrian L Lange Date: Sun, 31 Mar 2013 04:18:15 +0200 Subject: [PATCH] Rework the item button storing and functions --- HabeebIt.lua | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/HabeebIt.lua b/HabeebIt.lua index 3a05d4c..ab2435a 100644 --- a/HabeebIt.lua +++ b/HabeebIt.lua @@ -49,16 +49,11 @@ local function OnClick(self) HandleModifiedItemClick(self.itemLink) end -local function GetItemLine(name, texture, slot, itemClass, itemID, itemLink) - local Item - for button, used in pairs(items) do - if(not used) then - Item = button - end - end - +local function GetItemLine(index) + local Item = items[index] if(not Item) then Item = CreateFrame('Button', nil, Frame) + Item:SetPoint('BOTTOM', 0, 6 + ((index - 1) * 48)) Item:SetSize(321, 45) local Icon = Item:CreateTexture(nil, 'BACKGROUND') @@ -94,17 +89,9 @@ local function GetItemLine(name, texture, slot, itemClass, itemID, itemLink) Item:SetScript('OnClick', OnClick) Item:SetScript('OnEnter', OnEnter) Item:SetScript('OnLeave', OnLeave) - end - Item.Icon:SetTexture(texture) - Item.Name:SetText(name) - Item.Slot:SetText(slot) - Item.Class:SetText(itemClass) - - Item.itemID = itemID - Item.itemLink = itemLink - - items[Item] = true + items[index] = Item + end return Item end @@ -114,11 +101,18 @@ local function PopulateList() for index = 1, EJ_GetNumLoot() do local name, texture, slot, itemClass, itemID, itemLink, encounterID = EJ_GetLootInfoByIndex(index) if(encounterID == currentEncounterID) then - local Item = GetItemLine(name, texture, slot, itemClass, itemID, itemLink) - Item:SetPoint('BOTTOM', 0, 6 + ((numItems) * 48)) - Item:Show() - numItems = numItems + 1 + + local Item = GetItemLine(numItems) + Item.Icon:SetTexture(texture) + Item.Name:SetText(name) + Item.Slot:SetText(slot) + Item.Class:SetText(itemClass) + + Item.itemID = itemID + Item.itemLink = itemLink + + Item:Show() end end -- 1.7.9.5