annotate ui/EnchantLinkText.lua @ 17:e77e01abce98

Warlords of Draenor pre-patch
author Adam tegen <adam.tegen@gmail.com>
date Mon, 13 Oct 2014 21:28:32 -0500
parents ec731d2fe6ba
children
rev   line source
adam@0 1 local _, AskMrRobot = ...
adam@0 2
adam@0 3 AskMrRobot.EnchantLinkText = AskMrRobot.inheritsFrom(AskMrRobot.ItemTooltipFrame)
adam@0 4
adam@0 5 function AskMrRobot.EnchantLinkText: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.EnchantLinkText })
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.EnchantLinkText:SetEnchantId(enchantId)
adam@17 21 --self.itemName = nil
adam@0 22 if enchantId and enchantId ~= 0 then
adam@17 23 local enchantData = AskMrRobot.ExtraEnchantData[enchantId];
adam@17 24 local spellId = enchantData and enchantData.spellId
adam@0 25 local link = nil
adam@0 26 if spellId then
adam@0 27 link = 'enchant:' .. spellId
adam@0 28 end
adam@0 29 self:SetItemLink(link)
adam@17 30 if enchantData then
adam@17 31 self.itemText:SetText(enchantData.text)
adam@0 32 else
adam@17 33 --self.itemText:SetText(enchantId)
adam@17 34 self.itemText:SetText('unknown')
adam@0 35 end
adam@17 36 -- if self.useSpellName then
adam@17 37 -- local spellName = spellId and select(1, GetSpellInfo(spellId))
adam@17 38 -- self.itemText:SetText(spellName)
adam@17 39 -- self.itemName = spellName
adam@17 40 -- else
adam@17 41 -- self.itemName = AskMrRobot.getEnchantName(enchantId)
adam@17 42 -- self.itemText:SetText(self.itemName)
adam@17 43 -- end
adam@0 44 else
adam@0 45 self:SetItemLink(nil)
adam@0 46 self.itemText:SetText('')
adam@0 47 end
adam@0 48 end
adam@0 49
adam@0 50 function AskMrRobot.EnchantLinkText:SetFontSize(fontSize)
adam@0 51 self.itemText:SetFontSize(fontSize)
adam@0 52 end
adam@0 53
adam@0 54 function AskMrRobot.EnchantLinkText:UseSpellName()
adam@0 55 self.useSpellName = true
adam@0 56 end
adam@0 57
adam@0 58 AskMrRobot.EnchantLinkIconAndText = AskMrRobot.inheritsFrom(AskMrRobot.EnchantLinkText)
adam@0 59
adam@0 60 function AskMrRobot.EnchantLinkIconAndText:new(name, parent)
adam@0 61 local o = AskMrRobot.EnchantLinkText:new(name, parent)
adam@0 62
adam@0 63 -- use the EnchantLinkIconAndText class
adam@0 64 setmetatable(o, { __index = AskMrRobot.EnchantLinkIconAndText })
adam@0 65
adam@0 66 o.iconFrame = AskMrRobot.Frame:new(nil, o)
adam@0 67 o.iconFrame:SetPoint("TOPLEFT", 0, 5)
adam@0 68 o.iconFrame:SetWidth(24)
adam@0 69 o.iconFrame:SetHeight(24)
adam@0 70
adam@0 71 o.icon = o.iconFrame:CreateTexture(nil, "BACKGROUND")
adam@0 72 o.icon:SetPoint("TOPLEFT")
adam@0 73 o.icon:SetPoint("BOTTOMRIGHT")
adam@0 74
adam@0 75 o.itemText:SetPoint("TOPLEFT", o.iconFrame, "TOPRIGHT", 4, -5)
adam@0 76
adam@0 77 o:SetRoundBorder()
adam@0 78
adam@0 79 return o
adam@0 80 end
adam@0 81
adam@0 82 function AskMrRobot.EnchantLinkIconAndText:SetRoundBorder()
adam@0 83 self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\round-edge", edgeSize = 8})
adam@0 84 end
adam@0 85
adam@0 86 function AskMrRobot.EnchantLinkIconAndText:SetSquareBorder()
adam@0 87 self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\square-edge", edgeSize = 8})
adam@0 88 end
adam@0 89
adam@0 90 function AskMrRobot.EnchantLinkIconAndText:SetEnchantId(enchantId)
adam@0 91 AskMrRobot.EnchantLinkText.SetEnchantId(self, enchantId)
adam@0 92 if enchantId and enchantId ~= 0 then
adam@17 93 --local texture = AskMrRobot.getEnchantIcon(enchantId)
adam@17 94 --self.icon:SetTexture('Interface/Icons/' .. texture)
adam@17 95 local enchantData = AskMrRobot.ExtraEnchantData[enchantId];
adam@17 96 local spellId = enchantData and enchantData.spellId
adam@17 97 local link = nil
adam@17 98 if spellId then
adam@17 99 link = 'enchant:' .. spellId
adam@17 100 local _, _, icon = GetSpellInfo(spellId)
adam@17 101 if icon then
adam@17 102 self.icon:SetTexture(icon)
adam@17 103 end
adam@17 104 end
adam@17 105
adam@0 106 self.iconFrame:Show()
adam@0 107 else
adam@0 108 self.iconFrame:Hide()
adam@0 109 end
adam@0 110 end
adam@0 111
adam@0 112 function AskMrRobot.EnchantLinkIconAndText:SetFontSize(fontSize)
adam@0 113 self.itemText:SetFontSize(fontSize)
adam@0 114 end