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@0: self.itemName = nil adam@0: if enchantId and enchantId ~= 0 then adam@0: local spellId = AskMrRobot.getEnchantSpellId(enchantId) adam@0: local link = nil adam@0: if spellId then adam@0: link = 'enchant:' .. spellId adam@0: end adam@0: self:SetItemLink(link) adam@0: if self.useSpellName then adam@0: local spellName = spellId and select(1, GetSpellInfo(spellId)) adam@0: self.itemText:SetText(spellName) adam@0: self.itemName = spellName adam@0: else adam@0: self.itemName = AskMrRobot.getEnchantName(enchantId) adam@0: self.itemText:SetText(self.itemName) adam@0: 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@0: local texture = AskMrRobot.getEnchantIcon(enchantId) adam@0: self.icon:SetTexture('Interface/Icons/' .. texture) 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