From 37dd1c4c53bf3da35b15fdc99524363453b8db88 Mon Sep 17 00:00:00 2001 From: pschifferer Date: Tue, 24 Feb 2009 05:42:24 +0000 Subject: [PATCH] Reverted frame creation for queue display. Made string values in queue item template blank by default. --- CauldronMain.xml | 4 +- CauldronMainUI.lua | 121 +++++++++++++++++++++++++--------------------------- 2 files changed, 61 insertions(+), 64 deletions(-) diff --git a/CauldronMain.xml b/CauldronMain.xml index 7aec0a2..3cdf6b8 100644 --- a/CauldronMain.xml +++ b/CauldronMain.xml @@ -286,7 +286,7 @@ + text="" justifyH="LEFT" justifyV="CENTER"> @@ -297,7 +297,7 @@ + text="" justifyH="LEFT" justifyV="CENTER"> diff --git a/CauldronMainUI.lua b/CauldronMainUI.lua index a43dada..b5bbf1d 100644 --- a/CauldronMainUI.lua +++ b/CauldronMainUI.lua @@ -586,10 +586,9 @@ function Cauldron:UpdateQueue() local height = 0; - local f = 0; - CauldronQueueFrameScrollFrameQueueSectionsMainItemsHeaderText:SetText(L["In order to make:"]); -- adjust the scroll child size + self:debug("set main section height for "..#itemQueue.." items: "..(#itemQueue * itemFrameHeight)); CauldronQueueFrameScrollFrameQueueSectionsMainItems:SetHeight(#itemQueue * itemFrameHeight); for i, queueInfo in ipairs(itemQueue) do @@ -597,19 +596,21 @@ function Cauldron:UpdateQueue() self:debug("queueInfo: name="..queueInfo.name); --@end-alpha@ - f = f + 1; - - local queueItemFrame = _G["CauldronQueueItem"..f]; + local queueItemFrame = _G["CauldronQueueItem"..i]; + self:debug("queueItemFrame: "..tostring(queueItemFrame)); -- check if we have a frame for this position if not queueItemFrame then - -- create a new frame for the skill information + -- create a new frame for the queue information + self:debug("create a new frame for item "..i..": "..queueInfo.name); queueItemFrame = CreateFrame("Button", - "CauldronQueueItem"..f, + "CauldronQueueItem"..i, CauldronQueueFrameScrollFrameQueueSectionsMainItems, "CauldronQueueItemFrameTemplate"); else - -- set the frame's parent + self:debug("use existing frame for item "..i..": "..queueInfo.name); + + -- set the frame's parent queueItemFrame:SetParent(CauldronQueueFrameScrollFrameQueueSectionsMainItems); end @@ -624,12 +625,12 @@ function Cauldron:UpdateQueue() queueItemFrame.shoppable = false; queueItemFrame.inHoverButtons = false; - _G["CauldronQueueItem"..f.."RemoveItem"]:Hide(); - _G["CauldronQueueItem"..f.."RemoveItem"]:SetScale(0.75); - _G["CauldronQueueItem"..f.."IncreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecrementCount"]:Hide(); - _G["CauldronQueueItem"..f.."AddToShoppingList"]:Hide(); + _G["CauldronQueueItem"..i.."RemoveItem"]:Hide(); + _G["CauldronQueueItem"..i.."RemoveItem"]:SetScale(0.75); + _G["CauldronQueueItem"..i.."IncreasePriority"]:Hide(); + _G["CauldronQueueItem"..i.."DecreasePriority"]:Hide(); + _G["CauldronQueueItem"..i.."DecrementCount"]:Hide(); + _G["CauldronQueueItem"..i.."AddToShoppingList"]:Hide(); local skillInfo = Cauldron:GetSkillInfo(queueInfo.tradeskill, queueInfo.name); if not skillInfo then @@ -641,7 +642,7 @@ function Cauldron:UpdateQueue() local frame = nil; -- set name and difficulty color - frame = _G["CauldronQueueItem"..f.."ItemName"]; + frame = _G["CauldronQueueItem"..i.."ItemName"]; frame:SetText(queueInfo.name); if skillInfo then local color = TradeSkillTypeColor[skillInfo.difficulty]; @@ -658,7 +659,7 @@ function Cauldron:UpdateQueue() end -- set quantity info - frame = _G["CauldronQueueItem"..f.."Info"]; + frame = _G["CauldronQueueItem"..i.."Info"]; local infoText = queueInfo.tradeskill; -- TODO: alts/bank/etc. frame:SetText(infoText); @@ -666,21 +667,21 @@ function Cauldron:UpdateQueue() -- frame:SetShadowOffset(0, 0); -- set the icon - frame = _G["CauldronQueueItem"..f.."Icon"]; + frame = _G["CauldronQueueItem"..i.."Icon"]; frame:SetNormalTexture(queueInfo.icon); frame.link = queueInfo.link; -- set the amount - frame = _G["CauldronQueueItem"..f.."IconCount"]; + frame = _G["CauldronQueueItem"..i.."IconCount"]; frame:SetText(queueInfo.amount); -- place the frame in the scroll view - if f > 1 then + if i > 1 then -- anchor to the frame above --@alpha@ self:debug("UpdateQueue: anchor frame to top left of frame above"); --@end-alpha@ - queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueItem"..tostring(f-1)], "BOTTOMLEFT", 0, 0); + queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueItem"..(i-1)], "BOTTOMLEFT", 0, 0); else -- anchor to the parent --@alpha@ @@ -700,7 +701,7 @@ function Cauldron:UpdateQueue() end -- hide any remaining frames - local j = f + 1; + local j = #itemQueue + 1; while true do local frame = _G["CauldronQueueItem"..j]; if not frame then @@ -746,33 +747,31 @@ function Cauldron:UpdateQueue() --@alpha@ self:debug("intQueue: name="..queueInfo.name); --@end-alpha@ - - f = f + 1; - local queueItemFrame = _G["CauldronQueueItem"..f]; + local queueItemFrame = _G["CauldronQueueIntItem"..i]; -- check if we have a frame for this position if not queueItemFrame then -- create a new frame for the skill information queueItemFrame = CreateFrame("Button", - "CauldronQueueItem"..f, + "CauldronQueueIntItem"..i, CauldronQueueFrameScrollFrameQueueSectionsSecondaryItems, "CauldronQueueItemFrameTemplate"); end - queueItemFrame:SetID(f); + queueItemFrame:SetID(i); queueItemFrame.itemName = queueInfo.name; queueItemFrame.removeable = false; queueItemFrame.shoppable = false; queueItemFrame.inHoverButtons = false; -- don't show the remove button - _G["CauldronQueueItem"..f.."RemoveItem"]:Hide(); - _G["CauldronQueueItem"..f.."RemoveItem"]:SetScale(0.75); - _G["CauldronQueueItem"..f.."IncreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecrementCount"]:Hide(); - _G["CauldronQueueItem"..f.."AddToShoppingList"]:Hide(); + _G["CauldronQueueIntItem"..i.."RemoveItem"]:Hide(); + _G["CauldronQueueIntItem"..i.."RemoveItem"]:SetScale(0.75); + _G["CauldronQueueIntItem"..i.."IncreasePriority"]:Hide(); + _G["CauldronQueueIntItem"..i.."DecreasePriority"]:Hide(); + _G["CauldronQueueIntItem"..i.."DecrementCount"]:Hide(); + _G["CauldronQueueIntItem"..i.."AddToShoppingList"]:Hide(); local skillInfo = Cauldron:GetSkillInfo(queueInfo.tradeskill, queueInfo.name); if not skillInfo then @@ -787,7 +786,7 @@ function Cauldron:UpdateQueue() local frame = nil; -- set name and difficulty color - frame = _G["CauldronQueueItem"..f.."ItemName"]; + frame = _G["CauldronQueueIntItem"..i.."ItemName"]; frame:SetText(queueInfo.name); if skillInfo then local color = TradeSkillTypeColor[skillInfo.difficulty]; @@ -807,7 +806,7 @@ function Cauldron:UpdateQueue() end -- set quantity info - frame = _G["CauldronQueueItem"..f.."Info"]; + frame = _G["CauldronQueueIntItem"..i.."Info"]; local countInfo = Cauldron:ReagentCount(queueInfo.name); local infoText = string.format(queueInfo.tradeskill.."; "..L["Have %d"], countInfo.has); if countInfo.bank > 0 then @@ -823,21 +822,21 @@ function Cauldron:UpdateQueue() frame:SetShadowOffset(0, 0); -- set the icon - frame = _G["CauldronQueueItem"..f.."Icon"]; + frame = _G["CauldronQueueIntItem"..i.."Icon"]; frame:SetNormalTexture(queueInfo.icon); frame.link = queueInfo.link; -- set the amount - frame = _G["CauldronQueueItem"..f.."IconCount"]; + frame = _G["CauldronQueueIntItem"..i.."IconCount"]; frame:SetText(queueInfo.amount); -- place the frame in the scroll view - if f > 1 then + if i > 1 then -- anchor to the frame above --@alpha@ self:debug("UpdateQueue: anchor frame to top left of frame above"); --@end-alpha@ - queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueItem"..tostring(f-1)], "BOTTOMLEFT", 0, 0); + queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueIntItem"..(i-1)], "BOTTOMLEFT", 0, 0); else -- anchor to the parent --@alpha@ @@ -860,14 +859,14 @@ function Cauldron:UpdateQueue() end -- hide any remaining frames - j = f + 1; + j = #intQueue + 1; while true do - local frame = _G["CauldronQueueItem"..j]; + local frame = _G["CauldronQueueIntItem"..j]; if not frame then break; end - _G["CauldronQueueItem"..j] = nil; + _G["CauldronQueueIntItem"..j] = nil; frame:Hide(); frame:SetHeight(0); @@ -888,16 +887,14 @@ function Cauldron:UpdateQueue() --@alpha@ self:debug("reagentList: "..queueInfo.name); --@end-alpha@ - - f = f + 1; - local queueItemFrame = _G["CauldronQueueItem"..f]; + local queueItemFrame = _G["CauldronQueueReagentItem"..i]; -- check if we have a frame for this position if not queueItemFrame then -- create a new frame for the skill information queueItemFrame = CreateFrame("Button", - "CauldronQueueItem"..f, + "CauldronQueueReagentItem"..i, CauldronQueueFrameScrollFrameQueueSectionsReagents, "CauldronQueueItemFrameTemplate"); end @@ -905,7 +902,7 @@ function Cauldron:UpdateQueue() local countInfo = Cauldron:ReagentCount(queueInfo.name); local need = math.max(0, queueInfo.amount - countInfo.has); - queueItemFrame:SetID(f); + queueItemFrame:SetID(i); queueItemFrame.skillIndex = queueInfo.skillIndex; queueItemFrame.index = queueInfo.index; queueItemFrame.itemName = queueInfo.name; @@ -915,13 +912,13 @@ function Cauldron:UpdateQueue() queueItemFrame.needAmount = need; -- don't show the remove button - _G["CauldronQueueItem"..f.."RemoveItem"]:Hide(); - _G["CauldronQueueItem"..f.."RemoveItem"]:SetScale(0.75); - _G["CauldronQueueItem"..f.."IncreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecreasePriority"]:Hide(); - _G["CauldronQueueItem"..f.."DecrementCount"]:Hide(); - _G["CauldronQueueItem"..f.."AddToShoppingList"]:Hide(); - _G["CauldronQueueItem"..f.."AddToShoppingList"]:SetScale(0.5); + _G["CauldronQueueReagentItem"..i.."RemoveItem"]:Hide(); + _G["CauldronQueueReagentItem"..i.."RemoveItem"]:SetScale(0.75); + _G["CauldronQueueReagentItem"..i.."IncreasePriority"]:Hide(); + _G["CauldronQueueReagentItem"..i.."DecreasePriority"]:Hide(); + _G["CauldronQueueReagentItem"..i.."DecrementCount"]:Hide(); + _G["CauldronQueueReagentItem"..i.."AddToShoppingList"]:Hide(); + _G["CauldronQueueReagentItem"..i.."AddToShoppingList"]:SetScale(0.5); local skillInfo = Cauldron:GetSkillInfo(queueInfo.tradeskill, queueInfo.name); if not skillInfo then @@ -932,7 +929,7 @@ function Cauldron:UpdateQueue() local frame = nil; -- set name and difficulty color - frame = _G["CauldronQueueItem"..f.."ItemName"]; + frame = _G["CauldronQueueReagentItem"..i.."ItemName"]; frame:SetText(queueInfo.name); frame:SetShadowOffset(0, 0); frame:SetFont("GameFontNormal", 12); @@ -942,7 +939,7 @@ function Cauldron:UpdateQueue() frame.b = 1.0; -- set quantity info - frame = _G["CauldronQueueItem"..f.."Info"]; + frame = _G["CauldronQueueReagentItem"..i.."Info"]; local countInfo = Cauldron:ReagentCount(queueInfo.name); local qtyText = string.format(L["Have %d"], countInfo.has); if countInfo.bank > 0 then @@ -957,7 +954,7 @@ function Cauldron:UpdateQueue() frame:SetShadowOffset(0, 0); -- set the icon - frame = _G["CauldronQueueItem"..f.."Icon"]; + frame = _G["CauldronQueueReagentItem"..i.."Icon"]; frame:SetNormalTexture(queueInfo.icon); frame.link = queueInfo.link; -- local playerReagentCount = 0; -- TODO @@ -970,16 +967,16 @@ function Cauldron:UpdateQueue() -- end -- set the amount - frame = _G["CauldronQueueItem"..f.."IconCount"]; + frame = _G["CauldronQueueReagentItem"..i.."IconCount"]; frame:SetText(queueInfo.amount); -- place the frame in the scroll view - if f > 1 then + if i > 1 then -- anchor to the frame above --@alpha@ self:debug("UpdateQueue: anchor frame to top left of frame above"); --@end-alpha@ - queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueItem"..tostring(f-1)], "BOTTOMLEFT", 0, 0); + queueItemFrame:SetPoint("TOPLEFT", _G["CauldronQueueReagentItem"..(i-1)], "BOTTOMLEFT", 0, 0); else -- anchor to the parent --@alpha@ @@ -1001,14 +998,14 @@ function Cauldron:UpdateQueue() end -- hide any remaining frames - j = f + 1; + j = #reagentList + 1; while true do - local frame = _G["CauldronQueueItem"..j]; + local frame = _G["CauldronQueueReagentItem"..j]; if not frame then break; end - _G["CauldronQueueItem"..j] = nil; + _G["CauldronQueueReagentItem"..j] = nil; frame:Hide(); frame:SetHeight(0); -- 1.7.9.5