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

FreeBSD Manual Pages

  
 
  

home | help
Tree(3)		      User Contributed Perl Documentation	       Tree(3)

NAME
       Tk::Tree	- Create and manipulate	Tree widgets

SYNOPSIS
       A A A A use Tk::Tree;

       A A A A $tree = $parent->Tree(?options?);

SUPER-CLASS
       The Tree	class is derived from the HList	class and inherits all the
       methods,	options	and subwidgets of its super-class.  A Tree widget is
       not scrolled by default.

STANDARD OPTIONS
       Tree supports all the standard options of an HList widget.  See
       Tk::options for details on the standard options.

WIDGET-SPECIFIC	OPTIONS
       Name:	      browseCmd
       Class:	      BrowseCmd
       Switch:	      -browsecmd
	   Specifies a callback	to call	whenever the user browses on an	entry
	   (usually by single-clicking on the entry). The callback is called
	   with	one argument, the pathname of the entry.

       Name:	      closeCmd
       Class:	      CloseCmd
       Switch:	      -closecmd
	   Specifies a callback	to call	whenever an entry needs	to be closed
	   (See	"BINDINGS" below). This	method is called with one argument,
	   the pathname	of the entry. This method should perform appropriate
	   actions to close the	specified entry. If the	-closecmd option is
	   not specified, the default closing action is	to hide	all child
	   entries of the specified entry.

       Name:	      command
       Class:	      Command
       Switch:	      -command
	   Specifies a callback	to call	whenever the user activates an entry
	   (usually by double-clicking on the entry). The callback is called
	   with	one argument, the pathname of the entry.

       Name:	      ignoreInvoke
       Class:	      IgnoreInvoke
       Switch:	      -ignoreinvoke
	   A Boolean value that	specifies when a branch	should be opened or
	   closed. A branch will always	be opened or closed when the user
	   presses the (+) and (-) indicators. However,	when the user invokes
	   a branch (by	doublc-clicking	or pressing <Return>), the branch will
	   be opened or	closed only if -ignoreinvoke is	set to false (the
	   default setting).

       Name:	      openCmd
       Class:	      OpenCmd
       Switch:	      -opencmd
	   Specifies a callback	to call	whenever an entry needs	to be opened
	   (See	"BINDINGS" below). This	method is called with one argument,
	   the pathname	of the entry. This method should perform appropriate
	   actions to open the specified entry.	If the -opencmd	option is not
	   specified, the default opening action is to show all	the child
	   entries of the specified entry.

DESCRIPTION
       The Tree	method creates a new window and	makes it into a	Tree widget
       and return a reference to it.  Additional options, described above, may
       be specified on the command line	or in the option database to configure
       aspects of the Tree widget such as its cursor and relief.

       The Tree	widget can be used to display hierarchical data	in a tree
       form. The user can adjust the view of the tree by opening or closing
       parts of	the tree.

       To display a static tree	structure, you can add the entries into	the
       Tree widget and hide any	entries	as desired. Then you can call the
       autosetmode method. This	will set up the	Tree widget so that it handles
       all the open and	close events automatically.  the demonstration program
       Tixish/examples/perl-tix-tree).

       The above method	is not applicable if you want to maintain a dynamic
       tree structure, i.e, you	do not know all	the entries in the tree	and
       you need	to add or delete entries subsequently. To do this, you should
       first create the	entries	in the Tree widget. Then, use the setmode
       method to indicate the entries that can be opened or closed, and	use
       the -opencmd and	-closecmd options to handle the	opening	and closing
       events. (Please see the demonstration program
       Tixish/examples/perl-tix-dyntree).

       Use either

       A A A A $parent->Scrolled('Tree', ... );

       or

       A A A A $parent->ScrlTree( ... );

       to create a scrolled Tree. See Tk::Scrolled for details.

