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: adam@0: function AskMrRobot.ItemLinkText:SetItemId(itemId, upgradeId, suffixId) adam@0: AskMrRobot.ItemTooltipFrame.SetItemLink(self, link) adam@0: self.itemName = nil adam@0: if itemId > 0 then adam@0: local linkTemplate = "item:%d:0:0:0:0:0:%d:0:%d:0:%d" adam@0: local itemName, itemLink = GetItemInfo(linkTemplate:format(itemId, suffixId, UnitLevel("player"), upgradeId)) adam@0: self:SetItemLink(itemLink) adam@0: if itemLink then adam@0: self.itemName = itemName adam@0: if self.formatText then adam@0: self.itemText:SetFormattedText(self.formatText, itemLink:gsub("%[", ""):gsub("%]", "")) adam@0: else adam@0: self.itemText:SetText(itemLink:gsub("%[", ""):gsub("%]", "")) adam@0: end adam@0: else adam@0: self.itemText:SetFormattedText("unknown (%d)", itemId) adam@0: self.itemText:SetTextColor(1,1,1) adam@0: AskMrRobot.RegisterItemInfoCallback(itemId, function(name, itemLink2) adam@0: if self.formatText then adam@0: self.itemText:SetFormattedText(self.formatText, itemLink2:gsub("%[", ""):gsub("%]", "")) adam@0: else adam@0: self.itemText:SetText(itemLink2:gsub("%[", ""):gsub("%]", "")) adam@0: end adam@0: self:SetItemLink(itemLink2) adam@0: self.itemName = name adam@0: end) adam@0: end adam@0: else adam@0: self.itemText:SetText("empty") adam@0: self.itemText:SetTextColor(0.5,0.5,0.5) adam@0: self:SetItemLink(nil) adam@0: end adam@0: end adam@0: adam@0: function AskMrRobot.ItemLinkText:SetFontSize(fontSize) adam@0: self.itemText:SetFontSize(fontSize) adam@0: end