comparison gtk/dw.c @ 272:49ac97060328

Fixes for default window size when the window does not have the sizeable attribute set.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 05 Mar 2003 20:55:33 +0000
parents 38d8908c4438
children 95bfcd2deb94
comparison
equal deleted inserted replaced
271:38d8908c4438 272:49ac97060328
1190 1190
1191 DW_MUTEX_LOCK; 1191 DW_MUTEX_LOCK;
1192 gtk_widget_show(handle); 1192 gtk_widget_show(handle);
1193 if(GTK_WIDGET(handle)->window) 1193 if(GTK_WIDGET(handle)->window)
1194 { 1194 {
1195 int width = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_width");
1196 int height = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_height");
1197
1198 if(width && height)
1199 {
1200 gdk_window_resize(GTK_WIDGET(handle)->window, width, height);
1201 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", 0);
1202 gtk_object_set_data(GTK_OBJECT(handle), "_dw_height", 0);
1203 }
1204
1195 gdk_window_raise(GTK_WIDGET(handle)->window); 1205 gdk_window_raise(GTK_WIDGET(handle)->window);
1196 gdk_flush(); 1206 gdk_flush();
1197 gdk_window_show(GTK_WIDGET(handle)->window); 1207 gdk_window_show(GTK_WIDGET(handle)->window);
1198 gdk_flush(); 1208 gdk_flush();
1199 } 1209 }
1602 1612
1603 gdk_window_set_decorations(tmp->window, flags); 1613 gdk_window_set_decorations(tmp->window, flags);
1604 1614
1605 if(hwndOwner) 1615 if(hwndOwner)
1606 gdk_window_reparent(GTK_WIDGET(tmp)->window, GTK_WIDGET(hwndOwner)->window, 0, 0); 1616 gdk_window_reparent(GTK_WIDGET(tmp)->window, GTK_WIDGET(hwndOwner)->window, 0, 0);
1617
1618 if(flStyle & DW_FCF_SIZEBORDER)
1619 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_size", (gpointer)1);
1607 1620
1608 DW_MUTEX_UNLOCK; 1621 DW_MUTEX_UNLOCK;
1609 return tmp; 1622 return tmp;
1610 } 1623 }
1611 1624
5857 { 5870 {
5858 _size_allocate(GTK_WINDOW(handle)); 5871 _size_allocate(GTK_WINDOW(handle));
5859 if(handle->window) 5872 if(handle->window)
5860 gdk_window_resize(handle->window, width - _dw_border_width, height - _dw_border_height); 5873 gdk_window_resize(handle->window, width - _dw_border_width, height - _dw_border_height);
5861 gtk_window_set_default_size(GTK_WINDOW(handle), width - _dw_border_width, height - _dw_border_height); 5874 gtk_window_set_default_size(GTK_WINDOW(handle), width - _dw_border_width, height - _dw_border_height);
5875 if(!gtk_object_get_data(GTK_OBJECT(handle), "_dw_size"))
5876 {
5877 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", (gpointer)width - _dw_border_width);
5878 gtk_object_set_data(GTK_OBJECT(handle), "_dw_height", (gpointer)height - _dw_border_height);
5879 }
5862 } 5880 }
5863 else 5881 else
5864 gtk_widget_set_usize(handle, width, height); 5882 gtk_widget_set_usize(handle, width, height);
5865 DW_MUTEX_UNLOCK; 5883 DW_MUTEX_UNLOCK;
5866 } 5884 }