XmPanedWindow(3X)

XmPanedWindow --The PanedWindow widget class

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     XmPanedWindow --The PanedWindow widget class

SYNOPSIS
     #include <Xm/PanedW.h>


VERSION
     This page documents version 1.2 of the Motif library.

DESCRIPTION
     PanedWindow  is  a  composite widget that lays out children in a vertically
     tiled format.  Children appear in top-to-bottom  fashion,  with  the  first
     child  inserted  appearing at the top of the PanedWindow and the last child
     inserted appearing at the bottom.  The PanedWindow grows to match the width
     of its widest child and all other children are forced to  this  width.  The
     height  of  the  PanedWindow  is equal to the sum of the heights of all its
     children, the spacing between them, and the size of the top and bottom mar-
     gins.

     The user can also adjust the size of the panes.  To facilitate this adjust-
     ment, a pane control sash is created for most children.  The  sash  appears
     as a square box positioned on the bottom of the pane that it controls.  The
     user can adjust the size of a pane by using the mouse or keyboard.

     The  PanedWindow  is  also a constraint widget, which means that it creates
     and manages a set of constraints for each child.  You can specify a minimum
     and maximum size for each pane.  The PanedWindow does not allow a  pane  to
     be  resized  below its minimum size or beyond its maximum size.  Also, when
     the minimum size of a pane is equal to its maximum size, no control sash is
     presented for that pane or for the lowest pane.

     The default XmNinsertPosition procedure for PanedWindow causes sashes to be
     inserted at the end of the list of children and causes non-sash widgets  to
     be inserted after other non-sash children but before any sashes.

     All  panes  and sashes in a PanedWindow must be tab groups.  When a pane is
     inserted as a child of the PanedWindow, if the pane's XmNnavigationType  is
     not XmEXCLUSIVE_TAB_GROUP, PanedWindow sets it to XmSTICKY_TAB_GROUP.

   Classes
     PanedWindow  inherits behavior and resources from the Core, Composite, Con-
     straint, and XmManager classes.

     The class pointer is xmPanedWindowWidgetClass.

     The class name is XmPanedWindow.

   New Resources
     The following table defines a set of widget resources used by the  program-
     mer  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  re-
     maining  letters  (in either lowercase or uppercase, but include any under-
     scores 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).

                             XmPanedWindow Resource Set
     Name                     Class                Type        Default   Access
     ---------------------------------------------------------------------------
     XmNmarginHeight          XmCMarginHeight      Dimension   3         CSG
     XmNmarginWidth           XmCMarginWidth       Dimension   3         CSG
     XmNrefigureMode          XmCBoolean           Boolean     True      CSG
     XmNsashHeight             XmCSashHeight       Dimension   10        CSG
     XmNsashIndent            XmCSashIndent        Position    -10       CSG
     XmNsashShadowThickness   XmCShadowThickness   Dimension   dynamic   CSG
     XmNsashWidth              XmCSashWidth        Dimension   10        CSG
     XmNseparatorOn           XmCSeparatorOn       Boolean     True      CSG
     XmNspacing               XmCSpacing           Dimension   8         CSG


     XmNmarginHeight
               Specifies the distance between the top and bottom  edges  of  the
               PanedWindow and its children.

     XmNmarginWidth
               Specifies  the  distance  between the left and right edges of the
               PanedWindow and its children.

     XmNrefigureMode
               Determines whether the panes' positions are recomputed and  repo-
               sitioned  when  programmatic changes are being made to the Paned-
               Window.  Setting this resource to True  resets  the  children  to
               their appropriate positions.

     XmNsashHeight
               Specifies the height of the sash.

     XmNsashIndent
               Specifies  the  horizontal placement of the sash along each pane.
               A positive value causes the sash  to  be  offset  from  the  near
               (left)  side  of the PanedWindow, and a negative value causes the
               sash to be offset from the far (right) side of  the  PanedWindow.
               If  the offset 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.

               Whether  the  placement actually corresponds to the left or right
               side of the PanedWindow may depend  on  the  value  of  the  XmN-
               stringDirection resource.

     XmNsashShadowThickness
               Specifies the thickness of the shadows of the sashes.

     XmNsashWidth
               Specifies the width of the sash.

     XmNseparatorOn
               Determines  whether  a  separator  is created between each of the
               panes.  Setting this resource to True creates a Separator at  the
               midpoint between each of the panes.

     XmNspacingSpecifies the distance between each child pane.

                       XmPanedWindow Constraint Resource Set
     Name               Class              Type        Default           Access
     ---------------------------------------------------------------------------
     XmNallowResize     XmCBoolean         Boolean     False             CSG
     XmNpaneMaximum     XmCPaneMaximum     Dimension   1000              CSG
     XmNpaneMinimum     XmCPaneMinimum     Dimension   1                 CSG
     XmNpositionIndex   XmCPositionIndex   short       XmLAST_POSITION   CSG
     XmNskipAdjust      XmCBoolean         Boolean     False             CSG

     XmNallowResize
               Allows  an  application to specify whether the PanedWindow should
               allow a pane to request to be resized.  This flag has  an  effect
               only  after  the PanedWindow and its children have been realized.
               If this flag is set to True, the PanedWindow tries to  honor  re-
               quests  to  alter the height of the pane. If False, it always de-
               nies pane requests to resize.

     XmNpaneMaximum
               Allows an application to specify the maximum size to which a pane
               may be resized.  This value must be greater  than  the  specified
               minimum.

     XmNpaneMinimum
               Allows an application to specify the minimum size to which a pane
               may be resized.  This value must be greater than 0.

     XmNpositionIndex
               Specifies  the  position  of  the  widget in its parent's list of
               children (the list of pane children, not including sashes).   The
               value is an integer that is no less than zero and no greater than
               the number of children in the list at the time the value is spec-
               ified.  A value of zero means that the child is placed at the be-
               ginning  of  the  list.   The value can also be  specified as Xm-
               LAST_POSITION (the default), which means that the child is placed
               at the end of the list.  Any other value is ignored.  XtGetValues
               returns the position of the widget in its parent's child list  at
               the time of the call to XtGetValues.

               When a widget is inserted into its parent's child list, the posi-
               tions  of any existing children that are greater than or equal to
               the specified widget's XmNpositionIndex  are  increased  by  one.
               The  effect  of  a call to XtSetValues for XmNpositionIndex is to
               remove the specified widget from its  parent's  child  list,  de-
               crease  by  one  the  positions of any existing children that are
               greater than the specified widget's former position in the  list,
               and then insert the specified widget into its parent's child list
               as described in the preceding sentence.

     XmNskipAdjust
               When  set to True, this Boolean resource allows an application to
               specify that the PanedWindow should not automatically resize this
               pane.


   Inherited Resources
     PanedWindow inherits behavior  and  resources  from  the  following  super-
     classes.   For  a  complete  description of each resource, refer to the man
     page for that superclass.

                                     XmManager Resource Set
