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

FreeBSD Manual Pages

  
 
  

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 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  re-
       quest  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 ex-
		 plicitly 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 re-
		 size 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 de-
       scribed 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 de-
		 fault,	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 di-
		 rection is specified as either	Up, Down, Left,	or Right.

		 Note  that  the SashAction action routine is not a direct ac-
		 tion 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(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+14.3.quarterly>

home | help