adam@0
|
1 local _, AskMrRobot = ...
|
adam@0
|
2
|
adam@0
|
3 AskMrRobot.ItemLinkText = AskMrRobot.inheritsFrom(AskMrRobot.ItemTooltipFrame)
|
adam@0
|
4
|
adam@0
|
5 function AskMrRobot.ItemLinkText: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.ItemLinkText })
|
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.ItemLinkText:SetFormat(formatText)
|
adam@0
|
21 self.formatText = formatText
|
adam@0
|
22 end
|
adam@0
|
23
|
yellowfive@31
|
24 function AskMrRobot.ItemLinkText:SetItem(itemObj)
|
yellowfive@31
|
25 -- blank/nil
|
yellowfive@31
|
26 if itemObj == nil or itemObj.id == nil or itemObj.id == 0 then
|
yellowfive@31
|
27 self.itemText:SetText("empty")
|
adam@0
|
28 self.itemText:SetTextColor(0.5,0.5,0.5)
|
adam@0
|
29 self:SetItemLink(nil)
|
yellowfive@31
|
30 return
|
yellowfive@31
|
31 end
|
yellowfive@31
|
32
|
yellowfive@31
|
33 local itemName, itemLink = GetItemInfo(AskMrRobot.createItemLink(itemObj))
|
yellowfive@31
|
34 self:SetItemLink(itemLink)
|
yellowfive@31
|
35 if itemLink then
|
yellowfive@31
|
36 self.itemName = itemName
|
yellowfive@31
|
37 if self.formatText then
|
yellowfive@31
|
38 self.itemText:SetFormattedText(self.formatText, itemLink:gsub("%[", ""):gsub("%]", ""))
|
yellowfive@31
|
39 else
|
yellowfive@31
|
40 self.itemText:SetText(itemLink:gsub("%[", ""):gsub("%]", ""))
|
yellowfive@31
|
41 end
|
yellowfive@31
|
42 else
|
yellowfive@31
|
43 self.itemText:SetFormattedText("unknown (%d)", itemId)
|
yellowfive@31
|
44 self.itemText:SetTextColor(1,1,1)
|
yellowfive@31
|
45 AskMrRobot.RegisterItemInfoCallback(itemId, function(name, itemLink2)
|
yellowfive@31
|
46 if self.formatText then
|
yellowfive@31
|
47 self.itemText:SetFormattedText(self.formatText, itemLink2:gsub("%[", ""):gsub("%]", ""))
|
yellowfive@31
|
48 else
|
yellowfive@31
|
49 self.itemText:SetText(itemLink2:gsub("%[", ""):gsub("%]", ""))
|
yellowfive@31
|
50 end
|
yellowfive@31
|
51 self:SetItemLink(itemLink2)
|
yellowfive@31
|
52 self.itemName = name
|
yellowfive@31
|
53 end)
|
yellowfive@31
|
54 end
|
yellowfive@31
|
55 end
|
yellowfive@31
|
56
|
yellowfive@31
|
57 function AskMrRobot.ItemLinkText:SetItemId(itemId)
|
yellowfive@31
|
58
|
yellowfive@31
|
59 self:SetItem({
|
yellowfive@31
|
60 id = itemId,
|
yellowfive@31
|
61 enchantId = 0,
|
yellowfive@31
|
62 gemIds = {0,0,0,0},
|
yellowfive@31
|
63 suffixId = 0,
|
yellowfive@31
|
64 upgradeId = 0
|
yellowfive@31
|
65 })
|
yellowfive@31
|
66
|
adam@0
|
67 end
|
adam@0
|
68
|
adam@0
|
69 function AskMrRobot.ItemLinkText:SetFontSize(fontSize)
|
adam@0
|
70 self.itemText:SetFontSize(fontSize)
|
adam@0
|
71 end |