Provided by: libmotif-dev_2.3.8-2build1_amd64 bug

NAME

       XmPaned — The Paned widget class "XmPaned" "widget class" "Paned Window"

SYNOPSIS

       #include <Xm/Paned.h>

DESCRIPTION

       The  Paned  widget  manages  children  in a vertically or horizontally tiled fashion with each child in a
       separate pane. The panes may be dynamically resized by  the  user  using  "control  sashes"  that  appear
       between the panes.

       Application  programmers  have  control  over  whether  or  not  sashes and separators are displayed, the
       preferred size of each pane, and which pane will be forced to absorb size  restrictions  imposed  by  the
       Paned widget's parent.

   Geometry Management
       The  Paned  widget  usually resizes its children to their preferred sizes when a new child is managed. It
       will first attempt to resize itself to contain its panes exactly. If this is not possible  then  it  will
       hunt through the children, from bottom to top (or right to left), for a pane to resize.

       The  Paned  widget  will attempt to honor the geometry request of its children.  It will first attempt to
       resize itself to satisfy the request then go through the layout rules below to satisfy the request.  Only
       if  all  panes  are  at  their  min/max  values will a geometry request be refused. If the XmNallowResize
       resource is False for the child then all geometry requests will be denied,
                of course.

   Special Considerations
       When a user resizes a pane with the sashes, the Paned widget assumes that this new size is the  preferred
       size  of  both  the pane above and the pane below, unless the XmNresizeToPreferred constraint resource is
       True for that pane.

   Layout Semantics
       In order to make effective use of the Paned widget it is helpful to know the rules it uses  to  determine
       which  child will be resized in any given situation.  There are three rules used to determine which child
       is resized. While these rules are always the same, the panes that are searched can change depending  upon
       what caused the change of layout.

   Layout Rules
       1.  Do  not  let  a pane grow larger than its max or smaller than its min size.  In addition do not let a
            pane without a sash shrink below its preferred size due to a grip movement of another pane.

       2. Do not adjust panes with XmNskipAdjust set.

       3. Do not adjust panes away from their preferred size, although moving one closer to its  preferred  size
            is fine.

       When  searching  the  children  the  Paned  widget  looks  for  panes  that satisfy all the rules, and if
       unsuccessful then it eliminates rule 3 and then 2. Rule 1 is always enforced.

       If the relayout is due to a resize or change in management then the panes are  searched  from  bottom  to
       top.  If  space is needed above the current sash the panes are searched from bottom to top beginning with
       the second pane above the grip that was moved. If space is needed below the current sash  the  panes  are
       searched  from  top  to  bottom  beginning  with the second pane below the grip that was moved. The Paned
       widget never wraps its pane resizing. Therefore if space is needed below the sash then  no  widget  above
       the sash will ever be resized.

       Note:  If  the orientation is horizontal then substitute "right" for "bottom" and "left" for "top" in the
       above paragraph.

   Resizing Panes
       When the Paned widget is resized it must determine a new size for each pane.  There are  two  methods  of
       doing  this.  The  Paned widget can either give each pane its preferred size and then resize the panes to
       fit, or it can use the current  sizes  and  then  resize  the  panes  to  fit.  The  XmNresizeToPreferred
       constraint  resource allows the application to tell the Paned widget whether to query the child about its
       preferred size (subject to the XmNpreferredPaneSize) or to use the current size when refiguring the  pane
       locations after the Paned widget has been resized.

       All panes assume they should resize to their preferred size until the Paned widget becomes visible to the
       user.

   Classes
       Paned inherits behavior and resources from the Core, Composite, Constraint, abd Xmmanager classes.

       The class pointer of xmPanedWidgetClass.

       The class name is XmPaned.

   New resources
       The following table defines a set of widget resources  used  by  the  programmer  to  specify  data.  The
       programmer  can also set the resource values for the inherited classes to set attributes for this widget.
       To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC  prefix  and  use
       the  remaining  letters. To specify one of the defined values for a resource in a .Xdefaults file, remove
       the Xm prefix and use  the  remaining  letters  (in  either  lowercase  or  uppercase,  but  include  any
       underscores  between words).  The codes in the access column indicate if the given resource can be set at
       creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable
       (N/A).

       ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
--

RELATED

       Composite(3),     Constraint(3),     Core(3),    XmCreatePaned(3),    XmManager(3),    XmPaneGetpanes(3),
       XmVaCreatePaned(3), and XmVaCreateManagedPaned(3).

                                                                                                      XmPaned(3)