Mercurial > dwindows
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 |