Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
XmPaned(3)		    Library Functions Manual		      XmPaned(3)

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  dynamically
     resized by the user using "control sashes" that appear between the panes.

     Application programmers have control over whether or not sashes and separa-
     tors 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 chil-
     dren.  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 Xm-
     NallowResize 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 be-
     low, 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  pre-
	  ferred 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  satisfy
     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 resiz-
     ing.  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 XmNresize-
     ToPreferred 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, Constraint,
     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 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 re-
     source by name or by class in a .Xdefaults file, remove the XmN or XmC pre-
     fix 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 be-
     tween words).  The codes in the access column indicate  if  the  given  re-
     source  can  be set at creation time (C), set by using XtSetValues (S), re-
     trieved 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    |
     +-----------------------------------------------------------+--------------------+---------------+---------------------+--------+
     | XmNsashCursor						 | XmCSashCursor      | Cursor	      | sb_h/v_double_arrow | 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 verti-
	       cal layout, the children are laid out in a vertically tiled  for-
	       mat.  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 repo-
	       sitioned when programmatic changes are being made  to  the  Paned
	       widget.	 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 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  XmNlayoutDirection  re-
	       source 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.

     XmNspacingSpecifies 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  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 (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 preferred 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 de-
     scribed in the following tables.  For a complete description  of  each  re-
     source, 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  translation
     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 description of the for-
     mat, please refer to the X Toolkit Instrinsics Documentation.

     ~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 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. 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), XmPa-
     neGetpanes(3), XmVaCreatePaned(3), and XmVaCreateManagedPaned(3).

								      XmPaned(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmPaned&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help