blt_tree man page on SuSE

Man page or keyword search:  
man Server   14857 pages
apropos Keyword Search (all sections)
Output format
SuSE logo
[printable version]

tree(n)			     BLT Built-In Commands		       tree(n)

______________________________________________________________________________

NAME
       tree -  Create and manage tree data objects.

SYNOPSIS
       blt::tree create ?treeName?

       blt::tree destroy treeName...

       blt::tree names ?pattern?
_________________________________________________________________

DESCRIPTION
       The  tree  command creates tree data objects.  A tree object is general
       ordered tree of nodes.  Each node has both a label and a key-value list
       of data.	 Data can be heterogeneous, since nodes do not have to contain
       the same data keys.  It is associated with a Tcl command that  you  can
       use  to	access and modify the its structure and data. Tree objects can
       also be managed via a C API.

INTRODUCTION
EXAMPLE
SYNTAX
       tree create ?treeName?
	      Creates a new  tree  object.   The  name	of  the	 new  tree  is
	      returned.	  If no treeName argument is present, then the name of
	      the  tree	 is  automatically  generated  in  the	form  "tree0",
	      "tree1", etc.  If the substring "#auto" is found in treeName, it
	      is automatically substituted by a generated name.	 For  example,
	      the name .foo.#auto.bar will be translated to .foo.tree0.bar.

	      A	 new  Tcl  command (by the same name as the tree) is also cre‐
	      ated.  Another Tcl command or tree object can not already	 exist
	      as  treeName.  If the Tcl command is deleted, the tree will also
	      be freed.	 The new tree will contain just the root node.	 Trees
	      are by default, created in the current namespace, not the global
	      namespace, unless treeName contains a namespace qualifier,  such
	      as "fred::myTree".

       tree destroy treeName...
	      Releases	one  of	 more  trees.  The Tcl command associated with
	      treeName is also removed.	 Trees	are  reference	counted.   The
	      internal	tree  data object isn't destroyed until no one else is
	      using the tree.

       tree names ?pattern?
	      Returns the names of all tree objects.  if a pattern argument is
	      given, then the only those trees whose name matches pattern will
	      be listed.

NODE IDS AND TAGS
       Nodes in a tree object may be referred in either of two ways: by id  or
       by tag.	Each node has a unique serial number or id that is assigned to
       that node when it's created. The id of an node  never  changes  and  id
       numbers are not re-used.

       A  node	may also have any number of tags associated with it.  A tag is
       just a string of characters, and it may take any form except that of an
       integer.	  For example, "x123" is valid, but "123" isn't.  The same tag
       may be associated with many different nodes.  This is commonly done  to
       group nodes in various interesting ways.

       There  are two built-in tags: The tag all is implicitly associated with
       every node in the tree.	It may be used to invoke operations on all the
       nodes  in  the tree.  The tag root is managed automatically by the tree
       object. It applies to the node currently set as root.

       When specifying nodes in tree object commands, if the specifier	is  an
       integer	then  it  is assumed to refer to the single node with that id.
       If the specifier is not an integer, then it is assumed to refer to  all
       of  the	nodes in the tree that have a tag matching the specifier.  The
       symbol node is used below to indicate that an argument specifies either
       an  id  that  selects  a single node or a tag that selects zero or more
       nodes.  Many tree commands only operate on a single node at a time;  if
       node  is	 specified  in	a way that names multiple items, then an error
       "refers to more than one node" is generated.

NODE MODIFIERS
       You can also specify node in relation to another node by appending  one
       or  more	 modifiers to the node id or tag.  A modifier refers to a node
       in relation to the specified  node.   For  example,  "root->firstchild"
       selects the first subtree of the root node.

       The following modifiers are available:

	      firstchild
			Selects the first child of the node.

	      lastchild Selects the last child of the node.

	      next	Selects the next node in preorder to the node.

	      nextsibling
			Selects the next sibling of the node.

	      parent	Selects the parent of the node.

	      previous	Selects the previous node in preorder to the node.

	      prevsibling
			Selects the previous sibling of the node.

	      "label"	Selects	 the  node  whose  label  is label.  Enclosing
			label in quotes indicates to always search for a  node
			by its label (for example, even if the node is labeled
			"parent").

       It's an error the node can't be	found.	 For  example,	lastchild  and
       firstchild  will	 generate  errors  if  the  node has no children.  The
       exception to this is the index operation.  You can use index to test if
       a modifier is valid.

