LibQTip-1.0
LibQTip is designed replace GameTooltip - but with added functionality, such as multiple columns - from a minimalist design perspective.
Features
- Ability to display and handle multiple tooltips at the same time,
- Unlimited number of columns and lines,
- Column default and per cell justification,
- Tooltip default and per cell font setting,
- Colspans,
- Possibility to add custom cells,
- Optional scrollbar,
- Optional scripts for lines, columns, or cells,
- Optional automatic hiding,
- Frames and tables recycling to reduce resource footprint.
Caveats
Look here for information on embedding the latest beta/release.
In order to achieve effective frame recycling, tooltips must be released. Holding a tooltip leads to the creation of a full set of frames for every AddOn which does not follow this practice. Moreover, releasing a tooltip has a very little overhead compared to its benefits.
Known issues
- Alignment may be altered when using :SetScale after filling the tooltip.
Hey!
Will we get to see this updated for SL?
(PLEASE PLEASE PLEASE?)
Thanks for the good work so far!
PS: someone posted a working LibQTip-1.0.lua at https://pastebin.com/DxRyHy9C
In reply to Forge_User_53791259:
There has a typo in the patch.
from line 1163 to 1165 in LibQTip-1.0.lua
change to
Hello, using NPCScan in 8.2.5:
tnx
*NECRO*
Quick question, is it actually possible to embed a statusbar frame into a column via AddLine()? When I try it, it just shows up as a table in the specified column.
Thanks!
R
In reply to Forge_User_40027788:
In reply to Torhal:
In reply to Torhal:
In reply to Forge_User_40027788:
Sorry for spamming up your comments page :-\ I think the error was probably just faulty embedding the libraries into the add-on. I haven't been able to duplicate it.
In case you're wondering, the addon using this library is "Broker_WhisperWhisper" http://wow.curse.com/downloads/wow-addons/details/broker_whisperwhisper.aspx
Any idea what causes this error? (edit: Unfortunately I haven't been able to reproduce this either).
LibQTip-1.0\LibQTip-1.0.lua:906: <unnamed>:SetPoint(): <unnamed> is dependent on this
Full error:
Message: ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:906: <unnamed>:SetPoint(): <unnamed> is dependent on this Time: Thu Dec 30 21:51:29 2010 Count: 5 Stack: [C]: in function `SetPoint' ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:906: in function <...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:823> (tail call): ? ...dOns\Broker_WhisperWhisper\Broker_WhisperWhisper.lua:401: in function `_OnEnter_func' ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:1150: in function <...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:1145>
Locals: (*temporary) = <unnamed> { 0 = <userdata> _paddingL = 0 _paddingR = 0 _provider = <table> { } fontString = <unnamed> { } } (*temporary) = "LEFT" (*temporary) = <unnamed> { 0 = <userdata> justification = "LEFT" width = 0 }
Thanks. Not sure how I missed that... SetPoint did it though.
You could anchor the second tooltip to the cell you're hovering over, using second_tooltip:SetPoint(), but without actually seeing your code that's about as much explanation I can give.
I have a few unusual requests/comments.
I'm trying to create a mod under the LibDataBroker to mimic WhisperFu. With FuBar outdated and WhisperFu abandoned, it seems like this would be a much worthwhile direction. To manage the dropdown menus, I've been using LibQTip. However, I'm struggling at completely duplicating the functionality.
Previously, WhisperFu had used Dewdrop. When you hovered over a name on its drop-down list, it would then extend out a "level" and present a different drop-down list with your conversation. However, when I tried to use LibQTip, I couldn't find a way to make it so that a separate tooltip (the extended "level") would get anchored without overlapping the current tooltip (the main menu). The SmartAnchor seemed to always put them on top of each other.
I tried a different approaching of just making 2 columns, and having the 2nd column populate based on what you were highlighting in the first column. This time, however, the GUI became jumbled due to larger whispers. The text would wrap, which would increase the height of a row, which would juke things around a bit.
Can you think of any good approach to solving this problem?
Thanks in advance, - Blacksen
Thanks, with that I've already added support for the TipTac look to my and edited it in on other addons, still is there any chance you'd consider doing this on the library level? It would considerably improve visual consistency even though TipTac is a "special" case.
You're absolutely correct - they do not. TipTac has a list of frames which it decorates on its own. However; well over a year ago I worked with Aezay to augment TipTac's API so that other frames can "plug in" to it. I use the TipTac gradient for LibQTip tips, if it is loaded, in Ackis Recipe List, Broker_Currency, Collectinator, and a few other AddOns. Here's a snippet:
It's just that LibQTip tooltips don't fully pick up the theme set by tiptac, i've added screenshots to demonstrate.
LibQTip:
Regular: 
I use TipTac without issue. Why wouldn't they place nice?
From the reply to Kuzah do I understand that LibQTip tooltips will never play nicely with tooltip addons like Tiptac?
This is a problem with the AddOn that is using it - its LDB definition is ill-conceived, and is passing an incorrect value to :SmartAnchorTo().
I was wondering if the following error is a problem with LibQTip or the addon using it
1x LibQTip-1.0-31 (LibQTip-1.0):1102: attempt to call method 'GetCenter' (a nil value)
LibQTip-1.0-31 (LibQTip-1.0):1115: in function `SmartAnchorTo'
GuildAdmin-0.0.0.4f beta\GuildAdmin.lua:135: in function `OnEnter'
GuildAdmin-0.0.0.4f beta\GuildAdmin.lua:138: in function <GuildAdmin\GuildAdmin.lua:138>
Locals:
self = <unnamed> {
lines = <table> {}
columns = <table> {}
0 = <userdata>
scrollChild = <unnamed> {}
colspans = <table> {}
width = 51
headerFont = GameTooltipHeaderText {}
labelProvider = <table> {}
height = 2
regularFont = GameTooltipText {}
key = "GuildAdminTooltipFrame"
scrollFrame = <unnamed> {}
}
frame = <table> {
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = <unnamed> {
lines = <table> {}
columns = <table> {}
0 = <userdata>
scrollChild = <unnamed> {}
colspans = <table> {}
width = 51
headerFont = GameTooltipHeaderText {}
labelProvider = <table> {}
height = 2
regularFont = GameTooltipText {}
key = "GuildAdminTooltipFrame"
scrollFrame = <unnamed> {}
}
error = <function> defined =[C]:-1
GetTipAnchor = <function> @ LibQTip-1.0\LibQTip-1.0.lua:1101:
-