DOKK / manpages / debian 12 / blt-dev / Blt_TreeDeleteNode.3.en
Blt_TreeDeleteNode(3) BLT Library Procedures Blt_TreeDeleteNode(3)


Blt_TreeDeleteNode - Deletes a node and its descendants.

#include <bltTree.h>

Blt_TreeNode
Blt_TreeDeleteNode(tree, node)

Blt_Tree tree (in)
Tree containing the node.
Blt_TreeNode node (in)
Node to be deleted.
    

This procedure deletes a given node and all it descendants from a tree data object.

The arguments are as follows:

The tree containing the parent node.
Node to be deleted. The node and its descendant nodes are deleted. Each node's data values are deleted also. The reference count of the Tcl_Obj is decremented.

Since all tree objects must contain at least a root node, the root node itself can't be deleted unless the tree is released and destroyed. Therefore you can clear a tree by deleting its root, but the root node will remain until the tree is destroyed.

Always returns TCL_OK. Errors generated in a notification callbacks are backgrounded (see Tcl_TreeCreateNotifyHandler).

The following example deletes the root node.


Blt_TreeNode root;
root = Blt_TreeRootNode(token);
Blt_TreeDeleteNode(token, root);

Blt_TreeDeleteNode can trigger tree notify events. You can be notified whenever a node is deleted by using the Blt_TreeCreateNotifyHandler. A callback routine is registered that will be automatically invoked whenever a node is deleted via Blt_TreeDeleteNode to the tree.

tree, token

2.5 BLT