TREE OPERATIONS
       Once  you create a tree object, you can use its Tcl command to query or
       modify it.  The general form is treeName operation ?arg?...  Both oper‐
       ation  and  its	arguments determine the exact behavior of the command.
       The operations available for trees are listed below.

       treeName ancestor node1 node2
	      Returns the mutual ancestor of the two nodes  node1  and	node2.
	      The ancestor can be one of the two nodes.	 For example, if node1
	      and node2 are the same nodes, their ancestor is node1.

       treeName apply node ?switches?
	      Runs commands for all  nodes  matching  the  criteria  given  by
	      switches	for  the  subtree  designated by node.	By default all
	      nodes match, but you can set switches to narrow the match.  This
	      operation	 differs from find in two ways: 1) Tcl commands can be
	      invoked both pre- and post-traversal of a node and 2)  the  tree
	      is always traversed in depth first order.

	      The  -exact, -glob, and -regexp switches indicate both what kind
	      of pattern matching to perform and the pattern.  By default each
	      pattern  will be compared with the node label.  You can set more
	      than one of these switches.  If any of the patterns match (logi‐
	      cal  or), the node matches.  If the -key switch is used, it des‐
	      ignates the data field to be matched.

	      The valid switches are listed below:

	      -depth number
			Descend at most number (a non-negative integer) levels
			If  number is 1 this means only apply the tests to the
			children of node.

	      -exact string
			Matches each node using string.	 The node  must	 match
			string exactly.

	      -glob string
			Test  each  node to string using global pattern match‐
			ing.  Matching is done in a fashion  similar  to  that
			used by the C-shell.

	      -invert	Select	non-matching  nodes.   Any  node  that doesn't
			match the given criteria will be selected.

	      -key key	If pattern matching is	selected  (using  the  -exact,
			-glob, or -regexp switches), compare the values of the
			data field keyed by key instead of the	node's	label.
			If no pattern matching switches are set, then any node
			with this data key will match.

	      -leafonly Only test nodes with no children.

	      -nocase	Ignore case when matching patterns.

	      -path	Use the node's full path when  comparing  nodes.   The
			node's	full  path  is a list of labels, starting from
			the root of each ancestor and the node itself.

	      -precommand command
			Invoke command for each matching node.	Before command
			is  invoked,  the id of the node is appended.  You can
			control processing by the return value of command.  If
			command	 generates  an error, processing stops and the
			find operation	returns	 an  error.   But  if  command
			returns break, then processing stops, no error is gen‐
			erated.	 If command returns continue, then  processing
			stops on that subtree and continues on the next.

	      -postcommand command
			Invoke command for each matching node.	Before command
			is invoked, the id of the node is appended.   You  can
			control processing by the return value of command.  If
			command generates an error, processing stops  and  the
			find  operation	 returns  an  error.   But  if command
			returns break, then processing stops, no error is gen‐
			erated.	  If command returns continue, then processing
			stops on that subtree and continues on the next.

	      -regexp string
			Test each node using string as	a  regular  expression
			pattern.

	      -tag string
			Only test nodes that have the tag string.

       treeName attach treeObject
	      Attaches	to  an	existing  tree object treeObject.  This is for
	      cases where the tree object was previously  created  via	the  C
	      API.   The  current  tree associated with treeName is discarded.
	      In addition, the current	set  of	 tags,	notifier  events,  and
	      traces are removed.

       treeName children node
	      Returns a list of children for node.  If node is a leaf, then an
	      empty string is returned.

       treeName copy srcNode ?destTree? parentNode ?switches?
	      Copies srcNode into parentNode. Both nodes srcNode and  parentN‐
	      ode  must already exist. The id of the new node is returned. You
	      can copy from one tree to another.  If a	destTree  argument  is
	      present,	it  indicates  the  name  of the destination tree.  By
	      default both the source and destination trees are the same.  The
	      valid switches are listed below:

	      -label string
		     Label  destNode  as string.  By default, destNode has the
		     same label as srcNode.

	      -overwrite
		     Overwrite nodes that already exist.  Normally  nodes  are
		     always  created,  even  if there already exists a node by
		     the same name.  This switch indicates to add or overwrite
		     the node's data fields.

	      -recurse
		     Recursively copy all the subtrees of srcNode as well.  In
		     this case, srcNode can't be an ancestor of destNode as it
		     would result in a cyclic copy.

	      -tags  Copy  tag	inforation.   Normally	the  following node is
		     copied: its label and data	 fields.   This	 indicates  to
		     copy tags as well.

       treeName degree node
	      Returns the number of children of node.

       treeName delete node...
	      Recursively  deletes  one or more nodes from the tree.  The node
	      and all its descendants are removed.   The one exception is  the
	      root node.  In this case, only its descendants are removed.  The
	      root node will remain.  Any tags or  traces  on  the  nodes  are
	      released.

       treeName depth node
	      Returns the depth of the node.  The depth is the number of steps
	      from the node to the root of the tree.  The depth	 of  the  root
	      node is 0.

       treeName dump node
	      Returns a list of the paths and respective data for node and its
	      descendants.   The  subtree  designated  by  node	 is  traversed
	      returning the following information for each node: 1) the node's
	      path relative to node, 2) a sublist key value pairs representing
	      the  node's  data	 fields,  and 3) a sublist of tags.  This list
	      returned can be used later to copy or restore the tree with  the
	      restore operation.

       treeName dumpfile node fileName
	      Writes  a list of the paths and respective data for node and its
	      descendants to the given file fileName.  The subtree  designated
	      by  node	is  traversed  returning the following information for
	      each node: 1) the node's path relative to node, 2) a sublist key
	      value  pairs  representing the node's data fields, and 3) a sub‐
	      list of tags.  This list returned can be used later to  copy  or
	      restore the tree with the restore operation.

       treeName exists node ?key?
	      Indicates	 if  node  exists  in  the tree.  If a key argument is
	      present then the command also indicates if the named data	 field
	      exists.

       treeName find node ?switches?
	      Finds  for all nodes matching the criteria given by switches for
	      the subtree designated by node.  A list of the selected nodes is
	      returned.	  By default all nodes match, but you can set switches
	      to narrow the match.

	      The -exact, -glob, and -regexp switches indicate both what  kind
	      of pattern matching to perform and the pattern.  By default each
	      pattern will be compared with the node label.  You can set  more
	      than one of these switches.  If any of the patterns match (logi‐
	      cal or), the node matches.  If the -key switch is used, it  des‐
	      ignates the data field to be matched.

	      The  order in which the nodes are traversed is controlled by the
	      -order switch.  The possible orderings are preorder,  postorder,
	      inorder, and breadthfirst.  The default is postorder.

	      The valid switches are listed below:

	      -addtag string
			Add the tag string to each selected node.

	      -count number
			Stop  processing  after	 number	 (a  positive integer)
			matches.

	      -depth number
			Descend at most number (a non-negative integer) levels
			If  number is 1 this means only apply the tests to the
			children of node.

	      -exact string
			Matches each node using string.	 The node  must	 match
			string exactly.

	      -exec command
			Invoke command for each matching node.	Before command
			is invoked, the id of the node is appended.   You  can
			control processing by the return value of command.  If
			command generates an error, processing stops  and  the
			find  operation	 returns  an  error.   But  if command
			returns break, then processing stops, no error is gen‐
			erated.	  If command returns continue, then processing
			stops on that subtree and continues on the next.

	      -glob string
			Test each node to string using global  pattern	match‐
			ing.   Matching	 is  done in a fashion similar to that
			used by the C-shell.

	      -invert	Select non-matching  nodes.   Any  node	 that  doesn't
			match the given criteria will be selected.

	      -key key	Compare	 the  values  of  the  data field keyed by key
			instead of the node's label. If no  pattern  is	 given
			(-exact,  -glob,  or  -regexp switches), then any node
			with this data key will match.

	      -leafonly Only test nodes with no children.

	      -nocase	Ignore case when matching patterns.

	      -order string
			Traverse the  tree  and	 process  nodes	 according  to
			string. String can be one of the following:

			breadthfirst
				  Process  the	node  and the subtrees at each
				  sucessive level. Each node  on  a  level  is
				  processed before going to the next level.

			inorder	  Recursively  process	the nodes of the first
				  subtree,  the	 node  itself,	and  any   the
				  remaining subtrees.

			postorder Recursively  process all subtrees before the
				  node.

			preorder  Recursively process the node first, then any
				  subtrees.

	      -path	Use the node's full path when comparing nodes.

	      -regexp string
			Test  each  node  using string as a regular expression
			pattern.

	      -tag string
			Only test nodes that have the tag string.

       treeName findchild node label
	      Searches for a child node Ilabel in node.	 The id of  the	 child
	      node is returned if found.  Otherwise -1 is returned.

       treeName firstchild node
	      Returns  the  id	of  the first child in the node's list of sub‐
	      trees.  If node  is  a  leaf  (has  no  children),  then	-1  is
	      returned.

       treeName get node ?key? ?defaultValue?
	      Returns  a list of key-value pairs of data for the node.	If key
	      is present, then onlyx the value for that particular data	 field
	      is  returned.   It's  normally an error if node does not contain
	      the data field key.  But if you provide a defaultValue argument,
	      this  value  is  returned	 instead  (node will still not contain
	      key).  This feature can be used to access a data field  of  node
	      without  first testing if it exists.  This operation may trigger
	      read data traces.

       treeName index node
	      Returns the id of node.  If node is a tag, it can	 only  specify
	      one node.	 If node does not represent a valid node id or tag, or
	      has modifiers that are invalid, then -1 is returned.

       treeName insert parent ?switches?
	      Inserts a new node into parent node parent.  The id of  the  new
	      node is returned. The following switches are available:

	      -after child
			Position  node	after child.  The node child must be a
			child of parent.

	      -at number
			Inserts the node into parent's	list  of  children  at
			position number.  The default is to append node.

	      -before child
			Position  node before child.  The node child must be a
			child of parent.

	      -data dataList
			Sets the value for each data field in dataList for the
			new node. DataList is a list of key-value pairs.

	      -label string
			Designates  the	 labels	 of  the  node	as string.  By
			default, nodes are labeled as node0, node1, etc.

	      -node id	Designates the id for the node.	 Normally new ids  are
			automatically  generated.  This allows you to create a
			node with a specific id.  It is an error if the id  is
			already used by another node in the tree.

	      -tags tagList
			Adds each tag in tagList to the new node. TagList is a
			list of tags, so be careful  if	 a  tag	 has  embedded
			space.

       treeName is property args
	      Indicates	 the property of a node. Both property and args deter‐
	      mine the property being tested.  Returns 1 if true and 0	other‐
	      wise.  The following property and args are valid:

	      ancestor node1 node2
			Indicates if node1 is an ancestor of node2.

	      before node1 node2
			Indicates if node1 is before node2 in depth first tra‐
			versal.

	      leaf node Indicates if node is a leaf (it has no subtrees).

	      root node Indicates if node is the designated root.  This can be
			changed by the root operation.

       treeName label node ?newLabel?
	      Returns  the  label of the node designated by node.  If newLabel
	      is present, the node is relabeled using it as the new label.

       treeName lastchild node
	      Returns the id of the last child in the node's list of subtrees.
	      If node is a leaf (has no children), then -1 is returned.

       treeName move node newParent ?switches?
	      Moves node into newParent. Node is appended to the list children
	      of newParent.  Node can not be an ancestor  of  newParent.   The
	      valid flags for switches are described below.

	      -after child
			Position  node	after child.  The node child must be a
			child of newParent.

	      -at number
			Inserts node into parent's list of children  at	 posi‐
			tion number. The default is to append the node.

	      -before child
			Position  node before child.  The node child must be a
			child of newParent.

       treeName next node
	      Returns the next node from node in  a  preorder  traversal.   If
	      node is the last node in the tree, then -1 is returned.

       treeName nextsibling node
	      Returns  the node representing the next subtree from node in its
	      parent's list of children.  If node is the last child,  then  -1
	      is returned.

       treeName notify args
	      Manages  notification  events that indicate that the tree struc‐
	      ture has been changed.  See the NOTIFY OPERATIONS section below.

       treeName parent node
	      Returns the parent node of node.	If node is  the	 root  of  the
	      tree, then -1 is returned.

       treeName path node
	      Returns the full path (from root) of node.

       treeName position node
	      Returns  the  position of the node in its parent's list of chil‐
	      dren.  Positions are numbered from 0.  The position of the  root
	      node is always 0.

       treeName previous node
	      Returns the previous node from node in a preorder traversal.  If
	      node is the root of the tree, then -1 is returned.

       treeName prevsibling node
	      Returns the node representing the previous subtree from node  in
	      its parent's list of children.  If node is the first child, then
	      -1 is returned.

       treeName restore node dataString switches
	      Performs the inverse function of the dump	 operation,  restoring
	      nodes  to	 the tree. The format of dataString is exactly what is
	      returned by the dump operation.  It's a list containing informa‐
	      tion  for each node to be restored.  The information consists of
	      1) the relative path of the node, 2)  a  sublist	of  key	 value
	      pairs  representing  the	node's data, and 3) a list of tags for
	      the node.	 Nodes are created starting from node.	Nodes  can  be
	      listed  in any order.  If a node's path describes ancestor nodes
	      that do not already exist, they are automatically created.   The
	      valid switches are listed below:

	      -overwrite
		     Overwrite	nodes  that already exist.  Normally nodes are
		     always created, even if there already exists  a  node  by
		     the same name.  This switch indicates to add or overwrite
		     the node's data fields.

       treeName restorefile node fileName switches
	      Performs the inverse function of the dumpfile operation, restor‐
	      ing  nodes  to  the  tree	 from the file fileName. The format of
	      fileName is exactly what is returned by the dumpfile  operation.
	      It's a list containing information for each node to be restored.
	      The information consists of 1) the relative path of the node, 2)
	      a	 sublist  of key value pairs representing the node's data, and
	      3) a list of tags for the node.  Nodes are created starting from
	      node.  Nodes  can	 be  listed  in	 any  order.  If a node's path
	      describes ancestor nodes that do not  already  exist,  they  are
	      automatically created.  The valid switches are listed below:

	      -overwrite
		     Overwrite	nodes  that already exist.  Normally nodes are
		     always created, even if there already exists  a  node  by
		     the same name.  This switch indicates to add or overwrite
		     the node's data fields.

       treeName root ?node?
	      Returns the id of the root node.	Normally this is node 0.  If a
	      node  argument  is  provided, it will become the new root of the
	      tree. This lets you temporarily work  within  a  subset  of  the
	      tree.  Changing root affects operations such as next, path, pre‐
	      vious, etc.

       treeName set node key value ?key value...?
	      Sets one or more data fields in node. Node may  be  a  tag  that
	      represents  several nodes.  Key is the name of the data field to
	      be set and value is its respective value.	  This	operation  may
	      trigger write and create data traces.

       treeName size node
	      Returns  the  number  of nodes in the subtree. This includes the
	      node and all its descendants.  The size of a leaf node is 1.

       treeName sort node ?switches?

	      -ascii	Compare strings using the ASCII	 collation order.

	      -command string
			Use command string as a comparison command.   To  com‐
			pare two elements, evaluate a Tcl script consisting of
			command with the two elements appended	as  additional
			arguments.   The  script should return an integer less
			than, equal to, or greater than zero if the first ele‐
			ment  is  to  be  considered  less  than, equal to, or
			greater than the second, respectively.

	      -decreasing
			Sort in decreasing order (largest items come first).

	      -dictionary
			Compare strings using a	 dictionary-style  comparison.
			This  is the same as -ascii except (a) case is ignored
			except as a tie-breaker and (b) if two strings contain
			embedded numbers, the numbers compare as integers, not
			characters.  For example, in -dictionary mode,	bigBoy
			sorts  between	bigbang	 and  bigboy,  and  x10y sorts
			between x9y and x11y.

	      -integer	Compare the nodes as integers.

	      -key string
			Sort based upon the node's data field keyed by string.
			Normally nodes are sorted according to their label.

	      -path	Compare the full path of each node.  The default is to
			compare only its label.

	      -real	Compare the nodes as real numbers.

	      -recurse	Recursively sort the entire subtree rooted at node.

	      -reorder	Recursively sort subtrees  for	each  node.   Warning.
			Unlike	the normal flat sort, where a list of nodes is
			returned, this will reorder the tree.

       treeName tag args
	      Manages tags for the tree object.	 See the TAG  OPERATIONS  sec‐
	      tion below.

       treeName trace args
	      Manages traces for data fields in the tree object.  Traces cause
	      Tcl commands to be executed whenever a data field of a  node  is
	      created,	read, written, or unset.  Traces can be set for a spe‐
	      cific node or a tag, representing possibly many nodes.  See  the
	      TRACE OPERATIONS section below.

       treeName unset node key...
	      Removes  one  or	more  data fields from node. Node may be a tag
	      that represents several nodes.  Key is  the  name	 of  the  data
	      field to be removed.  It's not an error is node does not contain
	      key.  This operation may trigger unset data traces.

