Next: , Previous: Package_Gtk.Toolbar, Up: Top



Package Gtk.Tooltips

Tooltips are the small text windows that popup when the mouse rests over a widget, and that provide a quick help for the user.

In GtkAda, all tooltips belong to a group (a Gtk_Tooltips). All the individual tooltips in a group can be disabled or enabled at the same time. Likewise, the colors and style of a tooltip can be set on a group basis.

See the example at the end for how to change the default colors used for tooltips.

Widget Hierarchy
     GObject                       (see Package_Glib.Object)
     Gtk_Object                    (see Package_Gtk.Object)
        \___ Gtk_Tooltips          (see Package_Gtk.Tooltips)
     

Subprograms
procedure Gtk_New (Widget : out Gtk_Tooltips);
Create a new group of tooltips.

function Get_Type return Glib.GType;
Return the internal value associated with a Gtk_Tooltips.

procedure Enable (Tooltips : access Gtk_Tooltips_Record);
Enable all the tooltips in the group.
From now on, when the mouse rests over a widget for a short period of time, the help text is automatically displayed.

procedure Disable (Tooltips : access Gtk_Tooltips_Record);
Disable all the tooptips in the group.
From now on, no tooltips in this group will appear, unless they are re-enabled.

procedure Set_Tip (Tooltips : access Gtk_Tooltips_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class; Tip_Text : UTF8_String; Tip_Private : UTF8_String := "");
Add a new tooltip to Widget.
The message that appears in the tooltip is Tip_Text, and the tooltip belongs to the group Tooltips. Tip_Private contains more information, that can be displayed by a Gtk_Tips_Query widget through the "widget_selected" signal. In most cases, Tip_Private should simply keep its default empty value.

function Get_Data (Widget : access Gtk.Widget.Gtk_Widget_Record'Class) return Tooltips_Data;
Return the tooltip data associated with the Widget.
If there is none, the two text fields in the returned structure have a length 0.

procedure Force_Window (Widget : access Gtk_Tooltips_Record);
Make sure the window in which the tooltips will be displayed is
created. This is useful if you want to modify some characteristics of that window.

Example

     
      --  This example demonstrates how you can change the color scheme used
      --  for tooltips.
      --  This is of course done through styles. However, you can not directly
      --  associate a Gtk_Tooltips with a style, so you have to do the following.
     
      --  Note also that this choice should probably left to the user, who can
      --  modify it through a RC file that contains the following:
      --      style "postie"
      --      {
      --         bg[NORMAL]={1.0, 0.93, 0.22}
      --      }
      --      widget "gtk-tooltips*" style "postie"
     
      with Gtk.Tooltips, Gtk.Style, Gtk.Enums, Gtk.Widget, Gdk.Color;
      use Gtk.Tooltips, Gtk.Style, Gtk.Enums, Gtk.Widget, Gdk.Color;
     
      procedure Tooltips is
         Style : Gtk_Style;
         Tips  : Gtk_Tooltips;
         Color : Gdk_Color;
      begin
         Gtk_New (Style);
     
         --  blue foreground
         Set_Rgb (Color, 255, 255, 65535);
         Alloc (Get_Default_Colormap, Color);
         Set_Foreground (Style, State_Normal, Color);
     
         --  green background
         Set_Rgb (Color, 255, 65535, 255);
         Alloc (Get_Default_Colormap, Color);
         Set_Background (Style, State_Normal, Color);
     
         Gtk_New (Tips);
         Force_Window (Tips);
      end Tooltips;