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 |