PanedWindow is a manager that by default lays out its children vertically from top to bottom and places a separator between each pair of children. Each child spans the width of the PanedWindow, which resizes children to be as wide as the widest child. When possible, the PanedWindow grows to accommodate the width of the widest child and the heights of all the children.
Usually PanedWindow allows the user to adjust the height of each pane. When a pane is adjustable, PanedWindow creates a control called a sash and places it below the pane that it controls. By manipulating the sash with the mouse or keyboard commands, the user changes the height of the pane above. This may also change the height of a pane below the sash.
PanedWindow has the following resources to control general appearance:
The value specifies the margin between the PanedWindow's top and bottom shadows and the children nearest those shadows.
The value specifies the margin between the PanedWindow's left and right shadows and the children nearest those shadows.
The value specifies the layout as either vertical or horizontal.
The value determines whether or not PanedWindow displays a separator between each pair of panes.
The value is the distance between each pane.
The following PanedWindow resources control the appearance of the sashes:
The value specifies the height of each sash.
The value specifies the distance between each sash and the inner margin of the left or right side of the PanedWindow. If the value is positive, the sash is offset from the near (left) side of the PanedWindow. If the value is negative, the sash is offset from the far (right) side of the PanedWindow. If the value is greater than the width of the PanedWindow minus the width of the sash, the sash is placed flush against the near side of the PanedWindow.
The value specifies the shadow thickness for each sash.
The value specifies the width of each sash.
PanedWindow has one other resource, XmNrefigureMode. When this resource is set to False, the PanedWindow does not recompute its layout when either the user or the application resizes a pane or when the PanedWindow is resized.
PanedWindow children have a number of constraint resources that PanedWindow uses to determine the positions and size limitations of the panes:
The value specifies whether the PanedWindow grants resize requests from the pane. When the value is False (the default) and the pane is realized, PanedWindow refuses such requests, but it allows the user to resize the pane if it is adjustable. For example, if the application attempts to change the height or width of the pane using XtSetValues, PanedWindow does not allow the change. If the value is True or if the pane is not realized, PanedWindow grants requests by the pane to change its size if possible.
The value is the maximum height to which the user or application can resize the pane. If this value is the same as the value of XmNpaneMinimum, the pane cannot be resized at all, and PanedWindow does not display a sash at the bottom of the pane.
The value is the minimum height to which the user or application can resize the pane. If this value is the same as the value of XmNpaneMaximum, the pane cannot be resized at all, and PanedWindow does not display a sash at the bottom of the pane.
The value is the ordinal position of the pane in the PanedWindow's list of pane children. The application or user can specify the value as an integer between 0 and the number of children already in the list, or as the value XmLAST_POSITION (the default), which means the child is inserted at the end of the list. If specifying a new value causes the order of children in the list to change, PanedWindow recomputes its layout according to the new order of children: the first pane is displayed at the top of the PanedWindow, the second child below the first, and so on.
The value specifies whether or not the PanedWindow resizes the pane when the PanedWindow itself is resized or when the user resizes another pane. When the value is True, PanedWindow does not resize this pane under these circumstances, but the user can still resize the pane if XmNpaneMaximum is greater than XmNpaneMinimum. The default is False.