You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
|
4 years ago
|
local TSM = select(2, ...)
|
||
|
|
local L = LibStub("AceLocale-3.0"):GetLocale("TradeSkillMaster_Shopping") -- loads the localization table
|
||
|
|
|
||
|
|
local private = {}
|
||
|
|
|
||
|
|
function private.Create(parent)
|
||
|
|
local frame = CreateFrame("Frame", nil, parent)
|
||
|
|
frame:Hide()
|
||
|
|
frame:SetAllPoints()
|
||
|
|
frame:SetScript("OnShow", private.UpdateSTData)
|
||
|
|
frame:SetScript("OnUpdate", function(self)
|
||
|
|
if #TSM.Util.shoppingLog ~= self.numLogEntries then
|
||
|
|
private.UpdateSTData(self)
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
TSMAPI.Design:SetFrameColor(frame)
|
||
|
|
|
||
|
|
local stHandlers = {
|
||
|
|
OnEnter = function(_, data, self)
|
||
|
|
if not data then return end
|
||
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
|
||
|
|
TSMAPI:SafeTooltipLink(data.link)
|
||
|
|
GameTooltip:Show()
|
||
|
|
end,
|
||
|
|
OnLeave = function()
|
||
|
|
GameTooltip:ClearLines()
|
||
|
|
GameTooltip:Hide()
|
||
|
|
end
|
||
|
|
}
|
||
|
|
local colInfo = {
|
||
|
|
{name=L["Item"], width=0.40},
|
||
|
|
{name=L["Action"], width=0.15, align="CENTER"},
|
||
|
|
{name=L["Num"], width=0.13, align="CENTER"},
|
||
|
|
{name=L["Buyout"], width=0.25, align="RIGHT"},
|
||
|
|
}
|
||
|
|
frame.st = TSMAPI:CreateScrollingTable(frame, colInfo, stHandlers, 12)
|
||
|
|
frame.st:DisableSelection(true)
|
||
|
|
frame.st:DisableHighlight(true)
|
||
|
|
|
||
|
|
return frame
|
||
|
|
end
|
||
|
|
|
||
|
|
function private.UpdateSTData(frame)
|
||
|
|
local stData = {}
|
||
|
|
for i=#TSM.Util.shoppingLog, 1, -1 do
|
||
|
|
local entry = TSM.Util.shoppingLog[i]
|
||
|
|
local row = {
|
||
|
|
cols = {
|
||
|
|
{value=entry.link},
|
||
|
|
{value=entry.action},
|
||
|
|
{value=entry.count},
|
||
|
|
{value=TSMAPI:FormatTextMoney(entry.buyout)},
|
||
|
|
},
|
||
|
|
link = entry.link
|
||
|
|
}
|
||
|
|
tinsert(stData, row)
|
||
|
|
end
|
||
|
|
frame.st:SetData(stData)
|
||
|
|
frame.numLogEntries = #TSM.Util.shoppingLog
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
TSM:AddSidebarFeature(L["Log"], private.Create)
|
||
|
|
end
|