Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — MultiPersonal System R32V2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XtManageChildren(3Xt)                  XtManageChildren(3Xt)



     NAME
          XtManageChildren, XtManageChild, XtUnmanageChildren,
          XtUnmanageChild - manage and unmanage children

     SYNOPSIS
          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:

          ⊕    Issues an error if the children do not all have
               the same parent or if the parent is not a subclass
               of compositeWidgetClass.

          ⊕    Returns immediately if the common parent is being
               destroyed; 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.

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

               -    Calls the change_managed routine of the
                    widgets' parent.

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




                                - 1 -





     XtManageChildren(3Xt)                  XtManageChildren(3Xt)



               -    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 layout 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
          procedure is called to notify it that its set of
          managed children 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:

          ⊕    Issues an error if the children do not all have
               the same parent or if the parent is not a subclass
               of compositeWidgetClass.

          ⊕    Returns immediately if the common parent is being
               destroyed; 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.

          ⊕    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 temporary 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)



                                - 2 -





     XtManageChildren(3Xt)                  XtManageChildren(3Xt)



          X Toolkit Intrinsics Programming Manual
          Xlib Programming Manual





















































                                - 3 -



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026