adam@0: local _, AskMrRobot = ... adam@0: adam@0: AskMrRobot.EnchantLinkText = AskMrRobot.inheritsFrom(AskMrRobot.ItemTooltipFrame) adam@0: adam@0: function AskMrRobot.EnchantLinkText: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.EnchantLinkText }) 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.EnchantLinkText:SetEnchantId(enchantId) adam@17: --self.itemName = nil adam@0: if enchantId and enchantId ~= 0 then adam@17: local enchantData = AskMrRobot.ExtraEnchantData[enchantId]; adam@17: local spellId = enchantData and enchantData.spellId adam@0: local link = nil adam@0: if spellId then adam@0: link = 'enchant:' .. spellId adam@0: end adam@0: self:SetItemLink(link) adam@17: if enchantData then adam@17: self.itemText:SetText(enchantData.text) adam@0: else adam@17: --self.itemText:SetText(enchantId) adam@17: self.itemText:SetText('unknown') adam@0: end adam@17: -- if self.useSpellName then adam@17: -- local spellName = spellId and select(1, GetSpellInfo(spellId)) adam@17: -- self.itemText:SetText(spellName) adam@17: -- self.itemName = spellName adam@17: -- else adam@17: -- self.itemName = AskMrRobot.getEnchantName(enchantId) adam@17: -- self.itemText:SetText(self.itemName) adam@17: -- end adam@0: else adam@0: self:SetItemLink(nil) adam@0: self.itemText:SetText('') adam@0: end adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkText:SetFontSize(fontSize) adam@0: self.itemText:SetFontSize(fontSize) adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkText:UseSpellName() adam@0: self.useSpellName = true adam@0: end adam@0: adam@0: AskMrRobot.EnchantLinkIconAndText = AskMrRobot.inheritsFrom(AskMrRobot.EnchantLinkText) adam@0: adam@0: function AskMrRobot.EnchantLinkIconAndText:new(name, parent) adam@0: local o = AskMrRobot.EnchantLinkText:new(name, parent) adam@0: adam@0: -- use the EnchantLinkIconAndText class adam@0: setmetatable(o, { __index = AskMrRobot.EnchantLinkIconAndText }) adam@0: adam@0: o.iconFrame = AskMrRobot.Frame:new(nil, o) adam@0: o.iconFrame:SetPoint("TOPLEFT", 0, 5) adam@0: o.iconFrame:SetWidth(24) adam@0: o.iconFrame:SetHeight(24) adam@0: adam@0: o.icon = o.iconFrame:CreateTexture(nil, "BACKGROUND") adam@0: o.icon:SetPoint("TOPLEFT") adam@0: o.icon:SetPoint("BOTTOMRIGHT") adam@0: adam@0: o.itemText:SetPoint("TOPLEFT", o.iconFrame, "TOPRIGHT", 4, -5) adam@0: adam@0: o:SetRoundBorder() adam@0: adam@0: return o adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkIconAndText:SetRoundBorder() adam@0: self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\round-edge", edgeSize = 8}) adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkIconAndText:SetSquareBorder() adam@0: self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\square-edge", edgeSize = 8}) adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkIconAndText:SetEnchantId(enchantId) adam@0: AskMrRobot.EnchantLinkText.SetEnchantId(self, enchantId) adam@0: if enchantId and enchantId ~= 0 then adam@17: --local texture = AskMrRobot.getEnchantIcon(enchantId) adam@17: --self.icon:SetTexture('Interface/Icons/' .. texture) adam@17: local enchantData = AskMrRobot.ExtraEnchantData[enchantId]; adam@17: local spellId = enchantData and enchantData.spellId adam@17: local link = nil adam@17: if spellId then adam@17: link = 'enchant:' .. spellId adam@17: local _, _, icon = GetSpellInfo(spellId) adam@17: if icon then adam@17: self.icon:SetTexture(icon) adam@17: end adam@17: end adam@17: adam@0: self.iconFrame:Show() adam@0: else adam@0: self.iconFrame:Hide() adam@0: end adam@0: end adam@0: adam@0: function AskMrRobot.EnchantLinkIconAndText:SetFontSize(fontSize) adam@0: self.itemText:SetFontSize(fontSize) adam@0: end