annotate ui/EnchantLinkText.lua @ 8:9302ca08f95b

Added tag release-1.2.12.0 for changeset 437e54a8a483
author Adam tegen <adam.tegen@gmail.com>
date Tue, 20 May 2014 23:57:32 -0500
parents ec731d2fe6ba
children e77e01abce98
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@0 21 self.itemName = nil
adam@0 22 if enchantId and enchantId ~= 0 then
adam@0 23 local spellId = AskMrRobot.getEnchantSpellId(enchantId)
adam@0 24 local link = nil
adam@0 25 if spellId then
adam@0 26 link = 'enchant:' .. spellId
adam@0 27 end
adam@0 28 self:SetItemLink(link)
adam@0 29 if self.useSpellName then
adam@0 30 local spellName = spellId and select(1, GetSpellInfo(spellId))
adam@0 31 self.itemText:SetText(spellName)
adam@0 32 self.itemName = spellName
adam@0 33 else
adam@0 34 self.itemName = AskMrRobot.getEnchantName(enchantId)
adam@0 35 self.itemText:SetText(self.itemName)
adam@0 36 end
adam@0 37 else
adam@0 38 self:SetItemLink(nil)
adam@0 39 self.itemText:SetText('')
adam@0 40 end
adam@0 41 end
adam@0 42
adam@0 43 function AskMrRobot.EnchantLinkText:SetFontSize(fontSize)
adam@0 44 self.itemText:SetFontSize(fontSize)
adam@0 45 end
adam@0 46
adam@0 47 function AskMrRobot.EnchantLinkText:UseSpellName()
adam@0 48 self.useSpellName = true
adam@0 49 end
adam@0 50
adam@0 51 AskMrRobot.EnchantLinkIconAndText = AskMrRobot.inheritsFrom(AskMrRobot.EnchantLinkText)
adam@0 52
adam@0 53 function AskMrRobot.EnchantLinkIconAndText:new(name, parent)
adam@0 54 local o = AskMrRobot.EnchantLinkText:new(name, parent)
adam@0 55
adam@0 56 -- use the EnchantLinkIconAndText class
adam@0 57 setmetatable(o, { __index = AskMrRobot.EnchantLinkIconAndText })
adam@0 58
adam@0 59 o.iconFrame = AskMrRobot.Frame:new(nil, o)
adam@0 60 o.iconFrame:SetPoint("TOPLEFT", 0, 5)
adam@0 61 o.iconFrame:SetWidth(24)
adam@0 62 o.iconFrame:SetHeight(24)
adam@0 63
adam@0 64 o.icon = o.iconFrame:CreateTexture(nil, "BACKGROUND")
adam@0 65 o.icon:SetPoint("TOPLEFT")
adam@0 66 o.icon:SetPoint("BOTTOMRIGHT")
adam@0 67
adam@0 68 o.itemText:SetPoint("TOPLEFT", o.iconFrame, "TOPRIGHT", 4, -5)
adam@0 69
adam@0 70 o:SetRoundBorder()
adam@0 71
adam@0 72 return o
adam@0 73 end
adam@0 74
adam@0 75 function AskMrRobot.EnchantLinkIconAndText:SetRoundBorder()
adam@0 76 self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\round-edge", edgeSize = 8})
adam@0 77 end
adam@0 78
adam@0 79 function AskMrRobot.EnchantLinkIconAndText:SetSquareBorder()
adam@0 80 self.iconFrame:SetBackdrop({edgeFile = "Interface\\AddOns\\AskMrRobot\\Media\\square-edge", edgeSize = 8})
adam@0 81 end
adam@0 82
adam@0 83 function AskMrRobot.EnchantLinkIconAndText:SetEnchantId(enchantId)
adam@0 84 AskMrRobot.EnchantLinkText.SetEnchantId(self, enchantId)
adam@0 85 if enchantId and enchantId ~= 0 then
adam@0 86 local texture = AskMrRobot.getEnchantIcon(enchantId)
adam@0 87 self.icon:SetTexture('Interface/Icons/' .. texture)
adam@0 88 self.iconFrame:Show()
adam@0 89 else
adam@0 90 self.iconFrame:Hide()
adam@0 91 end
adam@0 92 end
adam@0 93
adam@0 94 function AskMrRobot.EnchantLinkIconAndText:SetFontSize(fontSize)
adam@0 95 self.itemText:SetFontSize(fontSize)
adam@0 96 end