TAG OPERATIONS
       Tags are a general means of selecting and marking nodes in the tree.  A
       tag  is	just  a	 string of characters, and it may take any form except
       that of an integer.  The same tag may be associated with many different
       nodes.

       There  are two built-in tags: The tag all is implicitly associated with
       every node in the tree.	It may be used to invoke operations on all the
       nodes  in  the tree.  The tag root is managed automatically by the tree
       object.	It specifies the node that is currently set as the root of the
       tree.

       Most  tree operations use tags.	And several operations let you operate
       on multiple nodes at once.  For example, you can use the set  operation
       with the tag all to set a data field in for all nodes in the tree.

       Tags  are  invoked  by the tag operation.  The general form is treeName
       tag operation ?arg?...  Both operation and its arguments determine  the
       exact  behavior	of the command.	 The operations available for tags are
       listed below.

       treeName tag add string node...
	      Adds the tag string to one of more nodes.

       treeName tag delete string node...
	      Deletes the tag string from one or more nodes.

       treeName tag forget string
	      Removes the tag string from all nodes.  It's not an error if  no
	      nodes are tagged as string.

       treeName tag names ?node?
	      Returns  a list of tags used by the tree.	 If a node argument is
	      present, only those tags used by node are returned.

       treeName tag nodes string
	      Returns a list of nodes that have the tag string.	 If no node is
	      tagged as string, then an empty string is returned.

