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