Next: Package_Gtk.Tree_Model, Previous: Package_Gtk.Toolbar, Up: Top
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;