Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought


     XmPanedWindow(Xm)                              UNIX System V



     NAME
          XmPanedWindow - the PanedWindow widget class.



     SYNOPSIS
          #include <Xm/PanedW.h>



     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 will grow to match the width of
          its  widest  child and all other children are forced to this
          width. The height of the PanedWindow will be  equal  to  the
          sum  of the heights of all its children, the spacing between
          them, and the size of the top and bottom margins.

          It is also possible for the end user to adjust the  size  of
          the  panes.   To  facilitate this adjustment, 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.

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


        Classes
          PanedWindow inherits behavior and resources from  the  Core,
          Composite, Constraint, 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 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 lower
          case or upper case,  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).

                             XmPanedWindow Resource Set
     Name                     Class                Type        Default   Access
     __________________________________________________________________________
     XmNmarginHeight          XmCMarginHeight      short       3         CSG
     XmNmarginWidth           XmCMarginWidth       short       3         CSG
     XmNrefigureMode          XmCBoolean           Boolean     True      CSG
     XmNsashHeight             XmCSashHeight       Dimension   10        CSG
     XmNsashIndent            XmCSashIndent        Position    -10       CSG
     XmNsashShadowThickness   XmCShadowThickness   int         2         CSG
     XmNsashWidth              XmCSashWidth        Dimension   10        CSG
     XmNseparatorOn           XmCSeparatorOn       Boolean     True      CSG
     XmNspacing               XmCSpacing           int         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   will   be
               recomputed  and  repositioned when programmatic changes
               are  being  made  to  the  PanedWindow.   Setting  this
               resource  to  True  will  reset  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 will cause the sash to be
               offset from the left side of  the  PanedWindow,  and  a
               negative  value  will  cause the sash to be offset from
               the right side of the PanedWindow.  If  the  offset  is
               greater  than  the  width  of the PanedWindow minus the
               width of the  sash,  the  sash  will  be  placed  flush
               against the left-hand side of the PanedWindow.

          XmNsashShadowThickness
               Specifies the thickness of the shadows of the sashes.

          XmNsashWidth
               Specifies the width of the sash.

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

          XmNspacing
               Specifies the distance between each child pane.

                       XmPanedWindow Constraint Resource Set
              Name             Class        Type      Default   Access
              ________________________________________________________
              XmNallowResize   XmCBoolean   Boolean   False     CSG
              XmNmaximum       XmRInt       int       1000      CSG
              XmNminimum       XmCMin       int       1         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  only  has  an  effect  after  the
               PanedWindow  and  its  children  have been realized. If
               this flag is set to True, the PanedWindow will  try  to
               honor  requests  to  alter  the  height of the pane. If
               False, it will always deny pane requests to resize.

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

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

          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 superclasses.  For a complete description of these
          resources, refer to the man page for that superclass.

                                     XmManager Resource Set
     Name                  Class                 Type           Default              Access
     ______________________________________________________________________________________
     XmNbottomShadowColor  XmCForeground         Pixel          dynamic              CSG
     XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap         XmUNSPECIFIED_PIXMAP CSG
     XmNforeground         XmCForeground         Pixel          dynamic              CSG
     XmNhelpCallback       XmCCallback           XtCallbackList NULL                 C
     XmNhighlightColor     XmCForeground         Pixel          Black                CSG
     XmNhighlightPixmap    XmCHighlightPixmap    Pixmap         dynamic              CSG
     XmNshadowThickness    XmCShadowThickness    short          0                    N/A
     XmNtopShadowColor     XmCBackground         Pixel          dynamic              CSG
     XmNtopShadowPixmap    XmCTopShadowPixmap    Pixmap         XmUNSPECIFIED_PIXMAP CSG
     XmNunitType           XmCUnitType           unsigned char  XmPIXELS             CSG
     XmNuserData           XmCUserData           caddr_t        NULL                 CSG

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


        Behavior
          Shift<Btn1Down>:
               (in sash): Activates the interactive placement  of  the
               pane's  borders.  It  changes the pointer cursor from a
               crosshair to an upward pointing arrow to indicate  that
               the  upper  pane  will be adjusted (usually the pane to
               which the sash is attached).  All panes below the  sash
               that can be adjusted, will be adjusted.

          <Btn1Down>:
               (in sash): Activates the interactive placement  of  the
               pane's  borders.  It  changes the pointer cursor from a
               crosshair to a double headed arrow to indicate that the
               pane  to  be  adjusted is the pane to which the sash is
               attached and  the  first  pane  below  it  the  can  be
               adjusted.   Unlike pane adjustment using Shift Btn1Down
               or CTRL Btn1Down, only two panes will be affected.   If
               one  of  the panes reaches its minimum or maximum size,
               adjustment will  stop,  instead  of  finding  the  next
               adjustable pane.

          CTRL <Btn1Down>:
               (in sash):  Activates the interactive placement of  the
               pane's  borders.  It  changes the pointer cursor from a
               crosshair to a downward pointing arrow to indicate that
               the lower pane will be adjusted (usually the pane below
               the pane to which the  sash  is  attached).  All  panes
               above the sash that can be adjusted, will be adjusted.

          Shift Button1<PtrMoved>:
               If the button press occurs within the sash, the  motion
               events  draw a series of track lines to illustrate what
               the heights of the panes would be if the Commit  action
               were  invoked.  This action determines which pane below
               the  upper  pane  can  be  adjusted   and   makes   the
               appropriate adjustments.

          Button1<PtrMoved>:
               If the button press occurs within the sash, the  motion
               events  draw a series of track lines to illustrate what
               the heights of the panes would be if the Commit  action
               were  invoked.   This  action  adjusts  as  needed (and
               possible) the upper and lower panes selected  when  the
               Btn1Down action was invoked.

          CTRL Button1<PtrMoved>:
               If the button press occurs within the sash, the  motion
               events  draw a series of track lines to illustrate what
               the heights of the panes would be if the Commit  action
               were  invoked.  This action determines which pane above
               the  lower  pane  can  be  adjusted   and   makes   the
               appropriate adjustments.

          Any<BtnUp>:
               Commits to  any  action  taken  since  the  interactive
               placement  was  activated.   The  sashes  and  the pane
               boundaries are moved to the committed positions of  the
               panes.

        Default Translations
          The following are default translations for PanedWindow:

          Shift<Btn1Down>:SashAction(Start, UpperPane)
          <Btn1Down>:    SashAction(Start, ThisBorderOnly)
          CTRL<Btn1Down>:SashAction(Start, LowerPane)
          Shift<Btn1Motion>:SashAction(Move, Upper)
          <Btn1Motion>:  SashAction(Move, ThisBorder)
          CTRL<Btn1Motion>:SashAction(Move, Lower)
          Any<BtnUp>:    SashAction(Commit)
          <EnterWindow>: enter()
          <LeaveWindow>: leave()


        Keyboard Traversal
          For information on keyboard traversal, see the man page  for
          XmManager(Xm)  and  its  sections  on  behavior  and default
          translations.



     RELATED INFORMATION
          Composite(Xm),           Constraint(Xm),           Core(Xm),
          XmCreatePanedWindow(Xm), and XmManager(Xm).



     (printed 2/14/90)                          XmPanedWindow(Xm)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026