Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmPanedWi(Xm) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 XmPanedWindow(Xm)              6 January 1993              XmPanedWindow(Xm)


 Name

    XmPanedWindow - the PanedWindow widget class

 Syntax


    #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 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 margins.

    The user can also 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 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 mini-
    mum 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 widg-
    ets 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 XmEXCLUSIVETABGROUP, PanedWindow sets it to XmSTICKYTABGROUP.

    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 pro-
    grammer 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).

 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
            PanedWindow.  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 XmNstring-
            Direction 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.

    XmNspacing
            Specifies 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
            requests to alter the height of the pane. If False, it always
            denies 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
            specified. A value of zero means that the child is placed at the
            beginning of the list. The value can also be specified as
            XmLASTPOSITION (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,
            decrease 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
 ____________________________________________________________________________
 XmNbottomSha-     XmCBottomShadow-   Pixel            dynamic         CSG
 dowColor          Color
 XmNbottomShadow-  XmCBottomShadow-   Pixmap           XmUNSPECIFIED_- CSG
 Pixmap            Pixmap                              PIXMAP
 XmNforeground     XmCForeground      Pixel            dynamic         CSG
 XmNhelpCallback   XmCCallback        XtCallbackList   NULL            C
 XmNhighlightColor XmCHighlightColor  Pixel            dynamic         CSG
 XmNhighlightPixmapXmCHighlightPixmap Pixmap           dynamic         CSG


 XmNinitialFocus   XmCInitialFocus    Widget           NULL            CSG
 XmNnavigationType XmCNavigationType  XmNavigationType XmTAB_GROUP     CSG
 XmNshadowThicknessXmCShadowThickness Dimension        2               CSG
 XmNstringDirectionXmCStringDirection XmStringDirectiondynamic         CG
 XmNtopShadowColor XmCTopShadowColor  Pixel            dynamic         CSG
 XmNtopShadowPixmapXmCTopShadowPixmap 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   XtAcceleratorsdynamic             CSG
 XmNancestor-      XmCSensitive      Boolean       dynamic             G
 Sensitive
 XmNbackground     XmCBackground     Pixel         dynamic             CSG
 XmNbackground-    XmCPixmap         Pixmap        XmUNSPECIFIED_-     CSG
 Pixmap                                            PIXMAP
 XmNborderColor    XmCBorderColor    Pixel         XtDefaultForeground CSG
 XmNborderPixmap   XmCPixmap         Pixmap        XmUNSPECIFIED_-     CSG
                                                   PIXMAP
 XmNborderWidth    XmCBorderWidth    Dimension     0                   CSG
 XmNcolormap       XmCColormap       Colormap      dynamic             CG
 XmNdepth          XmCDepth          int           dynamic             CG
 XmNdestroyCallbackXmCCallback       XtCallbackListNULL                C
 XmNheight         XmCHeight         Dimension     dynamic             CSG
 XmNinitial-       XmCInitial-       Boolean       True                C
 Resources-        Resources-
 Persistent        Persistent
 XmNmappedWhen-    XmCMappedWhen-    Boolean       True                CSG
 Managed           Managed
 XmNscreen         XmCScreen         Screen *      dynamic             CG
 XmNsensitive      XmCSensitive      Boolean       True                CSG
 XmNtranslations   XmCTranslations   XtTranslationsdynamic             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
            position 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. DefaultIncr 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(Xm).

 See also

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


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