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.
EZ_TreeNode *EZ_TreeNodeGetParent(EZ_TreeNode *node);
EZ_TreeNode *EZ_TreeFindNodeUsingProcedure(EZ_TreeNode *root,
EZ_TreeNode *(*f)(EZ_TreeNode *node, void *data), void *cdata );
void EZ_TreeSetCharacter(EZ_TreeNode *node,
int type, int indent, int spacing, int drawBranch);
void EZ_TreeTraverseTree(EZ_TreeNode *node,
void (*preF)(EZ_TreeNode *node)),
void (*postF)(EZ_TreeNode *node) );
void EZ_DisplayTreeInDrawable(EZ_Widget *widget, Drawable drawable,
int x0, int y0, EZ_TreeNode *node,
int Rx, int Ry, int Rw, int Rh);
EZ_TreeNode *EZ_TreeNodeGetChildren(EZ_TreeNode *node);
EZ_TreeNode *EZ_TreeNodeGetSibling(EZ_TreeNode *node);
EZ_TreeNode *EZ_TreeFindNode(EZ_TreeNode *root, EZ_TreeNode *node);
EZ_TreeNode *EZ_TreeFindNodeUsingItem(EZ_TreeNode *root, EZ_Item *item);
void EZ_TreeDestroySubtree(EZ_TreeNode *node);
void EZ_TreeDestroyNodeDescendants(EZ_TreeNode *node);
void EZ_TreeAttachSubtree(EZ_TreeNode *node, EZ_TreeNode *subtree);
void EZ_TreeDetachSubtree(EZ_TreeNode *node);
void EZ_TreeSetFGColor(EZ_TreeNode *node, unsigned long pv);
void EZ_TreeSetFGColorName (EZ_TreeNode *node, char *name);
void EZ_TreeSetBGColor(EZ_TreeNode *node, unsigned long pv);
void EZ_TreeSetBGColorName(EZ_TreeNode *node, char *name);
void EZ_ComputeSubtreeSize(EZ_TreeNode *node, int *w, int *h, int *parity);
EZ_Item *EZ_TreeNodeGetItem(EZ_TreeNode *node);