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;