not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / design / tooltips
blob7d4bbb58740a2ca4560b484878c64d29f2d4f3a9
1 Tooltips
2 ==========
4 Overview
5 --------
6 libplasma provides facilities to manage tooltips that display extended information in a visually pleasing and consistent manner for QGraphicsWidgets. These tooltip windows are themed using Plasma::Theme.
8 Timeline
9 --------
10 Introduced in: libplasma 2.1 (KDE 4.2.0)
12 Component Type
13 --------------
14 ToolTipManager is a QObject subclass in libplasma.
15 ToolTip is an internal QWidget subclass in libplasma.
17 Registering Tooltips
18 --------------------
19 ToolTipManger is quite simple to use: simply call setWidgetToolTipContent using the struct ToolTipContent. This causes the widget to be registered if it isn't already. Alternatively, for widgets that fill the data on demand, call registerWidget directly.
21 Widgets are unregistered automatically upon destruction, but can also be manually unregsitered by calling ToolTipMnager::unregisterWidget.
23 An event filter is registered on each registered widget and hover events that occur trigger calls to showToolTip and hideToolTip. The hover events are not, however, filtered out. 
25 Note: If another event filter is placed on registered widget that filters out these events, it may be necessary to manually call showToolTip and hideToolTip.
27 ToolTip Updates
28 ---------------
29 Updating tooltip data is supported by means of invoking slots on the associated widget if they exist. In particular, just prior to being shown the toolTipAboutToShow method is invoked and when hiding the toolTipHidden method is invoked.
31 ToolTip Visualization
32 ---------------------
33 The internal (non-exported) ToolTip class is used to actually display the tooltips. These are associated with widgets and created as necessary.
35 ToolTip displays are only created when data is set, and are deleted if an empty ToolTipData struct is passed in. This keeps memory usage due to ToolTip objects down.
37 Future Work
38 -----------
39 N/A