LDB DataObject Usage
When using LibQTipClick with a LibDataBroker DataObject, you must ensure that the tooltip stays on-screen when the mouse is hovering over it. One way to do this is to use DO.OnEnter() and DO.OnLeave() with a local HideTooltip() function, as so:
local function HideTooltip()
if MouseIsOver(tooltip) then return end
tooltip:SetScript("OnLeave", nil)
tooltip:Hide()
QTC:Release(tooltip)
tooltip = nil
end
function DO.OnEnter(self)
tooltip = QTC:Acquire("MyAddonTooltip", 4, "LEFT", "LEFT", "CENTER", "CENTER")
tooltip:Clear()
tooltip:SmartAnchorTo(self)
tooltip:SetScript("OnLeave", HideTooltip)
DisplayTooltip()
end
function DO.OnLeave(self) HideTooltip() end
Comments