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.

Documentation

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Torhal Torhal Feb 27, 2010 at 01:51 UTC - 0 likes

    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().

  • Avatar of schmitty schmitty Feb 20, 2010 at 09:53 UTC - 0 likes

    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:

    -

  • Avatar of Torhal Torhal Sep 04, 2009 at 20:13 UTC - 0 likes

    LibQTip creates tooltip frames as they are needed, and when an AddOn is finished using one it goes into a "recycle bin" - if an AddOn needs a tooltip, it grabs one from there or creates one if none exist. Therefore, it isn't possible to do what you are trying to do - Broker_AllXP might release a tooltip, then Broker_Auditor grabs the same one because it needs a tooltip frame.

  • Avatar of Kuzah Kuzah Aug 26, 2009 at 21:03 UTC - 0 likes

    I probably should have given more details from the start.

    What I did was use TipTac and made it hide all borders and backgrounds for its tooltips. I then used kgPanels to parent and anchor panels to each of the tooltips (using the script feature to auto resize each frame). So far I've parented/anchored panels to gametooltip, itemreftooltip, shoppingtooltip1, shoppingtooltip2, shoppingtooltip3, and worldmaptooltip.

    The only thing that doesn't have a panel showing on the tooltip is Auditor (as far as I know it's the only addon in my ui that uses LibQTip [and showing it via Fortress, a LDB display]). However, if I put a background back via TipTac it shows a tooltip for Auditor. I've tried using kgPanels' frame finder, but it returns the usual list and a bunch of Unknown. I also tried using a macro "GetMouseFocus():GetName()" but that only says WorldFrame.

    TipTac had a list of tooltips in the lua which it skins. I've tried all the ones there, but can't get a panel on Auditor. Someone suggested I look at Auditor and find "Acquire('SomeTooltipName', 5, 'LEFT', 'CENTER')" and I found "Broker_AuditorTooltip", but when I tried that it didn't work either.

    Is there something like a mother frame I could parent/anchor to for all of LibQTip's tooltips?

  • Avatar of Adirelle Adirelle Aug 26, 2009 at 09:48 UTC - 0 likes

    LibQTip produces anonymous frames and even if it named them, you will have hard time doing something consistent because there are reused in undefined order.

  • Avatar of Kuzah Kuzah Aug 26, 2009 at 06:16 UTC - 0 likes

    Probably a long shot, but I was wondering if anyone could tell me what the name is for the frame that LibQTip produces.

    The kgpanel frame finder returns Unknown multiple times and the macro "/run DEFAULT_CHAT_FRAME:AddMessage(GetMouseFocus():GetName())" only says WorldFrame.

  • Avatar of AesirRising AesirRising May 09, 2009 at 02:02 UTC - 0 likes

    There have been several recent updates, and I'm hoping that at some point the TOC will be updated, too. Thanks. [I committed the change myself. Someone will be angry with me for some inane reason, but sometimes you just have to take a chance, yano?]

  • Avatar of merah merah Feb 21, 2009 at 12:58 UTC - 0 likes

    very nice replacement to Tablet, ggood lib, /thumbup

Facts

Date created
Oct 16, 2008
Categories
Last update
Nov 16, 2014
Development stage
Release
License
All Rights Reserved
Curse link
LibQTip-1.0
Reverse relationships
69
Downloads
352,964
Recent files

Authors

Relationships

Embedded library
LibStub