NAME
	  XtManageChildren, XtManageChild, XtUnmanageChildren, XtUn-
	  manageChild -	manage and unmanage children

     SYNTAX
	  typedef Widget *WidgetList;

	  void XtManageChildren(children, num_children)
		WidgetList children;
		Cardinal num_children;

	  void XtManageChild(child)
		Widget child;

	  void XtUnmanageChildren(children, num_children)
		WidgetList children;
		Cardinal num_children;

	  void XtUnmanageChild(child)
		Widget child;

     ARGUMENTS
	  child	    Specifies the child.

	  children  Specifies a	list of	child widgets.

	  num_children
		    Specifies the number of children.

     DESCRIPTION
	  The XtManageChildren function	performs the following:

	  o    Issues an error if the children do not all have the
	       same parent or if the parent is not a subclass of com-
	       positeWidgetClass.

	  o    Returns immediately if the common parent	is being des-
	       troyed; otherwise, for each unique child	on the list,
	       XtManageChildren	ignores	the child if it	already	is
	       managed or is being destroyed and marks it if not.

	  o    If the parent is	realized and after all children	have
	       been marked, it makes some of the newly managed chil-
	       dren viewable:

	       -    Calls the change_managed routine of	the widgets'
		    parent.

	       -    Calls XtRealizeWidget on each previously unmanaged
		    child that is unrealized.

	       -    Maps each previously unmanaged child that has

		    map_when_managed

		    True.

	  Managing children is independent of the ordering of children
	  and independent of creating and deleting children.  The lay-
	  out routine of the parent should consider children whose
	  managed field	is True	and should ignore all other children.
	  Note that some composite widgets, especially fixed boxes,
	  call XtManageChild from their	insert_child procedure.

	  If the parent	widget is realized, its	change_managed pro-
	  cedure is called to notify it	that its set of	managed	chil-
	  dren has changed.  The parent	can reposition and resize any
	  of its children.  It moves each child	as needed by calling
	  XtMoveWidget,	which first updates the	x and y	fields and
	  then calls XMoveWindow if the	widget is realized.

	  The XtManageChild function constructs	a WidgetList of	length
	  one and calls	XtManageChildren.

	  The XtUnmanageChildren function performs the following:

	  o    Issues an error if the children do not all have the
	       same parent or if the parent is not a subclass of com-
	       positeWidgetClass.

	  o    Returns immediately if the common parent	is being des-
	       troyed; otherwise, for each unique child	on the list,
	       XtUnmanageChildren performs the following:

	       -    Ignores the	child if it already is unmanaged or is
		    being destroyed and	marks it if not.

	       -    If the child is realized, it makes it nonvisible
		    by unmapping it.

	  o    Calls the change_managed	routine	of the widgets'	parent
	       after all children have been marked if the parent is
	       realized.

	  XtUnmanageChildren does not destroy the children widgets.
	  Removing widgets from	a parent's managed set is often	a tem-
	  porary banishment, and, some time later, you may manage the
	  children again.

	  The XtUnmanageChild function constructs a widget list	of
	  length one and calls XtUnmanageChildren.

     SEE ALSO
	  XtMapWidget(3Xt), XtRealizeWidget(3Xt)
	  X Toolkit Intrinsics - C Language Interface
	  Xlib - C Language X Interface



















































Acknowledgement and Disclaimer