adam@0: local _, AskMrRobot = ... adam@0: adam@0: AskMrRobot.ItemLinkText = AskMrRobot.inheritsFrom(AskMrRobot.ItemTooltipFrame) adam@0: adam@0: function AskMrRobot.ItemLinkText:new(name, parent) adam@0: local o = AskMrRobot.ItemTooltipFrame:new(name, parent) adam@0: adam@0: -- use the ItemLinkText class adam@0: setmetatable(o, { __index = AskMrRobot.ItemLinkText }) adam@0: adam@0: -- the item text adam@0: o.itemText = AskMrRobot.FontString:new(o, nil, "ARTWORK", "GameFontWhite") adam@0: o.itemText:SetPoint("TOPLEFT") adam@0: o.itemText:SetPoint("BOTTOMRIGHT") adam@0: o.itemText:SetJustifyH("LEFT") adam@0: adam@0: return o adam@0: end adam@0: adam@0: function AskMrRobot.ItemLinkText:SetFormat(formatText) adam@0: self.formatText = formatText adam@0: end adam@0: yellowfive@31: function AskMrRobot.ItemLinkText:SetItem(itemObj) yellowfive@31: -- blank/nil yellowfive@31: if itemObj == nil or itemObj.id == nil or itemObj.id == 0 then yellowfive@31: self.itemText:SetText("empty") adam@0: self.itemText:SetTextColor(0.5,0.5,0.5) adam@0: self:SetItemLink(nil) yellowfive@31: return yellowfive@31: end yellowfive@31: yellowfive@31: local itemName, itemLink = GetItemInfo(AskMrRobot.createItemLink(itemObj)) yellowfive@31: self:SetItemLink(itemLink) yellowfive@31: if itemLink then yellowfive@31: self.itemName = itemName yellowfive@31: if self.formatText then yellowfive@31: self.itemText:SetFormattedText(self.formatText, itemLink:gsub("%[", ""):gsub("%]", "")) yellowfive@31: else yellowfive@31: self.itemText:SetText(itemLink:gsub("%[", ""):gsub("%]", "")) yellowfive@31: end yellowfive@31: else yellowfive@31: self.itemText:SetFormattedText("unknown (%d)", itemId) yellowfive@31: self.itemText:SetTextColor(1,1,1) yellowfive@31: AskMrRobot.RegisterItemInfoCallback(itemId, function(name, itemLink2) yellowfive@31: if self.formatText then yellowfive@31: self.itemText:SetFormattedText(self.formatText, itemLink2:gsub("%[", ""):gsub("%]", "")) yellowfive@31: else yellowfive@31: self.itemText:SetText(itemLink2:gsub("%[", ""):gsub("%]", "")) yellowfive@31: end yellowfive@31: self:SetItemLink(itemLink2) yellowfive@31: self.itemName = name yellowfive@31: end) yellowfive@31: end yellowfive@31: end yellowfive@31: yellowfive@31: function AskMrRobot.ItemLinkText:SetItemId(itemId) yellowfive@31: yellowfive@31: self:SetItem({ yellowfive@31: id = itemId, yellowfive@31: enchantId = 0, yellowfive@31: gemIds = {0,0,0,0}, yellowfive@31: suffixId = 0, yellowfive@31: upgradeId = 0 yellowfive@31: }) yellowfive@31: adam@0: end adam@0: adam@0: function AskMrRobot.ItemLinkText:SetFontSize(fontSize) adam@0: self.itemText:SetFontSize(fontSize) adam@0: end