Richard & Tadej Many thanks! Here is what I did to make it kind of work: GtkWidget * e = gtk_text_view_new ( ) ; ... g_signal_connect ( G_OBJECT (e) , "query-tooltip" , G_CALLBACK (querytooltipcb) , NULL ) ; gtk_widget_set_has_tooltip ( e , true ) ; with experimental callback: static int counter=0; static gboolean querytooltipcb (GtkWidget * w, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data ) { printf ( "querytooltip(%d): x=%d y=%d kbm=%d tip=%d\n" , counter , x , y , keyboard_mode ? 1 : 0, (int)tooltip ) ; char text [ 400 ] ; sprintf ( text , Hello #%d (%d,%d)\nSecond line.\nThird line.\n" , counter , x , y ) ; gtk_tooltip_set_text ( tooltip, text ); counter++; return TRUE ; } querytooltipcb is called while the mouse moves. I expected it to be called only when the cursor has been steady for a short period of time. When the mouse stops the tooltip text appears. Then while the mouse is moved again querytooltipcb is called, but the the tooltip remains in the same position (text is changed by the callback to show call # and x,y). When I stop moving the mouse the tooltip still remains. Clicking anywhere on the screen makes it disappear. I would like the tooltip to disappear when the mouse has moved sufficiently far away from it. That would make it nicer for the user who can sniff around on the screen from one technical phrase to another without having to make the old tooltip disappear. The gtk_tooltip_set_tip_area(tooltip, &rect) may solve this, but I don't know how to use it. By the way, the codeblocks IDE behaves like this when I let the cursor hover in the source text. Finally, is there a way to change background colour of a tooltip area? Regards Ken --- On Thu, 20/5/10, Tadej Borovšak <tadeboro gmail com> wrote:
|