EZ
Up Prev Next Contents


11.1 Trees

Trees are built from the special data structure EZ_TreeNode. A tree node is created by the procedure

EZ_TreeNode *EZ_CreateTreeNode(EZ_TreeNode *parent, EZ_Item *item);

The tree object is used only in the Tree widget.

EZwgl includes commands for manipulating trees as well as special commands for manipulating directory trees.

11.1.1 Interface Routines

EZ_TreeNode *EZ_TreeNodeGetParent(EZ_TreeNode *node);

return the parent node.

EZ_TreeNode *EZ_TreeNodeGetChildren(EZ_TreeNode *node);

return the first child.

EZ_TreeNode *EZ_TreeNodeGetSibling(EZ_TreeNode *node);

return the sibling node.

EZ_TreeNode *EZ_TreeFindNode(EZ_TreeNode *root, EZ_TreeNode *node);

find a node in a tree.

EZ_TreeNode *EZ_TreeFindNodeUsingItem(EZ_TreeNode *root, EZ_Item *item);

find a node using display item as the search key.

EZ_TreeNode *EZ_TreeFindNodeUsingProcedure(EZ_TreeNode *root, EZ_TreeNode *(*f)(EZ_TreeNode *node, void *data), void *cdata );

search for a tree node using the specified procedure.

void EZ_TreeDestroySubtree(EZ_TreeNode *node);

destruct a subtree.

void EZ_TreeDestroyNodeDescendants(EZ_TreeNode *node);

destroy all descendants of a tree node.

void EZ_TreeAttachSubtree(EZ_TreeNode *node, EZ_TreeNode *subtree);

append a subtree to a tree node.

void EZ_TreeDetachSubtree(EZ_TreeNode *node);

detach a node and its descendants from a tree.

void EZ_TreeSetCharacter(EZ_TreeNode *node, int type, int indent, int spacing, int drawBranch);

set the display characteristics for a tree.

void EZ_TreeTraverseTree(EZ_TreeNode *node, void (*preF)(EZ_TreeNode *node)), void (*postF)(EZ_TreeNode *node) );

traverse a tree and execute the supplied procedures on each node.

void EZ_TreeSetFGColor(EZ_TreeNode *node, unsigned long pv);

void EZ_TreeSetFGColorName (EZ_TreeNode *node, char *name);

set the foreground color for all nodes.

void EZ_TreeSetBGColor(EZ_TreeNode *node, unsigned long pv);

void EZ_TreeSetBGColorName(EZ_TreeNode *node, char *name);

set the background color for all nodes.

void EZ_ComputeSubtreeSize(EZ_TreeNode *node, int *w, int *h, int *parity);

compute the minimal rectangle needed to hold a subtree.

void EZ_DisplayTreeInDrawable(EZ_Widget *widget, Drawable drawable, int x0, int y0, EZ_TreeNode *node, int Rx, int Ry, int Rw, int Rh);

display a subtree.

EZ_Item *EZ_TreeNodeGetItem(EZ_TreeNode *node);

return the item assigned to a tree node.


Up Prev Next Contents

HTML Documentation Maintainance:Arturo Espinosa <arturo@nuclecu.unam.mx>