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 children
     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 constraint 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 map-
     ping and unmapping its children. Therefore no child of this  widget  should
     ever modify its mappedWhenManaged resource. If a child does modify this re-
     source 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 ac-
     tions 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 chil-
		    dren 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 neighbor.

     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 associ-
     ated 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 wid-
     get:

     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 ex-
     treme 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 re-
     peated recursively for each child in the tree.

     The preferred size of the entire tree will be just large enough to  contain
     all  nodes in the hierarchy. As the state of nodes change the tree will at-
     tempt to resize itself to con- tain its current configuration. If the  tree
     is  forced  larger  than the desired size the nodes will be centered verti-
     cally 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+15.1.quarterly>

home | help