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 |