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

FreeBSD Manual Pages

  
 
  

home | help
XmForm(3X)							    XmForm(3X)

NAME
       XmTree -	The Tree widget	class

SYNOPSIS
       #include	<Xm/XTree.h>

DESCRIPTION
       The Tree	widget is a container that shows the relationship of its chil-
       dren  in	a graphical tree-like format. Each child of the	Tree widget is
       a node in the Tree. The parent-child relationships between these	 nodes
       are  completely	distinct  from the widget hierarch..  The hierarchy of
       nodes is	created	by specifying the tree "parent"	of each	node as	a con-
       straint resource. If a node's parent is NULL then it is assumed to be a
       root of the tree. Although each widget can only have  one  parent,  the
       Tree widget supports adding more	than one "root"	node to	a single Tree.

       Note:  the  Tree	widget assumes that is will be totally responsible for
       mapping and unmapping its children. Therefore no	child of  this	widget
       should ever modify its mappedWhenManaged	resource. If a child does mod-
       ify this	resource the behavior is undefined.

User Interaction
       Each node in the	tree can be in four states: open, closed, always open,
       and  hidden. The	state of a node	changes	how it appears to the user and
       what actions are	available to the user.

       Open	      This node	will have an open folder  shown	 to  its  left
		      that  may	 be  selected  by the user to close this node.
		      When a node is open all of its children will be  visible
		      to the user.

       Closed	      This  node  will	have a closed folder shown to its left
		      that may be selected by the user to open this node. When
		      a	node is	closed none of its children will be visible to
		      the user.

       Always Open    This node	will have no folder button associated with it.
		      All of its children will be visible to the user.

       Hidden	      This node	will not be shown to the user and all  of  its
		      children	will  appear  and  act exactly as if they were
		      children of this node's parent. It will  appear  to  the
		      user as if this node does	not exist.

       To  maintain consistency	of the user interface we have found that it is
       bestto use the node state "Always Open" for  nodes  with	 no  children.
       This way	the user will only see a folder	button next to a node that has
       children	to display. A folder button associated with a node that	has no
       children	has no defined semantics.

Normal Resources
       Name		     Class	    Type		  Initial Value
       connectStyle	     ConnectStyle   unsigned char	  XmTreeDirect
       horizontalNodeSpace   Dimension	    HorizontalDimension	  20
       verticalNodeSpace     Dimension	    VerticalDimension	  2

       All  resource  names  begin with	XmN and	all resource class names begin
       with XmC.

connectStyle
       The style of the	lines visually connecting  parent  nodes  to  children
       nodes. The valid	styles are XmTreeDirect	or XmTreeLadder.

horizontalNodeSpace
verticalNodeSpace
       The amount of space between each	node in	the tree and it	nearest	neigh-
       bor.

       The following resources are inherited from the XmHierarchy widget:

       Name		   Class       Type		     Initial Value
       autoClose	   AutoClose   Boolean		     True
       closeFolderPixmap   Pixmap      Pixmap		     XmUNSPECIFIED_PIXMAP
       horizontalMargin	   Dimension   HorizontalDimension   2
       openFolderPixmap	   Pixmap      Pixmap		     XmUNSPECIFIED_PIXMAP
       refigureMode	   Boolean     Boolean		     True
       verticalMargin	   Dimension   VerticalDimension     2

       All  resource  names  begin with	XmN and	all resource class names begin
       with XmC.

Constraint Resources
       Name		  Class		     Type	 Initial Value
       openClosePadding	  OpenClosePadding   Int	 0
       lineColor	  Foreground	     Pixel	 <dynamic>
       lineWidth	  LineWidth	     Dimension	 0

       All resource names begin	with XmN and all resource  class  names	 begin
       with XmC.  openClosePadding

       The number of pixels between the	folder button and the node it is asso-
       ciated with.

lineColor
       The  color  of  the  line  connecting a node to its parent. The default
       value for this resource is the foreground color of the Tree widget.

lineWidth
       The width of a connection line between a	node and its parent

       The following constraint	resources are inherited	from  the  XmHierarchy
       widget:

       Name	      Class	     Type		    Initial Value
       insertBefore   InsertBefore   Widget		    NULL
       nodeState      NodeState	     XmHierarchyNodeState   Open
       parentNode     ParentNode     Widget		    NULL

       All  resource  names  begin with	XmN and	all resource class names begin
       with XmC.  Geometry Management:

       The layout is performed by assigning each node a	box that is just large
       enough to con- tain itself and all of its children. A recursive	layout
       is  then	 performed that	centers	each node vertically in	its box	and at
       the extreme left	horizontally. The children's boxes are then placed  to
       the  right  of the node separated by the	horizontalNodeSpace from their
       parent, stacked above each other	and  separated	by  verticalNodeSpace.
       This process is repeated	recursively for	each child in the tree.

       The preferred size of the entire	tree will be just large	enough to con-
       tain  all nodes in the hierarchy. As the	state of nodes change the tree
       will attempt to resize itself to	con- tain its  current	configuration.
       If  the	tree  is forced	larger than the	desired	size the nodes will be
       centered	vertically and flush to	the left edge of the tree  widget.  If
       the  tree  is  forced smaller, some nodes may be	moved or drawn outside
       the end of the tree. For	this reason it is usually desirable to put the
       tree into a Scrolled Window widget.

SEE ALSO
       XmColumn(3X)

COPYRIGHT
       Copyright (c) 1992 by Integrated	Computer Solutions, Inc.

				 15 July 1992			    XmForm(3X)

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

home | help