Provided by: libmotif-dev_2.3.8-2build1_amd64 

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)