







|

Jeder kennt sie. Wenn sie mit der Maus über einen Button oder ähnlich fahren,
popt aus heiterem Himmel eine Information über dessen Funktion auf.
Hier die Funktion zur Erstellung von Tooltips:
GtkTooltips *gtk_tooltips_new(void);
Um eine den neuen Tooltip einen bestimmten Widget zuzuordnen, verwendet man
die Funktion:
void gtk_tooltips_set_tip(GtkTooltip *tip, GtkWidget *widget,
const gchar *tiptext, const gchar *private);
Hiermit übergeben wir den Tooltip tip an das Widget widget mit dem Text tiptext.
Dem letzten Parameter benötigen wir nicht und übergeben somit NULL.
Wollen wir uns das ganze doch mal anhand eines Programms ansehen:
/*Download:gtktool.c*/
#include <gtk/gtk.h>
void ende_cb(GtkObject *object)
{
gtk_main_quit();
}
int main(int argc, char **argv)
{
GtkWidget *fenster;
GtkWidget *box;
GtkWidget *button_quit, *button;
GtkTooltips *tip1, *tip2;
/*Gtk initialisieren*/
gtk_init(&argc, &argv);
/*Ein neues Fenster erstellen*/
fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/*Buttons erstellen*/
button_quit = gtk_button_new_with_label("Ende");
button = gtk_button_new_with_label("Knopf");
/*Neue Box erstellen*/
box = gtk_vbox_new(TRUE,10);
tip1 = gtk_tooltips_new();
tip2 = gtk_tooltips_new();
gtk_tooltips_set_tip(tip1,button_quit, "Hiermit beenden sie das Programm", NULL);
gtk_tooltips_set_tip(tip2, button, "Dieser Knopf hat noch keine Funktion", NULL);
/*Signale registrieren*/
gtk_signal_connect_object(GTK_OBJECT(button_quit), "clicked",
GTK_SIGNAL_FUNC(ende_cb), GTK_OBJECT(fenster));
gtk_signal_connect(GTK_OBJECT(fenster), "destroy",
GTK_SIGNAL_FUNC(ende_cb), NULL);
/*Fensterposition*/
gtk_window_set_position(GTK_WINDOW(fenster),GTK_WIN_POS_CENTER);
gtk_container_set_border_width(GTK_CONTAINER(fenster),25);
gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 20);
gtk_box_pack_start(GTK_BOX(box), button_quit, FALSE, FALSE, 20);
gtk_container_add(GTK_CONTAINER(fenster),box);
/*Zeigs uns.....*/
gtk_widget_show_all(fenster);
gtk_main();
return 0;
}
|
Sobald sie sich mit dem Cursor über einem Button befinden, bekommen sie Information
über dessen Funktion.
Nun noch ein paar weitere Funktionen, die recht Nützlich sein können.
Wollen sie die Tooltips deaktivieren oder wieder aktivieren, so können sie
die Funktionen verwenden:
void gtk_tooltip_get_enable(GtkTooltip *tip);
void gtk_tooltip_get_disable(GtkTooltip *tip);
Wollen sie die Ausgabe des Tooltips um n Sekunden verzögern so können sie diese
Funktion einbauen:
void gtk_tooltip_set_delay(GtkTooltip *tip, gint delay);
Die Farbe des Tooltips können sie mit der Funktion:
void gtk_tooltip_set_colors(GtkTooltip *tip,
GdkColor Background, GdkColor Foreground);

© 2001,2002 Jürgen Wolf
|