Pixie Tooltip
Rich multi-column tooltips for your addon, from one build function.
Blizzard-native, mixin-based, no libraries.
Full guide on GitHub: every command and setting, step by step, in three levels.
Pixie Tooltip is for addon developers. It replaces hand-built GameTooltip lines and LibQTip with a simple build function: you describe the rows, Pixie Tooltip lays them out, keeps them interactive and redraws them when your data changes.
Features
- Columns: automatic or a fixed count; cells can be merged across columns
- Fixed header and footer: they stay in place while a long body scrolls
- Progress bars, images, separators and row backgrounds
- Interactive rows: click, mouse wheel and hover hints (text, item or spell links), per row or per cell
- Live refresh: call
Refresh()and the open tooltip redraws itself - Quick panels: a movable window with a close button and Esc support, from the same build function
- Key bindings: open a tooltip with a key, no XML needed
- Light on memory: frames, textures and tables are pooled and reused
- Clients: Retail, Mists of Pandaria Classic, Burning Crusade Classic Anniversary, Classic Era and WoW: Forever
Quick start
1. Add the dependency to your TOC
## Dependencies: PixieTooltip
2. Write a build function
local PixieTooltip = PixieTooltip
local CELL = PixieTooltip.CELL
local function Build(tip, header)
header:AddRow("Characters", nil, nil, date("%H:%M"))
header:AddSeparator("ffcc00", 1)
tip:AddRow("Name", "Level", "Gold", "Week")
tip:AddRow("Pixie", 80, "1234g", "+56g")
tip:AddRow({ "Total", CELL }, "1234g", "+56g")
end
3. Open it
PixieTooltip:Open(anchor, Build) -- automatic columns, not in combat
PixieTooltip:Open(anchor, Build, 4) -- 4 columns
PixieTooltip:Open(anchor, Build, 4, false) -- 4 columns, also in combat
4. Redraw it when your data changes
PixieTooltip:Refresh()
Simple to read
Three verbs, and every call chains:
Add...adds content:AddRow,AddSeparator,AddImageSet...changes the look:SetColor,SetFont,SetBar,SetAlign...On...reacts to the mouse:OnClick,OnWheel,OnHover
tip:AddRow("Backpack", "12 / 20")
:SetBar(12, 20, "3399ff")
:OnClick(function() ToggleBackpack() end)
Try it in game
The addon includes 24 examples in three levels (Simple, Advanced, Expert).
Type /ptt (or Esc > Options > AddOns > Pixie Tooltip) and hover a line to see each one.
One global
Pixie Tooltip creates one global variable, PixieTooltip. Everything else stays inside the module.
Documentation
The full guide, with every command and setting:
DOCUMENTATION.md on GitHub

