annotate ui/ItemLinkText.lua @ 31:44c285acfff0 v8

fixed item display bug on summary tab
author yellowfive
date Sat, 18 Oct 2014 10:33:33 -0700
parents 4317e56e0a91
children 4ba69d2ee252
rev   line source
adam@0 1 local _, AskMrRobot = ...
adam@0 2
adam@0 3 AskMrRobot.ItemLinkText = AskMrRobot.inheritsFrom(AskMrRobot.ItemTooltipFrame)
adam@0 4
adam@0 5 function AskMrRobot.ItemLinkText:new(name, parent)
adam@0 6 local o = AskMrRobot.ItemTooltipFrame:new(name, parent)
adam@0 7
adam@0 8 -- use the ItemLinkText class
adam@0 9 setmetatable(o, { __index = AskMrRobot.ItemLinkText })
adam@0 10
adam@0 11 -- the item text
adam@0 12 o.itemText = AskMrRobot.FontString:new(o, nil, "ARTWORK", "GameFontWhite")
adam@0 13 o.itemText:SetPoint("TOPLEFT")
adam@0 14 o.itemText:SetPoint("BOTTOMRIGHT")
adam@0 15 o.itemText:SetJustifyH("LEFT")
adam@0 16
adam@0 17 return o
adam@0 18 end
adam@0 19
adam@0 20 function AskMrRobot.ItemLinkText:SetFormat(formatText)
adam@0 21 self.formatText = formatText
adam@0 22 end
adam@0 23
yellowfive@31 24 function AskMrRobot.ItemLinkText:SetItem(itemObj)
yellowfive@31 25 -- blank/nil
yellowfive@31 26 if itemObj == nil or itemObj.id == nil or itemObj.id == 0 then
yellowfive@31 27 self.itemText:SetText("empty")
adam@0 28 self.itemText:SetTextColor(0.5,0.5,0.5)
adam@0 29 self:SetItemLink(nil)
yellowfive@31 30 return
yellowfive@31 31 end
yellowfive@31 32
yellowfive@31 33 local itemName, itemLink = GetItemInfo(AskMrRobot.createItemLink(itemObj))
yellowfive@31 34 self:SetItemLink(itemLink)
yellowfive@31 35 if itemLink then
yellowfive@31 36 self.itemName = itemName
yellowfive@31 37 if self.formatText then
yellowfive@31 38 self.itemText:SetFormattedText(self.formatText, itemLink:gsub("%[", ""):gsub("%]", ""))
yellowfive@31 39 else
yellowfive@31 40 self.itemText:SetText(itemLink:gsub("%[", ""):gsub("%]", ""))
yellowfive@31 41 end
yellowfive@31 42 else
yellowfive@31 43 self.itemText:SetFormattedText("unknown (%d)", itemId)
yellowfive@31 44 self.itemText:SetTextColor(1,1,1)
yellowfive@31 45 AskMrRobot.RegisterItemInfoCallback(itemId, function(name, itemLink2)
yellowfive@31 46 if self.formatText then
yellowfive@31 47 self.itemText:SetFormattedText(self.formatText, itemLink2:gsub("%[", ""):gsub("%]", ""))
yellowfive@31 48 else
yellowfive@31 49 self.itemText:SetText(itemLink2:gsub("%[", ""):gsub("%]", ""))
yellowfive@31 50 end
yellowfive@31 51 self:SetItemLink(itemLink2)
yellowfive@31 52 self.itemName = name
yellowfive@31 53 end)
yellowfive@31 54 end
yellowfive@31 55 end
yellowfive@31 56
yellowfive@31 57 function AskMrRobot.ItemLinkText:SetItemId(itemId)
yellowfive@31 58
yellowfive@31 59 self:SetItem({
yellowfive@31 60 id = itemId,
yellowfive@31 61 enchantId = 0,
yellowfive@31 62 gemIds = {0,0,0,0},
yellowfive@31 63 suffixId = 0,
yellowfive@31 64 upgradeId = 0
yellowfive@31 65 })
yellowfive@31 66
adam@0 67 end
adam@0 68
adam@0 69 function AskMrRobot.ItemLinkText:SetFontSize(fontSize)
adam@0 70 self.itemText:SetFontSize(fontSize)
adam@0 71 end