WIDGET METHODS
       The Tree	method creates a widget	object.	 This object supports the
       configure and cget methods described in Tk::options which can be	used
       to enquire and modify the options described above.  The widget also
       inherits	all the	methods	provided by the	generic	Tk::Widget class.

       The following additional	methods	are available for Tree widgets:

       $tree-_add_pathimage(treeRegExp [, openImg, closeImg])
	   This	method defines images for a given path (images must be in xpm
	   format). The	path can be determined by a simplified regular
	   expression. There are just three metasymbols:

	   ^   at the beginning	of the "treeRegExp" same as in Perl regular
	       expressions

	   *   anything

	   $   at the end of the "TreeRegExp", the same	as in Perl regular
	       expressions

	   Examples:

	     $tree->add_pathimage('^root','openfolder','folder');

	   matches "root", "root.foo", "root.bar", but not "foo.root"

	     $tree->add_pathimage('root.*.class','openfolder','folder');

	   matches all paths containing	"root.<anything>.class", but not
	   "root.<anything>.<anything>.class" "*" is one part of the path. If
	   you want to use a wildcard for two steps, you have to use "*.*".

	     $tree->add_pathimage('class$','openfolder','folder');

	   This	matches	all path with "class" at the end.

       $tree->autosetmode
	   This	method calls the setmode method	for all	the entries in this
	   Tree	widget:	if an entry has	no child entries, its mode is set to
	   none. Otherwise, if the entry has any hidden	child entries, its
	   mode	is set to open;	otherwise its mode is set to close.

       $tree-_child_entries([$path][,$depth])
	   This	method returns in list context an array	that contains all
	   pathnames of	subentries within the given path. In scalar context it
	   returns the number of subentries in the given path.

	     Example:
	       root
		| foo
		| bar
		|  | bar1
		|  | bar2

	     my	@childentries =	$tree->child_entries('root.bar');
	     # returns (root.bar.bar1, root.bar.bar2)

	     my	$nr_of_subentries = $tree->child_entries('root',2);
	     # returns 4

	   If $path is omitted,	all it is assumed, that	the entry above	'root'
	   is meant. $depth defines the	numbers	of levels.

       $tree->close(entryPath)
	   Close the entry given by entryPath if its mode is close.

       $tree->getmode(entryPath)
	   Returns the current mode of the entry given by entryPath.

       $tree->open(entryPath)
	   Open	the entry given	by entryPath if	its mode is open.

       $tree->setmode(entryPath, mode)
	   This	method is used to indicate whether the entry given by
	   entryPath has children entries and whether the children are
	   visible. mode must be one of	open, close or none. If	mode is	set to
	   open, a (+) indicator is drawn next to the entry. If	mode is	set to
	   close, a (-)	indicator is drawn next	to the entry. If mode is set
	   to none, no indicators will be drawn	for this entry.	The default
	   mode	is none. The open mode indicates the entry has hidden children
	   and this entry can be opened	by the user. The close mode indicates
	   that	all the	children of the	entry are now visible and the entry
	   can be closed by the	user.

BINDINGS
       The basic mouse and keyboard bindings of	the Tree widget	are the	same
       as the bindings of the HList widget.  In	addition, the entries can be
       opened or closed	under the following conditions:

       [1] If the mode of the entry is open, it	can be opened by clicking on
	   its (+) indicator.

       [2] If the mode of the entry is close, it can be	closed by clicking on
	   its (-) indicator.

SEE ALSO
       Tk::HList

AUTHOR
       Perl/TK version by Chris	Dean <ctdean@cogit.com>.  Original Tcl/Tix
       version by Ioi Kim Lam.

       Additions by Renee Baecker <module@renee-baecker.de>

ACKNOWLEDGEMENTS
       Thanks to Achim Bohnet <ach@mpe.mpg.de> for all his help.

perl v5.24.1			  2015-01-31			       Tree(3)

NAME | SYNOPSIS | SUPER-CLASS | STANDARD OPTIONS | WIDGET-SPECIFIC OPTIONS | DESCRIPTION | WIDGET METHODS | BINDINGS | SEE ALSO | AUTHOR | ACKNOWLEDGEMENTS

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

home | help