From 993e98ba9b9d33672bdc106c0cb45d1781d5886c Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Tue, 29 Sep 2015 20:54:08 +0200 Subject: [PATCH] more detailed tooltips in buy tab --- buy.lua | 23 +++++++++-------------- info.lua | 32 +++++++++++++++----------------- 2 files changed, 24 insertions(+), 31 deletions(-) diff --git a/buy.lua b/buy.lua index b0e8f13..57c58d5 100644 --- a/buy.lua +++ b/buy.lua @@ -46,7 +46,7 @@ function AuxBuySearchButton_OnClick() local stack_size = auction_item.charges or auction_item.count if auction_item.name == search_query.name or name == '' or not AuxBuyExactCheckButton:GetChecked() then - record_auction(auction_item.name, auction_item.tooltip, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.hyperlink) + record_auction(auction_item.name, auction_item.tooltip, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.hyperlink, auction_item.itemstring) end end, on_complete = function() @@ -138,7 +138,7 @@ function AuxBuyBuySelectedButton_OnClick() end else if auction_item.name == search_query.name then - record_auction(auction_item.name, auction_item.tooltip, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.hyperlink) + record_auction(auction_item.name, auction_item.tooltip, stack_size, auction_item.buyout_price, auction_item.quality, auction_item.owner, auction_item.hyperlink, auction_item.itemstring) end end end, @@ -176,23 +176,17 @@ end function AuxBuyEntry_OnEnter() local i = this:GetID() local entry = entries[i] - - -- Aux.info.set_game_tooltip(this, entry.tooltip) - local _, _, item_string = strfind(entry.hyperlink, "^|%x+|H(.+)|h%[.+%]") - if item_string then - GameTooltip:SetOwner(this, "ANCHOR_RIGHT") - GameTooltip:SetHyperlink(item_string) - GameTooltip:Show() - - if(EnhTooltip ~= nil) then - EnhTooltip.TooltipCall(GameTooltip, entry.name, entry.hyperlink, entry.quality, entry.stackSize) - end + + Aux.info.set_game_tooltip(this, entry.tooltip) + + if(EnhTooltip ~= nil) then + EnhTooltip.TooltipCall(GameTooltip, entry.name, entry.hyperlink, entry.quality, entry.stackSize) end end ----------------------------------------- -function record_auction(name, tooltip, stack_size, buyout_price, quality, owner, hyperlink) +function record_auction(name, tooltip, stack_size, buyout_price, quality, owner, hyperlink, itemstring) entries = entries or {} if buyout_price > 0 and owner ~= UnitName("player") then @@ -204,6 +198,7 @@ function record_auction(name, tooltip, stack_size, buyout_price, quality, owner, itemPrice = buyout_price / stack_size, quality = quality, hyperlink = hyperlink, + itemstring = itemstring, }) end diff --git a/info.lua b/info.lua index c7e6ca8..ec8fa5f 100644 --- a/info.lua +++ b/info.lua @@ -78,12 +78,8 @@ end function Aux.info.set_game_tooltip(owner, tooltip) GameTooltip:SetOwner(owner, "ANCHOR_RIGHT") - for i, line in ipairs(tooltip) do - snipe.log(line[1].text) - getglobal('GameTooltipTextLeft'..i):SetText(line[1].text) - getglobal('GameTooltipTextLeft'..i):SetTextColor(line[1].color[1], line[1].color[2], line[1].color[3], line[1].color[4]) - getglobal('GameTooltipTextRight'..i):SetText(line[2].text) - getglobal('GameTooltipTextRight'..i):SetTextColor(line[2].color[1], line[2].color[2], line[2].color[3], line[2].color[4]) + for _, line in ipairs(tooltip) do + GameTooltip:AddDoubleLine(line[1].text, line[2].text, line[1].r, line[1].b, line[1].g, line[2].r, line[2].b, line[2].g, true) end GameTooltip:Show() end @@ -100,12 +96,15 @@ function Aux.info.tooltip(setter) local tooltip = {} for i = 1, 30 do - local left_text = getglobal('AuxInfoTooltipTextLeft'..i):GetText() - local left_color = { getglobal('AuxInfoTooltipTextLeft'..i):GetTextColor() } - local right_text = getglobal('AuxInfoTooltipTextRight'..i):GetText() - local right_color = { getglobal('AuxInfoTooltipTextRight'..i):GetTextColor() } + local left, right = {}, {} - tinsert(tooltip, {{ text=left_text, color=left_color }, { text=right_text, color=right_color }}) + left.text = getglobal('AuxInfoTooltipTextLeft'..i):GetText() + left.r, left.b, left.g = getglobal('AuxInfoTooltipTextLeft'..i):GetTextColor() + + right.text = getglobal('AuxInfoTooltipTextRight'..i):GetText() + right.r, right.b, right.g = getglobal('AuxInfoTooltipTextRight'..i):GetTextColor() + + tinsert(tooltip, {left, right}) end for i = 1, 30 do @@ -118,10 +117,8 @@ end function item_charges(tooltip) for _, line in ipairs(tooltip) do - local left_text = line[1].text or '' - local right_text = line[2].text or '' - local _, _, left_charges_string = strfind(left_text, "^(%d+) Charges") - local _, _, right_charges_string = strfind(right_text, "^(%d+) Charges$") + local _, _, left_charges_string = strfind(line[1].text or '', "^(%d+) Charges") + local _, _, right_charges_string = strfind(line[2].text or '', "^(%d+) Charges$") local charges = tonumber(left_charges_string) or tonumber(right_charges_string) if charges then return charges @@ -135,10 +132,11 @@ function item_id(hyperlink) end function hyperlink_item(hyperlink) - local name, link, quality, level, type, subtype, max_stack = GetItemInfo(item_id(hyperlink)) + local name, itemstring, quality, level, type, subtype, max_stack = GetItemInfo(item_id(hyperlink)) return { name = name, - hyperlink = link, + hyperlink = hyperlink, + itemstring = itemstring, quality = quality, level = level, type = type,