## 11.2 Directory Trees

EZwgl provides a few convenience routines for programmers to manipulating directory trees.

A directory tree is created by calling

    EZ_TreeNode *EZ_CreateDirTree(EZ_DirTreeNodeCreator creator,
                char *patterns, void *client_data, int open_mode);

where `creator` is a function of type

     EZ_TreeNode *creator(char *path, void *client_data);

`pattern` is a glob pattern such as `"/home/mzou/*"` or `"*.c *.h"`;

`client_data` is an arbitary client data to be passed to `creator` and

`open_mode` is a flag which specifies how to open a directory node when a double button1 clicks occurs on the node. Must be

    EZ_DIR_NODE_OPEN_DIRECTORY_NONE
    EZ_DIR_NODE_OPEN_DIRECTORY_DEFAULT
    EZ_DIR_NODE_OPEN_DIRECTORY_COLLAPSING

### 11.2.1 Interface Routines

`void EZ_OpenCloseDirTreeDirectoryNode(EZ_Item *item, int collaps);`

open or close (depends on the current status) a directory node.

`char *EZ_GetDirTreeNodeFullPath(EZ_TreeNode *node);`

return the full pathname of a dir tree node.

`void EZ_SetDirTreeOpenDirectoryMode(EZ_TreeNode *node, int mode);`

set the openning mode of a dir tree.

`void EZ_SetDirTreeDefaultPixmaps(EZ_Bitmap *o, EZ_Bitmap *c, EZ_Bitmap *f);`

`void EZ_SetDirTreeDefaultPixmapsFromXpmFiles(char *o, char *c, char *f);`

set the three default label pixmaps for directory trees.

`void EZ_UpdateDirTreeWidget(EZ_Widget *TreeWidget);`

update a dir tree widget.

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