Added a new GTK_IN_REPARENT flag and revised gtk_widget_reparent so that

Sat Jan 31 21:26:27 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c: Added a new GTK_IN_REPARENT flag and revised
	  gtk_widget_reparent so that the child would not be unrealized
	  unnecessarily. Changed gtk_widget_unrealize () to recursively
	  unrealize the children (since the child windows will be
	  destroyed too.)
This commit is contained in:
Owen Taylor
1998-02-01 02:28:14 +00:00
committed by Owen Taylor
parent a11062b2d9
commit 1522f2ae59
9 changed files with 102 additions and 33 deletions

View File

@ -57,7 +57,11 @@ enum
GTK_HAS_SHAPE_MASK = 1 << 22,
GTK_LEAVE_PENDING = 1 << 23,
GTK_TOPLEVEL = 1 << 24,
GTK_TOPLEVEL_ONSCREEN = 1 << 25
GTK_TOPLEVEL_ONSCREEN = 1 << 25,
/* Private flag. If set, don't unrealize a widget when it is removed
* from its parent. Used by gtk_widget_reparent().
*/
GTK_IN_REPARENT = 1 << 26
};
@ -102,6 +106,7 @@ enum
#define GTK_WIDGET_LEAVE_PENDING(obj) (GTK_OBJECT_FLAGS (obj) & GTK_LEAVE_PENDING)
#define GTK_WIDGET_TOPLEVEL(obj) (GTK_OBJECT_FLAGS (obj) & GTK_TOPLEVEL)
#define GTK_WIDGET_TOPLEVEL_ONSCREEN(obj) (GTK_OBJECT_FLAGS (obj) & GTK_TOPLEVEL_ONSCREEN)
#define GTK_WIDGET_IN_REPARENT(obj) (GTK_OBJECT_FLAGS (obj) & GTK_IN_REPARENT)
#define GTK_TYPE_WIDGET (gtk_widget_get_type ())