TRACE OPERATIONS
       Data  fields  can be traced much in the same way that you can trace Tcl
       variables.  Data traces cause Tcl commands to be	 executed  whenever  a
       particular data field of a node is created, read, written, or unset.  A
       trace can apply to one or more nodes.  You can trace a specific node by
       using its id, or a group of nodes by a their tag.

       The  tree's  get, set, and unset operations can trigger various traces.
       The get operation can cause a read  trace to fire.  The	set  operation
       causes a write trace to fire.  And if the data field is written for the
       first time, you will also get a	create	trace.	 The  unset  operation
       triggers unset traces.

       Data  traces  are  invoked by the trace operation.  The general form is
       treeName trace operation ?arg?...  Both	operation  and	its  arguments
       determine  the exact behavior of the command.  The operations available
       for traces are listed below.

       treeName trace create node key ops command
	      Creates a trace for node on data field key.  Node can  refer  to
	      more than one node (for example, the tag all). If node is a tag,
	      any node with that tag can possibly trigger  a  trace,  invoking
	      command.	Command is command prefix, typically a procedure name.
	      Whenever a trace is triggered, four arguments  are  appended  to
	      command before it is invoked: treeName, id of the node, key and,
	      ops.  Note that no nodes need have the field key.	 A trace iden‐
	      tifier in the form "trace0", "trace1", etc.  is returned.

	      Ops  indicates which operations are of interest, and consists of
	      one or more of the following letters:

	      r	     Invoke command whenever key is read. Both read and	 write
		     traces are temporarily disabled when command is executed.

	      w	     Invoke  command  whenever	key is written.	 Both read and
		     write traces are temporarily  disabled  when  command  is
		     executed.

	      c	     Invoke command whenever key is created.

	      u	     Invoke  command  whenever	key is unset.  Data fields are
		     typically unset with the unset command.   Data fields are
		     also  unset when the tree is released, but all traces are
		     disabled prior to that.

       treeName trace delete traceId...
	      Deletes one of more traces.  TraceId  is	the  trace  identifier
	      returned by the trace create operation.

       treeName trace info traceId
	      Returns information about the trace traceId.  TraceId is a trace
	      identifier previously returned by the  trace  create  operation.
	      It's  the same information specified for the trace create opera‐
	      tion.  It consists of the node id or  tag,  data	field  key,  a
	      string  of  letters  indicating  the  operations that are traced
	      (it's in the same form as ops) and, the command prefix.

       treeName trace names
	      Returns a list of identifers for all the current traces.

NOTIFY OPERATIONS
       Tree objects can be shared among many clients, such as a hiertable wid‐
       get.   Any  client  can	create or delete nodes, sorting the tree, etc.
       You can request to be notified whenever	these  events  occur.	Notify
       events cause Tcl commands to be executed whenever the tree structure is
       changed.

       Notifications are handled by the notify operation.  The general form is
       treeName	 notify	 operation  ?arg?...  Both operation and its arguments
       determine the exact behavior of the command.  The operations  available
       for events are listed below.

       treeName notify create ?switches? command ?args?...
	      Creates  a  notifier  for	 the tree.  A notify identifier in the
	      form "notify0", "notify1", etc.  is returned.

	      Command and args are saved and invoked whenever the tree	struc‐
	      ture  is	changed	 (according  to	 switches).  Two arguments are
	      appended to command and args before it's invoked: the id of  the
	      node  and	 a string representing the type of event that occured.
	      One of more switches can be set to indicate the events that  are
	      of interest.  The valid switches are as follows:

	      -create	Invoke command whenever a new node has been added.

	      -delete	Invoke command whenever a node has been deleted.

	      -move	Invoke command whenever a node has been moved.

	      -sort	Invoke	command	 whenever the tree has been sorted and
			reordered.

	      -relabel	Invoke command whenever a node has been relabeled.

	      -allevents
			Invoke command whenever any of the above events occur.

	      -whenidle When an event occurs don't invoke command immediately,
			but queue it to be run the next time the event loop is
			entered and there are no events to process.  If subse‐
			quent  events  occur before the event loop is entered,
			command will still be invoked only once.

       treeName notify delete notifyId
	      Deletes one or more notifiers from the tree.   NotifyId  is  the
	      notifier identifier returned by the notify create operation.

       treeName notify info notifyId
	      Returns  information  about the notify event notifyId.  NotifyId
	      is a notify identifier previously returned by the notify	create
	      operation.   It's	 the same information specified for the notify
	      create operation.	 It consists of the notify id,	a  sublist  of
	      event  flags  (it's  in the same form as flags) and, the command
	      prefix.

       treeName notify names
	      Returns a list of identifers for all the current notifiers.

C LANGUAGE API
       Blt_TreeApply, Blt_TreeApplyBFS, Blt_TreeApplyDFS,  Blt_TreeChangeRoot,
       Blt_TreeCreate,	   Blt_TreeCreateEventHandler,	   Blt_TreeCreateNode,
       Blt_TreeCreateTrace,  Blt_TreeDeleteEventHandler,   Blt_TreeDeleteNode,
       Blt_TreeDeleteTrace,	    Blt_TreeExists,	    Blt_TreeFindChild,
       Blt_TreeFirstChild, Blt_TreeFirstKey,  Blt_TreeGetNode,	Blt_TreeGetTo‐
       ken,	Blt_TreeGetValue,     Blt_TreeIsAncestor,    Blt_TreeIsBefore,
       Blt_TreeIsLeaf,	Blt_TreeLastChild,   Blt_TreeMoveNode,	 Blt_TreeName,
       Blt_TreeNextKey, Blt_TreeNextNode, Blt_TreeNextSibling, Blt_TreeNodeDe‐
       gree, Blt_TreeNodeDepth, Blt_TreeNodeId, Blt_TreeNodeLabel,  Blt_TreeN‐
       odeParent,  Blt_TreePrevNode, Blt_TreePrevSibling, Blt_TreeRelabelNode,
       Blt_TreeReleaseToken, Blt_TreeRootNode, Blt_TreeSetValue, Blt_TreeSize,
       Blt_TreeSortNode, and Blt_TreeUnsetValue.

KEYWORDS
       tree, hiertable, widget

BLT				      2.4			       tree(n)
[top]

List of man pages available for SuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net