manpagez: man pages & more
man XmPaned(3)
Home | html | info | man
XmPaned(library call)                                    XmPaned(library call)




NAME

       XmPaned -- The Paned widget class


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  dynami-
       cally  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  sat-
       isfy  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 XmN-
       resizeToPreferred 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, Con-
       straint, 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  pro-
       grammer  to specify data. The programmer can also set the resource val-
       ues 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).


       +---------------------------------------------------------------------------------------------------------------------+
       |                                                XmPaned Resource Set           |               |            |        |
       |Name                                                      | Class              | Type          | Default    | Access |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNcursor                                                 | XmCursor           | tCursor       | None       | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNmarginHeight                                           | XmCMarginHeight    | Dimension     | 3          | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNmarginWidth                                            | XmCMarginWidth     | Dimension     | 3          | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNorientation                                            | XmCOrientation     | unsigned char | XmVERTICAL | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNrefigureMode                                           | XmCBoolean         | Boolean       | True       | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNsashHeight                                             | XmCSashHeight      | Dimension     | 8          | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNsashIndent                                             | XmCSashIndent      | Position      | -10        | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNsashShadowThickness                                    | XmCShadowThickness | Dimension     | dynamic    | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNsashTranslations%Translations%XtTranslations%see below |                    |               |            |        |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNsashWidth                                              | XmCSashWidth       | Dimension     | 10         | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNseparatorOn                                            | XmCSeparatorOn     | Boolean       | True       | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       |XmNspacing                                                | XmCSpacing         | Dimension     | 8          | CSG    |
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       +----------------------------------------------------------+--------------------+---------------+------------+--------+
       XmNcursor Image that will be displayed as the pointer  cursor  whenever
                 the  pointer  is  over  this  widget.  If the children do not
                 explicitly set their cursor attribute then this resource will
                 be inherited by each child.

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

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

       XmNorientation
                 Specifies  the layout as either vertical (with the XmVERTICAL
                 value) or horizontal (with the XmHORIZONTAL  value).  In  the
                 vertical  layout,  the  children are laid out in a vertically
                 tiled format. In the horizontal layout, the children are laid
                 out  in a horizontal layout, with the sash moveable along the
                 horizontal axis.

       XmNrefigureMode
                 Determines whether the panes' positions  are  recomputed  and
                 repositioned  when programmatic changes are being made to the
                 Paned widget.  Setting this resource to True resets the chil-
                 dren 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 Paned widget, and a negative value
                 causes the sash to be offset from the far (right) side of the
                 Paned  widget. If the offset is greater than the width of the
                 Paned widget minus the width of the sash, the sash is  placed
                 flush against the near side of the Paned widget.

                 Whether  the  placement  actually  corresponds to the left or
                 right side of the Paned widget depends on the XmNlayoutDirec-
                 tion resource of the widget.

       XmNsashTranslations
                 Translation bindings for the sash. See below.

       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.

                 +-----------------------------------------------------------------------------------+
                 |                     |   XmPaned Constraint Resource Set|                 |        |
                 |Name                 | Class                | Type      | Default         | Access |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNallowResize       | XmCBoolean           | Boolean   | False           | CSG    |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNpaneMaximum       | XmCPaneMaximum       | Dimension | 1000            | CSG    |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNpaneMinimum       | XmCPaneMinimum       | Dimension | 1               | CSG    |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNskipAdjust        | XmCBoolean           | Boolean   | False           | CSG    |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNpreferredPaneSize | XmCPreferredPaneSize | Dimension | XmPanedAskChild |        |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNresizeToPreferred | XmCBoolean           | Boolean   | False           |        |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 |XmNshowSash          | XmCBoolean           | Boolean   | True            |        |
                 +---------------------+----------------------+-----------+-----------------+--------+
                 +---------------------+----------------------+-----------+-----------------+--------+
       XmNallowResize
                 Allows  an  application  to  specify whether the Paned widget
                 should allow a pane to request to be resized. This  flag  has
                 an  effect  only after the Paned widget and its children have
                 been realized.  If this flag is set to True, the Paned widget
                 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
                 (zero).

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

       XmNpreferredPaneSize
                 Preferred size of the pane. If this  value  is  not  set  the
                 paned  widget will query the child for a preferred size. This
                 resource allows the user or application to provide a new pre-
                 ferred size.

       XmNresizeToPreferred
                 Specifies  whether  to resize each pane to its preferred size
                 when the Paned window is resized. If this is False then  only
                 those  panes the user has not resized with the sashes will be
                 resized to their preferred size.

       XmNshowSash
                 If True show the Sash below or to the right of this pane.

   Inherited Resources
       Paned widget inherits behavior  and  resources  from  the  superclasses
       described  in the following tables.  For a complete description of each
       resource, refer to the reference 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    |
       +------------------------+-----------------------+-------------------+----------------------+--------+
       |XmNlayoutDirection      | XmCLayoutDirection    | XmDirection       | dynamic              | CG     |
       +------------------------+-----------------------+-------------------+----------------------+--------+
       |XmNnavigationType       | XmCNavigationType     | XmNavigationType  | XmTAB_GROUP          | CSG    |
       +------------------------+-----------------------+-------------------+----------------------+--------+
       |XmNpopupHandlerCallback | XmCCallback           | XtCallbackList    | NULL                 | C      |
       +------------------------+-----------------------+-------------------+----------------------+--------+
       |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
       XmPaned widget inherits translations from XmManager.

       The translations for sashes within the Paned widget  are  described  in
       the following table.

       The following key names are listed in the X standard key event transla-
       tion table syntax.  This format is the one used by Motif to specify the
       widget  actions  corresponding to a given key.  A brief overview of the
       format is provided under VirtualBindings(3).  For a  complete  descrip-
       tion  of the format, please refer to the X Toolkit Instrinsics Documen-
       tation.

       ~c ~s ~m ~a <Btn1Down>:
                 SashAction(Start)

       ~c ~s ~m ~a <Btn1Motion>:
                 SashAction(Move)

       ~c ~s ~m ~a <Btn1Up>:
                 SashAction(Commit)

       ~c ~s ~m ~a <Btn2Down>:
                 SashAction(Start)

       ~c ~s ~m ~a <Btn2Motion>:
                 SashAction(Move)

       ~c ~s ~m ~a <Btn2Up>:
                 SashAction(Commit)

       :<Key><osfHelp>:
                 Help()

       :c <Key><osfUp>:
                 SashAction(Key,10,Up)

       :<Key><osfUp>:
                 SashAction(Key,1,Up)

       :c <Key><osfRight>:
                 SashAction(Key,10,Right)

       :<Key><osfRight>:
                 SashAction(Key,1,Right)

       :c <Key><osfDown>:
                 SashAction(Key,10,Down)

       :<Key><osfDown>:
                 SashAction(Key,1,Down)

       :c <Key><osfLeft>:
                 SashAction(Key,10,Left)

       :<Key><osfLeft>:
                 SashAction(Key,1,Left)

       s ~m ~a <Key>Tab:
                 PrevTabGroup()

       ~m ~a <Key>Tab:
                 NextTabGroup()

   Action Routines
       The XmPaned action routines are

       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, Down, Left, or Right.

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

   Additional Behavior
       This widget has the following additional behavior:

       <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(3).


RELATED

       Composite(3), Constraint(3), Core(3),  XmCreatePaned(3),  XmManager(3),
       XmPaneGetpanes(3), XmVaCreatePaned(3), and XmVaCreateManagedPaned(3).




                                                         XmPaned(library call)

openMotif 2.3.1 - Generated Tue Dec 2 06:19:29 CST 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.