Class Tooltip

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class Tooltip extends GObject

Represents a widget tooltip.

Basic tooltips can be realized simply by using Widget.setTooltipText(String) or Widget.setTooltipMarkup(String) 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 GtkTreeView row or cell, you will have to do a little more work:

  • Set the Gtk.Widget:has-tooltip property to true. 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 the Gtk.Widget::query-tooltip signal. This signal will be emitted when a tooltip is supposed to be shown. One of the arguments passed to the signal handler is a GtkTooltip object. This is the object that we are about to display as a tooltip, and can be manipulated in your callback using functions like setIcon(Paintable). 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.

  • Constructor Details

    • Tooltip

      public Tooltip(MemorySegment address)
      Create a Tooltip instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • Tooltip

      public Tooltip()
      Create a new Tooltip.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the Tooltip class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected Tooltip asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class GObject
      Returns:
      the instance as if it were its parent type
    • setCustom

      public void setCustom(@Nullable Widget customWidget)
      Replaces the widget packed into the tooltip with customWidget. customWidget does not get destroyed when the tooltip goes away. By default a box with a GtkImage and GtkLabel is embedded in the tooltip, which can be configured using gtk_tooltip_set_markup() and gtk_tooltip_set_icon().
      Parameters:
      customWidget - a GtkWidget, or null to unset the old custom widget.
    • setIcon

      public void setIcon(@Nullable Paintable paintable)
      Sets the icon of the tooltip (which is in front of the text) to be paintable. If paintable is null, the image will be hidden.
      Parameters:
      paintable - a GdkPaintable
    • setIconFromGicon

      public void setIconFromGicon(@Nullable Icon gicon)
      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 null, the image will be hidden.
      Parameters:
      gicon - a GIcon representing the icon
    • setIconFromIconName

      public void setIconFromIconName(@Nullable String iconName)
      Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by iconName with the size indicated by size. If iconName is null, the image will be hidden.
      Parameters:
      iconName - an icon name
    • setMarkup

      public void setMarkup(@Nullable String markup)

      Sets the text of the tooltip to be markup.

      The string must be marked up with Pango markup. If markup is null, the label will be hidden.

      Parameters:
      markup - a string with Pango markup or NLL
    • setText

      public void setText(@Nullable String text)

      Sets the text of the tooltip to be text.

      If text is null, the label will be hidden. See also setMarkup(String).

      Parameters:
      text - a text string
    • setTipArea

      public void setTipArea(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 GtkTreeView rows and cells, GtkIconViews, etc.

      For setting tooltips on GtkTreeView, please refer to the convenience functions for this: gtk_tree_view_set_tooltip_row() and gtk_tree_view_set_tooltip_cell().

      Parameters:
      rect - a GdkRectangle
    • builder

      public static Tooltip.Builder<? extends Tooltip.Builder> builder()
      A Tooltip.Builder object constructs a Tooltip with the specified properties. Use the various set...() methods to set properties, and finish construction with Tooltip.Builder.build().
      Returns:
      the builder object