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 SetName			      |	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)

NAME | SYNOPSIS | DESCRIPTION | RELATED

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

home | help