comparison gtk/dw.c @ 1389:0512fbb08abf

Added dw_window_set_tooltip() for adding bubble help to most controls. Mac, Windows and GTK should be supported... OS/2 coming soon.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 26 Nov 2011 21:00:14 +0000
parents 8fe15c1648c9
children 614fb124d2e2
comparison
equal deleted inserted replaced
1388:8fe15c1648c9 1389:0512fbb08abf
4391 gtk_widget_show(tmp); 4391 gtk_widget_show(tmp);
4392 if(text) 4392 if(text)
4393 { 4393 {
4394 tooltips = gtk_tooltips_new(); 4394 tooltips = gtk_tooltips_new();
4395 gtk_tooltips_set_tip(tooltips, tmp, text, NULL); 4395 gtk_tooltips_set_tip(tooltips, tmp, text, NULL);
4396 gtk_object_set_data(GTK_OBJECT(tmp), "tooltip", (gpointer)tooltips); 4396 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_tooltip", (gpointer)tooltips);
4397 } 4397 }
4398 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4398 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4399 DW_MUTEX_UNLOCK; 4399 DW_MUTEX_UNLOCK;
4400 return tmp; 4400 return tmp;
4401 } 4401 }
4452 gtk_widget_show( button ); 4452 gtk_widget_show( button );
4453 if ( text ) 4453 if ( text )
4454 { 4454 {
4455 tooltips = gtk_tooltips_new(); 4455 tooltips = gtk_tooltips_new();
4456 gtk_tooltips_set_tip( tooltips, button, text, NULL ); 4456 gtk_tooltips_set_tip( tooltips, button, text, NULL );
4457 gtk_object_set_data( GTK_OBJECT(button), "tooltip", (gpointer)tooltips ); 4457 gtk_object_set_data( GTK_OBJECT(button), "_dw_tooltip", (gpointer)tooltips );
4458 } 4458 }
4459 gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) ); 4459 gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) );
4460 DW_MUTEX_UNLOCK; 4460 DW_MUTEX_UNLOCK;
4461 return button; 4461 return button;
4462 } 4462 }
4489 gtk_widget_show(tmp); 4489 gtk_widget_show(tmp);
4490 if(text) 4490 if(text)
4491 { 4491 {
4492 tooltips = gtk_tooltips_new(); 4492 tooltips = gtk_tooltips_new();
4493 gtk_tooltips_set_tip(tooltips, tmp, text, NULL); 4493 gtk_tooltips_set_tip(tooltips, tmp, text, NULL);
4494 gtk_object_set_data(GTK_OBJECT(tmp), "tooltip", (gpointer)tooltips); 4494 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_tooltip", (gpointer)tooltips);
4495 } 4495 }
4496 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4496 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4497 DW_MUTEX_UNLOCK; 4497 DW_MUTEX_UNLOCK;
4498 return tmp; 4498 return tmp;
4499 } 4499 }
4918 if ( tmp && GTK_IS_LABEL(tmp) ) 4918 if ( tmp && GTK_IS_LABEL(tmp) )
4919 gtk_label_set_text(GTK_LABEL(tmp), text); 4919 gtk_label_set_text(GTK_LABEL(tmp), text);
4920 else /* assume groupbox */ 4920 else /* assume groupbox */
4921 gtk_frame_set_label(GTK_FRAME(handle), text && *text ? text : NULL); 4921 gtk_frame_set_label(GTK_FRAME(handle), text && *text ? text : NULL);
4922 } 4922 }
4923 DW_MUTEX_UNLOCK;
4924 }
4925
4926 /*
4927 * Sets the text used for a given window's floating bubble help.
4928 * Parameters:
4929 * handle: Handle to the window (widget).
4930 * bubbletext: The text in the floating bubble tooltip.
4931 */
4932 void API dw_window_set_tooltip(HWND handle, char *bubbletext)
4933 {
4934 int _locked_by_me = FALSE;
4935 GtkTooltips *tooltips;
4936
4937 DW_MUTEX_LOCK;
4938 tooltips = gtk_tooltips_new();
4939 gtk_tooltips_set_tip(tooltips, handle, bubbletext ? bubbletext : "", NULL);
4940 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_tooltip", (gpointer)tooltips);
4923 DW_MUTEX_UNLOCK; 4941 DW_MUTEX_UNLOCK;
4924 } 4942 }
4925 4943
4926 /* 4944 /*
4927 * Gets the text used for a given window. 4945 * Gets the text used for a given window.