gtkmm: Gtk::Tooltip Class Reference

Add tips to your widgets. More...

#include <gtkmm/tooltip.h>

Inheritance diagram for Gtk::Tooltip:

Public Member Functions

 Tooltip (Tooltip&& src) noexcept
 
Tooltipoperator= (Tooltip&& src) noexcept
 
 ~Tooltip () noexceptoverride
 
GtkTooltip* gobj ()
 Provides access to the underlying C GObject. More...

 
const GtkTooltip* gobj () const
 Provides access to the underlying C GObject. More...

 
GtkTooltip* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

 
void set_markup (const Glib::ustring& markup)
 Sets the text of the tooltip to be markup, which is marked up with the [Pango text markup language][PangoMarkupFormat]. More...

 
void unset_markup ()
 Hide the label. More...

 
void set_text (const Glib::ustring& text)
 Sets the text of the tooltip to be text. More...

 
void unset_text ()
 Hide the label. More...

 
void set_icon (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
 Sets the icon of the tooltip (which is in front of the text) to be pixbuf. More...

 
void set_icon (const Glib::RefPtr< Gio::Icon >& gicon, IconSize size)
 Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by gicon with the size indicated by size. More...

 
void set_icon_from_icon_name (const Glib::ustring& icon_name, IconSize size)
 Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by icon_name with the size indicated by size. More...

 
void unset_icon ()
 Hide the image. More...

 
void set_custom (Widget& custom_widget)
 Replaces the widget packed into the tooltip with custom_widget. More...

 
void unset_custom ()
 Remove the custom widget. More...

 
void set_tip_area (const Gdk::Rectangle& rect)
 Sets the area of the widget, where the contents of this tooltip apply, to be rect (in widget coordinates). More...

 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
PropertyType get_property (const Glib::ustring &property_name) const
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src)
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
void remove_destroy_notify_callback (void *data) const
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 
static void trigger_tooltip_query (const Glib::RefPtr< Gdk::Display >& display)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::Tooltipwrap (GtkTooltip* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexceptoverride
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Detailed Description

Add tips to your widgets.

Basic tooltips can be realized simply by using set_tooltip_text() or set_tooltip_markup() without any explicit tooltip object.

When you need a tooltip with a little more fancy contents, like adding an image, or you want the tooltip to have different contents per Gtk::TreeView row or cell, you will have to do a little more work:

  • Call Gtk::Widget:set_has_tooltip(); this will make GTK+ monitor the widget for motion and related events which are needed to determine when and where to show a tooltip.
  • Connect to Gtk::Widget::signal_query_tooltip(). This signal will be emitted when a tooltip is supposed to be shown. One of the arguments passed to the signal handler is a Gtk::Tooltip object. This is the object that we are about to display as a tooltip, and can be manipulated in your callback using functions like Gtk::Tooltip::set_icon(). There are functions for setting the tooltip's markup, setting an image from a named icon, or even putting in a custom widget.
  • Return true from your query-tooltip handler. This causes the tooltip to be show. If you return false, it will not be shown.

In the probably rare case where you want to have even more control over the tooltip that is about to be shown, you can set your own Window which will be used as tooltip window. This works as follows:

Since gtkmm 2.12:

Constructor & Destructor Documentation

Gtk::Tooltip::Tooltip ( Tooltip&&  src)
noexcept
Gtk::Tooltip::~Tooltip ( )
overridenoexcept

Member Function Documentation

static GType Gtk::Tooltip::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

GtkTooltip* Gtk::Tooltip::gobj ( )
inline

Provides access to the underlying C GObject.

const GtkTooltip* Gtk::Tooltip::gobj ( ) const
inline

Provides access to the underlying C GObject.

GtkTooltip* Gtk::Tooltip::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Tooltip& Gtk::Tooltip::operator= ( Tooltip&&  src)
noexcept
void Gtk::Tooltip::set_custom ( Widget custom_widget)

Replaces the widget packed into the tooltip with custom_widget.

custom_widget does not get destroyed when the tooltip goes away. By default a box with a Gtk::Image and Gtk::Label is embedded in the tooltip, which can be configured using set_markup() and set_icon().

Since gtkmm 2.12:
Parameters
custom_widgetA Gtk::Widget, or nullptr to unset the old custom widget.
void Gtk::Tooltip::set_icon ( const Glib::RefPtr< Gdk::Pixbuf >&  pixbuf)

Sets the icon of the tooltip (which is in front of the text) to be pixbuf.

If pixbuf is nullptr, the image will be hidden.

Since gtkmm 2.12:
Parameters
pixbufA Gdk::Pixbuf, or nullptr.
void Gtk::Tooltip::set_icon ( const Glib::RefPtr< Gio::Icon > &  gicon,
IconSize  size 
)

Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by gicon with the size indicated by size.

If gicon is nullptr, the image will be hidden.

Since gtkmm 2.20:
Parameters
giconA Gio::Icon representing the icon, or nullptr.
sizeA stock icon size (Gtk::IconSize).
void Gtk::Tooltip::set_icon_from_icon_name ( const Glib::ustring icon_name,
IconSize  size 
)

Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by icon_name with the size indicated by size.

If icon_name is nullptr, the image will be hidden.

Since gtkmm 2.14:
Parameters
icon_nameAn icon name, or nullptr.
sizeA stock icon size (Gtk::IconSize).
void Gtk::Tooltip::set_markup ( const Glib::ustring markup)

Sets the text of the tooltip to be markup, which is marked up with the [Pango text markup language][PangoMarkupFormat].

If markup is nullptr, the label will be hidden.

Since gtkmm 2.12:
Parameters
markupA markup string (see [Pango markup format][PangoMarkupFormat]) or nullptr.
void Gtk::Tooltip::set_text ( const Glib::ustring text)

Sets the text of the tooltip to be text.

If text is nullptr, the label will be hidden. See also set_markup().

Since gtkmm 2.12:
Parameters
textA text string or nullptr.
void Gtk::Tooltip::set_tip_area ( const Gdk::Rectangle rect)

Sets the area of the widget, where the contents of this tooltip apply, to be rect (in widget coordinates).

This is especially useful for properly setting tooltips on Gtk::TreeView rows and cells, Gtk::IconViews, etc.

For setting tooltips on Gtk::TreeView, please refer to the convenience functions for this: Gtk::TreeView::set_tooltip_row() and Gtk::TreeView::set_tooltip_cell().

Since gtkmm 2.12:
Parameters
rectA Gdk::Rectangle.
static void Gtk::Tooltip::trigger_tooltip_query ( const Glib::RefPtr< Gdk::Display >&  display)
static
void Gtk::Tooltip::unset_custom ( )

Remove the custom widget.

Since gtkmm 3.2:
void Gtk::Tooltip::unset_icon ( )

Hide the image.

Since gtkmm 3.2:
void Gtk::Tooltip::unset_markup ( )

Hide the label.

Since gtkmm 3.2:
void Gtk::Tooltip::unset_text ( )

Hide the label.

Since gtkmm 3.2:

Friends And Related Function Documentation

Glib::RefPtr< Gtk::Tooltip > wrap ( GtkTooltip *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.