mirror of
https://github.com/MarkuruThunderhoof/RecipeRadar.git
synced 2026-10-13 17:00:51 +00:00
Now usable with "custom git addon" feature of launchers
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
|
||||
-- AvailabilityTooltip.lua: handles the recipe availability tooltip
|
||||
-- $Id: AvailabilityTooltip.lua 282 2006-04-12 08:41:25Z jnmiller $
|
||||
|
||||
function RecipeRadar_AvailabilityTooltip_AddLine(msg, color)
|
||||
|
||||
if (RecipeRadarAvailabilityTooltip.Lines ==
|
||||
RecipeRadar_AvailabilityTooltip_MaxLines) then
|
||||
RecipeRadar_Print("ASSERT FAILED: tooltip has too many lines.")
|
||||
return
|
||||
end
|
||||
|
||||
local line_num = RecipeRadarAvailabilityTooltip.Lines + 1
|
||||
local line = getglobal("RecipeRadarAvailabilityTooltipText" .. line_num)
|
||||
|
||||
-- handle null colors
|
||||
if (color) then
|
||||
line:SetTextColor(color.r, color.g, color.b)
|
||||
else
|
||||
line:SetTextColor(1, 1, 1)
|
||||
end
|
||||
|
||||
-- handle null messages
|
||||
if (not msg or msg == "") then
|
||||
line:SetText(" ")
|
||||
else
|
||||
line:SetText(msg)
|
||||
end
|
||||
|
||||
line:Show()
|
||||
|
||||
RecipeRadarAvailabilityTooltip.Lines = line_num
|
||||
|
||||
end
|
||||
|
||||
function RecipeRadar_AvailabilityTooltip_Show(frame)
|
||||
|
||||
if (not frame or RecipeRadarAvailabilityTooltip.Lines == 0) then
|
||||
RecipeRadar_AvailabilityTooltip_Hide()
|
||||
return
|
||||
end
|
||||
|
||||
-- calculate the width of the tooltip
|
||||
local height = 20
|
||||
local width = 0
|
||||
for i = 1, RecipeRadarAvailabilityTooltip.Lines do
|
||||
local line = getglobal("RecipeRadarAvailabilityTooltipText" .. i)
|
||||
height = height + line:GetHeight() + 2
|
||||
if (line:GetWidth() + 20 > width) then
|
||||
width = line:GetWidth() + 20
|
||||
end
|
||||
end
|
||||
|
||||
RecipeRadarAvailabilityTooltip:SetWidth(width)
|
||||
RecipeRadarAvailabilityTooltip:SetHeight(height)
|
||||
RecipeRadarAvailabilityTooltip:ClearAllPoints()
|
||||
|
||||
-- place on the left or right according to the position of the main frame
|
||||
local frame_left = (frame:GetLeft() or 0) - width
|
||||
local frame_right = GetScreenWidth() - (frame:GetRight() or 0) - width
|
||||
|
||||
local offset = 0
|
||||
if (RecipeRadar_Options.ActiveTab == 2) then
|
||||
offset = RECIPERADAR_VENDOR_OFFSET
|
||||
end
|
||||
|
||||
if (frame_left < frame_right) then
|
||||
if (RecipeRadarListScrollFrame:IsVisible()) then
|
||||
RecipeRadarAvailabilityTooltip:SetPoint(
|
||||
"TOPLEFT", frame:GetName(), "TOPRIGHT", 35, 0)
|
||||
else
|
||||
RecipeRadarAvailabilityTooltip:SetPoint(
|
||||
"TOPLEFT", frame:GetName(), "TOPRIGHT", 13, 0)
|
||||
end
|
||||
else
|
||||
RecipeRadarAvailabilityTooltip:SetPoint(
|
||||
"TOPRIGHT", frame:GetName(), "TOPLEFT", -33 + offset, 0)
|
||||
end
|
||||
|
||||
-- basic drawing code
|
||||
RecipeRadarAvailabilityTooltip:SetBackdropColor(
|
||||
TOOLTIP_DEFAULT_BACKGROUND_COLOR.r,
|
||||
TOOLTIP_DEFAULT_BACKGROUND_COLOR.g,
|
||||
TOOLTIP_DEFAULT_BACKGROUND_COLOR.b)
|
||||
RecipeRadarAvailabilityTooltip:Show()
|
||||
|
||||
end
|
||||
|
||||
function RecipeRadar_AvailabilityTooltip_Hide()
|
||||
|
||||
for i = 1, RecipeRadarAvailabilityTooltip.Lines do
|
||||
getglobal("RecipeRadarAvailabilityTooltipText" .. i):Hide()
|
||||
end
|
||||
|
||||
RecipeRadarAvailabilityTooltip.Lines = 0
|
||||
--RecipeRadarAvailabilityTooltip:Hide()
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user