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