comparison gtk/dw.c @ 1401:7266e030a3e3

Attempt at fixing tooltips for GTK2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 27 Nov 2011 20:37:33 +0000
parents ccd383e11ff8
children 8ff5b05318fb
comparison
equal deleted inserted replaced
1400:ccd383e11ff8 1401:7266e030a3e3
4366 return tmp; 4366 return tmp;
4367 } 4367 }
4368 4368
4369 void _create_tooltip(HWND handle, char *text) 4369 void _create_tooltip(HWND handle, char *text)
4370 { 4370 {
4371 GtkTooltips *tooltips = NULL; 4371 GtkTooltips *tooltips = (GtkTooltips *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tooltip");
4372 GtkWidget *oldtooltips = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tooltip"); 4372
4373 4373 if(!tooltips)
4374 if(oldtooltips)
4375 gtk_widget_destroy(oldtooltips);
4376 if(text)
4377 { 4374 {
4378 tooltips = gtk_tooltips_new(); 4375 tooltips = gtk_tooltips_new();
4376 gtk_object_set_data(GTK_OBJECT(handle), "_dw_tooltip", (gpointer)tooltips);
4377 }
4378 if(text && *text)
4379 {
4379 gtk_tooltips_set_tip(tooltips, handle, text, NULL); 4380 gtk_tooltips_set_tip(tooltips, handle, text, NULL);
4380 } 4381 gtk_tooltips_enable(tooltips);
4381 gtk_object_set_data(GTK_OBJECT(handle), "_dw_tooltip", (gpointer)tooltips); 4382 }
4383 else
4384 gtk_tooltips_disable(tooltips);
4382 } 4385 }
4383 4386
4384 /* 4387 /*
4385 * Create a new bitmap button window (widget) to be packed. 4388 * Create a new bitmap button window (widget) to be packed.
4386 * Parameters: 4389 * Parameters:
4456 4459
4457 /* Pack and show all our widgets */ 4460 /* Pack and show all our widgets */
4458 gtk_widget_show( box ); 4461 gtk_widget_show( box );
4459 gtk_container_add( GTK_CONTAINER(button), box ); 4462 gtk_container_add( GTK_CONTAINER(button), box );
4460 gtk_widget_show( button ); 4463 gtk_widget_show( button );
4461 _create_tooltip(tmp, text); 4464 _create_tooltip(button, text);
4462 gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) ); 4465 gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) );
4463 DW_MUTEX_UNLOCK; 4466 DW_MUTEX_UNLOCK;
4464 return button; 4467 return button;
4465 } 4468 }
4466 4469