comparison gtk/dw.c @ 1830:6b90c7e9e520

Attempt at fixing GTK 2.x issue with dw_window_set_bitmap() when bitmap button is created from data. Also removed dead code on 3.x.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 31 Oct 2012 10:48:25 +0000
parents 9c77567c5b2d
children ce7543633fef
comparison
equal deleted inserted replaced
1829:dc343df88ad8 1830:6b90c7e9e520
4600 * DW pick the appropriate file extension. 4600 * DW pick the appropriate file extension.
4601 * (BMP on OS/2 or Windows, XPM on Unix) 4601 * (BMP on OS/2 or Windows, XPM on Unix)
4602 */ 4602 */
4603 HWND dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename) 4603 HWND dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename)
4604 { 4604 {
4605 GtkWidget *bitmap; 4605 GtkWidget *tmp;
4606 GtkWidget *box;
4607 GtkWidget *button; 4606 GtkWidget *button;
4608 int _locked_by_me = FALSE; 4607 int _locked_by_me = FALSE;
4609 4608
4610 DW_MUTEX_LOCK; 4609 DW_MUTEX_LOCK;
4611
4612 /* Create box for image and label */
4613 box = gtk_hbox_new (FALSE, 0);
4614 gtk_container_set_border_width (GTK_CONTAINER (box), 2);
4615
4616 /* Create a new button */ 4610 /* Create a new button */
4617 button = gtk_button_new(); 4611 tmp = gtk_button_new();
4618 /* Now on to the image stuff */ 4612 /* Now on to the image stuff */
4619 bitmap = dw_bitmap_new(id); 4613 bitmap = dw_bitmap_new(id);
4620 if ( bitmap ) 4614 if ( bitmap )
4621 { 4615 {
4622 dw_window_set_bitmap( bitmap, 0, filename ); 4616 dw_window_set_bitmap( bitmap, 0, filename );
4623 /* Pack the image into the box */ 4617 gtk_container_add (GTK_CONTAINER(tmp), bitmap);
4624 gtk_box_pack_start( GTK_BOX(box), bitmap, TRUE, FALSE, 3 ); 4618 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_bitmap", bitmap);
4625 gtk_widget_show( bitmap );
4626 gtk_object_set_data(GTK_OBJECT(button), "_dw_bitmap", bitmap);
4627 } 4619 }
4628 4620
4629 /* Pack and show all our widgets */ 4621 /* Pack and show all our widgets */
4630 gtk_widget_show( box ); 4622 gtk_widget_show(tmp);
4631 gtk_container_add( GTK_CONTAINER(button), box ); 4623 _create_tooltip(tmp, text);
4632 gtk_widget_show( button ); 4624 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4633 _create_tooltip(button, text); 4625 DW_MUTEX_UNLOCK;
4634 gtk_object_set_data( GTK_OBJECT(button), "_dw_id", GINT_TO_POINTER(id) ); 4626 return tmp;
4635 DW_MUTEX_UNLOCK;
4636 return button;
4637 } 4627 }
4638 4628
4639 /* 4629 /*
4640 * Create a new bitmap button window (widget) to be packed from data. 4630 * Create a new bitmap button window (widget) to be packed from data.
4641 * Parameters: 4631 * Parameters: