Provided by: libmotif-dev_2.3.8-3_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)