Name                    Class                   Type                Default                Access
--------------------------------------------------------------------------------------------------
XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
XmNforeground           XmCForeground           Pixel               dynamic                CSG
XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
XmNinitialFocus         XmCInitialFocus         Widget              NULL                   CSG
XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
XmNshadowThickness      XmCShadowThickness      Dimension           2                      CSG
XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
XmNunitType             XmCUnitType             unsigned char       dynamic                CSG
XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                                              Core Resource Set
Name                            Class                           Type             Default                Access
---------------------------------------------------------------------------------------------------------------
XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
XmNdepth                        XmCDepth                        int              dynamic                CG
XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
XmNheight                       XmCHeight                       Dimension        dynamic                CSG
XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
XmNscreen                       XmCScreen                       Screen *         dynamic                CG
XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
XmNx                            XmCPosition                     Position         0                      CSG
XmNy                            XmCPosition                     Position         0                      CSG

                               Composite Resource Set
  Name                Class               Type          Default             Access
  ---------------------------------------------------------------------------------
  XmNchildren         XmCReadOnly         WidgetList    NULL                G
  XmNinsertPosition   XmCInsertPosition   XtOrderProc   default procedure   CSG
  XmNnumChildren      XmCReadOnly         Cardinal      0                   G

   Translations
     XmPanedWindow inherits translations from XmManager.

     The translations for sashes within the PanedWindow are listed below.  These
     translations may not directly correspond to a translation table.

     BSelect Press: SashAction(Start)
     BSelect Motion:SashAction(Move)
     BSelect Release:SashAction(Commit)

     BDrag Press:   SashAction(Start)
     BDrag Motion:  SashAction(Move)
     BDrag Release: SashAction(Commit)

     KUp:           SashAction(Key,DefaultIncr,Up)
     MCtrl KUp:     SashAction(Key,LargeIncr,Up)

     KDown:         SashAction(Key,DefaultIncr,Down)
     MCtrl KDown:   SashAction(Key,LargeIncr,Down)

     KNextField:    NextTabGroup()
     KPrevField:    PrevTabGroup()

     KHelp:         Help()


   Action Routines
     The XmPanedWindow action routines are described below:


     Help():   Calls the callbacks for XmNhelpCallback if any exist.   If  there
               are no help callbacks for this widget, this action calls the help
               callbacks for the nearest ancestor that has them.

     NextTabGroup():
               Moves  the keyboard focus to the next tab group.  By default each
               pane and sash is a tab group.

     PrevTabGroup():
               Moves the keyboard focus to the previous tab group.   By  default
               each pane and sash is a tab group.

     SashAction(action) or SashAction(Key,increment,direction):
               The  Start  action  activates  the  interactive  placement of the
               pane's borders.  The Move action causes the sash to track the po-
               sition of the pointer.  If one of the panes reaches  its  minimum
               or  maximum  size,  adjustment continues with the next adjustable
               pane.  The Commit action ends sash motion.

     When sash action is caused by a keyboard event, the sash with the  keyboard
     focus  is  moved  according  to the increment and direction specified.  De-
     faultIncr adjusts the sash by one line.  LargeIncr adjusts the sash by  one
     view region.  The direction is specified as either Up or Down.

     Note  that  the SashAction action routine is not a direct action routine of
     the XmPanedWindow, but rather an action of the Sash control created by  the
     XmPanedWindow.


   Additional Behavior
     This widget has the additional behavior described below:


     <FocusIn>:Moves the keyboard focus to the sash and highlights it.

     <FocusOut>:
               Unsets the keyboard focus in the sash and unhighlights it.


   Virtual Bindings
     The  bindings  for virtual keys are vendor specific.  For information about
     bindings for virtual buttons and keys, see VirtualBindings(3X).

RELATED INFORMATION
     Composite(3X), Constraint(3X), Core(3X), XmCreatePanedWindow(3X), and Xm-
     Manager(3X).

                                                               XmPanedWindow(3X)