## 4.18 Tree Widget

A tree widget lets the user display a "tree" object such as a file tree.

### Widget Info

Symbolic widget type | EZ_WIDGET_TREE
Default class name | "Tree"
Default instance name | "tree"

Symbolic widget type | EZ_WIDGET_ITREE
Default class name | "ITree"
Default instance name | "ITree"

### Subwidgets Info

Subwidgets of Tree are listed below.

            ( iTree
     Tree-->( horizontalScrollbar
            ( verticalScrollbar

### Widget Interface Routines

    void EZ_GetListTreeWidgetComponents(EZ_Widget *widget,
                           EZ_Widget **itr, EZ_Widget **hsc, EZ_Widget **vsc);

return the components of a Tree widget.

`void EZ_SetListTreeWidgetTree(EZ_Widget *widget, EZ_TreeNode *tree);`

set the tree object to be displayed in a tree widget.

`EZ_TreeNode *EZ_GetListTreeWidgetTree(EZ_Widget *widget);`

return the tree object displayed in a tree widget.

`EZ_TreeNode *EZ_GetListTreeWidgetSelection(EZ_Widget *widget);`

return the selected node in a tree widget.

`void EZ_ListTreeWidgetSelectNode(EZ_Widget *widget, EZ_TreeNode *theNode, int *location);`

set the selection in a tree widget and scroll to make the selection visible.

`void EZ_ListTreeWidgetSelectNodeUsingItem(EZ_Widget *widget, EZ_Item *theItem, int *location);`

set the selection in a tree widget and scroll to make the selection visible.

`void EZ_UpdateDirTreeWidget(EZ_Widget *widget);`

if directory tree is displayed, update the directory tree.

`void EZ_GetListTreeWidgetXYOffset (EZ_Widget *widget, int *x, int *y);`

return the XY display offset of a tree widget.

`void EZ_SetListTreeWidgetXYOffset (EZ_Widget *widget, int x, int y);`

set the XY display offset of a tree widget and update the display.

`EZ_TreeNode *EZ_ListTreeFindNodeAtXY(EZ_Widget *tree, int x, int y);`

find and return the node displayed at the specified location.

`void EZ_SetTreeWidgetRowBg(EZ_Widget *widget, int onoff, char *bg1, char *bg2);`

set the alternating background colors for a tree widget.

### Screenshot

### Resources

Config_Option | ResourceName | DefaultValue
EZ_CLASS | class | `"Tree"`
|  | or `"ITree"`
EZ_NAME | name | `"tree"`
|  | or `"iTree"`

EZ_X | x |
EZ_Y | y |
EZ_WIDTH | width |
EZ_HEIGHT | height |

EZ_LOCATION | location |
EZ_SIZE | size |
EZ_GEOMETRY | geometry |

EZ_WIDTH_HINT | widthHint |
EZ_HEIGHT_HINT | heightHint |
EZ_SIZE_HINT | sizeHint |

EZ_BORDER_WIDTH | borderWidth | `0`
EZ_BORDER_TYPE | borderType | `none`
EZ_FOCUS_PAD | focusPad | `0`

EZ_PADX | padx | `0`
EZ_PADY | pady | `0`
EZ_IPADX | iPadx | `0`
EZ_IPADY | iPady | `0`

EZ_CURSOR | cursor | `"XC_left_ptr"`
EZ_BUBBLE_STRING | bubbleString | `null`

EZ_CALLBACK | N/A | `null null`
EZ_MOTION_CALLBACK | N/A | `null null`
EZ_DESTROY_CALLBACK | N/A | `null null`
EZ_EVENT_HANDLER | N/A | `null null`

EZ_FOREGROUND | foreground | `"black"`
EZ_BACKGROUND | background | `"gray74`
EZ_BG_IMAGE_FILE | bgImageFile | `null`
EZ_BG_PIXMAP | N/A | `none`

EZ_BG_IMAGE_FILE_B | bgImageFileB | `null`
EZ_BG_PIXMAP_B | N/A | `none`
EZ_CLIENT_PTR_DATA | N/A | `null`
EZ_CLIENT_INT_DATA | clientIntData | `0`

EZ_DND_DRAG_CURSOR | dndDragCursor | `none`
EZ_DND_BUBBLE_STRING | dndBubbleString | `null`

EZ_SCROLLBAR_WIDTH | scrollbarWidth | `10`
EZ_SCROLLBAR_BORDER_WIDTH | scrollbarBorderWidth | `2`
EZ_HSCROLL_INCREMENT | hScrollIncrement | `1`
EZ_VSCROLL_INCREMENT | vScrollIncrement | `1`

EZ_SELECTION_BACKGROUND | selectionBackground |
EZ_SELECTION_FOREGROUND | selectionForeground |
EZ_TEXT_BACKGROUND | textBackground |

EZ_OPTIONAL_HSCROLLBAR | optionalHScrollbar | `true`
EZ_OPTIONAL_VSCROLLBAR | optionalVScrollbar | `true`

EZ_CHECK_BUTTON_ON_VALUE | checkButtonOnValue | `1`
EZ_CHECK_BUTTON_OFF_VALUE | checkButtonOffValue | `0`
EZ_CHECK_BUTTON_ON_OFF | checkButtonOnOff | `off`

EZ_RADIO_BUTTON_GROUP | radioButtonGroup |
EZ_RADIO_BUTTON_VALUE | radioButtonValue |

EZ_HIGHLIGHT_MODE | highlightMode | `0`
EZ_ROW_BG | rowBg | `off nil nil`

EZ_RUBBER_BAND | rubberBand | `false`

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