## ETree

ETree

## Synopsis

    struct              ETree;
    gboolean            e_tree_construct                    (ETree *e_tree,
                                                             ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_str,
                                                             const gchar *state_str);
    GtkWidget *         e_tree_new                          (ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_str,
                                                             const gchar *state_str);
    gboolean            e_tree_construct_from_spec_file     (ETree *e_tree,
                                                             ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_fn,
                                                             const gchar *state_fn);
    GtkWidget *         e_tree_new_from_spec_file           (ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_fn,
                                                             const gchar *state_fn);
    gchar *             e_tree_get_state                    (ETree *e_tree);
    void                e_tree_save_state                   (ETree *e_tree,
                                                             const gchar *filename);
    ETableState *       e_tree_get_state_object             (ETree *e_tree);
    ETableSpecification * e_tree_get_spec                   (ETree *e_tree);
    void                e_tree_set_search_column            (ETree *e_tree,
                                                             gint col);
    void                e_tree_set_state                    (ETree *e_tree,
                                                             const gchar *state_str);
    void                e_tree_set_state_object             (ETree *e_tree,
                                                             ETableState *state);
    void                e_tree_load_state                   (ETree *e_tree,
                                                             const gchar *filename);
    void                e_tree_show_cursor_after_reflow     (ETree *e_tree);
    void                e_tree_set_cursor                   (ETree *e_tree,
                                                             ETreePath path);
    ETreePath           e_tree_get_cursor                   (ETree *e_tree);
    void                e_tree_selected_row_foreach         (ETree *e_tree,
                                                             EForeachFunc callback,
                                                             gpointer closure);
    void                e_tree_selected_path_foreach        (ETree *e_tree,
                                                             ETreeForeachFunc callback,
                                                             gpointer closure);
    void                e_tree_path_foreach                 (ETree *e_tree,
                                                             ETreeForeachFunc callback,
                                                             gpointer closure);
    EPrintable *        e_tree_get_printable                (ETree *e_tree);
    gint                e_tree_get_next_row                 (ETree *e_tree,
                                                             gint model_row);
    gint                e_tree_get_prev_row                 (ETree *e_tree,
                                                             gint model_row);
    gint                e_tree_model_to_view_row            (ETree *e_tree,
                                                             gint model_row);
    gint                e_tree_view_to_model_row            (ETree *e_tree,
                                                             gint view_row);
    void                e_tree_get_cell_at                  (ETree *tree,
                                                             gint x,
                                                             gint y,
                                                             gint *row_return,
                                                             gint *col_return);
    void                e_tree_get_cell_geometry            (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             gint *x_return,
                                                             gint *y_return,
                                                             gint *width_return,
                                                             gint *height_return);
    ETreeModel *        e_tree_get_model                    (ETree *et);
    ESelectionModel *   e_tree_get_selection_model          (ETree *et);
    ETreeTableAdapter * e_tree_get_table_adapter            (ETree *et);
    void                e_tree_drag_get_data                (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             GdkDragContext *context,
                                                             GdkAtom target,
                                                             guint32 time);
    void                e_tree_drag_highlight               (ETree *tree,
                                                             gint row,
                                                             gint col);
    void                e_tree_drag_unhighlight             (ETree *tree);
    void                e_tree_drag_dest_set                (ETree *tree,
                                                             GtkDestDefaults flags,
                                                             const GtkTargetEntry *targets,
                                                             gint n_targets,
                                                             GdkDragAction actions);
    void                e_tree_drag_dest_set_proxy          (ETree *tree,
                                                             GdkWindow *proxy_window,
                                                             GdkDragProtocol protocol,
                                                             gboolean use_coordinates);
    void                e_tree_drag_dest_unset              (GtkWidget *widget);
    void                e_tree_drag_source_set              (ETree *tree,
                                                             GdkModifierType start_button_mask,
                                                             const GtkTargetEntry *targets,
                                                             gint n_targets,
                                                             GdkDragAction actions);
    void                e_tree_drag_source_unset            (ETree *tree);
    GdkDragContext *    e_tree_drag_begin                   (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             GtkTargetList *targets,
                                                             GdkDragAction actions,
                                                             gint button,
                                                             GdkEvent *event);
    gboolean            e_tree_is_dragging                  (ETree *tree);
    gboolean            e_tree_node_is_expanded             (ETree *et,
                                                             ETreePath path);
    void                e_tree_node_set_expanded            (ETree *et,
                                                             ETreePath path,
                                                             gboolean expanded);
    void                e_tree_node_set_expanded_recurse    (ETree *et,
                                                             ETreePath path,
                                                             gboolean expanded);
    void                e_tree_root_node_set_visible        (ETree *et,
                                                             gboolean visible);
    ETreePath           e_tree_node_at_row                  (ETree *et,
                                                             gint row);
    gint                e_tree_row_of_node                  (ETree *et,
                                                             ETreePath path);
    gboolean            e_tree_root_node_is_visible         (ETree *et);
    void                e_tree_show_node                    (ETree *et,
                                                             ETreePath path);
    void                e_tree_save_expanded_state          (ETree *et,
                                                             gchar *filename);
    void                e_tree_load_expanded_state          (ETree *et,
                                                             gchar *filename);
    xmlDoc *            e_tree_save_expanded_state_xml      (ETree *et);
    void                e_tree_load_expanded_state_xml      (ETree *et,
                                                             xmlDoc *doc);
    gint                e_tree_row_count                    (ETree *et);
    GtkWidget *         e_tree_get_tooltip                  (ETree *et);
    void                e_tree_force_expanded_state         (ETree *et,
                                                             gint state);
    enum                ETreeFindNextParams;
    gboolean            e_tree_find_next                    (ETree *et,
                                                             ETreeFindNextParams params,
                                                             ETreePathFunc func,
                                                             gpointer data);
    void                e_tree_right_click_up               (ETree *et);
    ETableItem *        e_tree_get_item                     (ETree *et);
    GnomeCanvasItem *   e_tree_get_header_item              (ETree *et);
    void                e_tree_set_info_message             (ETree *tree,
                                                             const gchar *info_message);
    void                e_tree_freeze_state_change          (ETree *table);
    void                e_tree_thaw_state_change            (ETree *table);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkTable
                               +----ETree

## Implemented Interfaces

ETree implements AtkImplementorIface, GtkBuildable and GtkScrollable.

## Properties

      "ETreeTableAdapter"        ETreeTableAdapter*    : Read
      "always-search"            gboolean              : Read / Write
      "drawfocus"                gboolean              : Write
      "horizontal-draw-grid"     gboolean              : Write
      "length-threshold"         gint                  : Write
      "uniform-row-height"       gboolean              : Read / Write
      "vertical-draw-grid"       gboolean              : Write

## Style Properties

      "expander-size"            gint                  : Read
      "vertical-spacing"         gint                  : Read

## Signals

      "click"                                          : Run Last
      "cursor-activated"                               : Run Last
      "cursor-change"                                  : Run Last
      "double-click"                                   : Run Last
      "key-press"                                      : Run Last
      "right-click"                                    : Run Last
      "selection-change"                               : Run Last
      "start-drag"                                     : Run Last
      "state-change"                                   : Run Last
      "tree-drag-begin"                                : Run Last
      "tree-drag-data-delete"                          : Run Last
      "tree-drag-data-get"                             : Run Last
      "tree-drag-data-received"                        : Run Last
      "tree-drag-drop"                                 : Run Last
      "tree-drag-end"                                  : Run Last
      "tree-drag-leave"                                : Run Last
      "tree-drag-motion"                               : Run Last
      "white-space-event"                              : Run Last

## Description

## Details

### struct ETree

    struct ETree;

### e_tree_construct ()

    gboolean            e_tree_construct                    (ETree *e_tree,
                                                             ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_str,
                                                             const gchar *state_str);

This is the internal implementation of `e_tree_new()` for use by subclasses or language bindings. See `e_tree_new()` for details.

`e_tree` : | The newly created ETree object.
`etm` : | The model for this table.
`ete` : | An optional ETableExtras. (`NULL` is valid.)
`spec_str` : | The spec.
`state_str` : | An optional state. (`NULL` is valid.)
Returns : | `TRUE` on success, `FALSE` if an error occurred

### e_tree_new ()

    GtkWidget *         e_tree_new                          (ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_str,
                                                             const gchar *state_str);

This function creates an ETree from the given parameters. The ETreeModel is a tree model to be represented. The ETableExtras is an optional set of pixbufs, cells, and sorting functions to be used when interpreting the spec. If you pass in `NULL` it uses the default ETableExtras. (See `e_table_extras_new()`).

`spec` is the specification of the set of viewable columns and the default sorting state and such. `state` is an optional string specifying the current sorting state and such. If `state` is NULL, then the default state from the spec will be used.

`etm` : | The model for this tree
`ete` : | An optional ETableExtras (`NULL` is valid.)
`spec_str` : | The spec
`state_str` : | An optional state (`NULL` is valid.)
Returns : | The newly created ETree or `NULL` if there's an error.

### e_tree_construct_from_spec_file ()

    gboolean            e_tree_construct_from_spec_file     (ETree *e_tree,
                                                             ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_fn,
                                                             const gchar *state_fn);

This is the internal implementation of `e_tree_new_from_spec_file()` for use by subclasses or language bindings. See `e_tree_new_from_spec_file()` for details.

`e_tree` : | The newly created ETree object.
`etm` : | The model for this tree
`ete` : | An optional ETableExtras (`NULL` is valid.)
`spec_fn` : | The filename of the spec
`state_fn` : | An optional state file (`NULL` is valid.)
Returns : | `TRUE` on success, `FALSE` if an error occurred

### e_tree_new_from_spec_file ()

    GtkWidget *         e_tree_new_from_spec_file           (ETreeModel *etm,
                                                             ETableExtras *ete,
                                                             const gchar *spec_fn,
                                                             const gchar *state_fn);

This is very similar to `e_tree_new()`, except instead of passing in strings you pass in the file names of the spec and state to load.

`spec_fn` is the filename of the spec to load. If this file doesn't exist, e_tree_new_from_spec_file will return `NULL`.

`state_fn` is the filename of the initial state to load. If this is `NULL` or if the specified file doesn't exist, the default state from the spec file is used.

`etm` : | The model for this tree.
`ete` : | An optional ETableExtras. (`NULL` is valid.)
`spec_fn` : | The filename of the spec.
`state_fn` : | An optional state file. (`NULL` is valid.)
Returns : | The newly created ETree or `NULL` if there's an error.

### e_tree_get_state ()

    gchar *             e_tree_get_state                    (ETree *e_tree);

Builds a state object based on the current state and returns the string corresponding to that state.

`e_tree` : | The ETree to act on
Returns : | A string describing the current state of the ETree.

### e_tree_save_state ()

    void                e_tree_save_state                   (ETree *e_tree,
                                                             const gchar *filename);

Saves the state of the `e_tree` object into the file pointed by `filename`.

`e_tree` : | The ETree to act on
`filename` : | name of the file to save to

### e_tree_get_state_object ()

    ETableState *       e_tree_get_state_object             (ETree *e_tree);

Builds an ETableState corresponding to the current state of the ETree.

`e_tree` : | ETree object to act on
Returns : | The `ETableState` object generated.

### e_tree_get_spec ()

    ETableSpecification * e_tree_get_spec                   (ETree *e_tree);

Returns the specification object.

`e_tree` : | The ETree to query

### e_tree_set_search_column ()

    void                e_tree_set_search_column            (ETree *e_tree,
                                                             gint col);

This routine sets the current search column to be used for keypress searches of the ETree. If -1 is passed in for column, the current search column is cleared.

`e_tree` : | ETree object that will be modified
`col` : | Column index to use for searches

### e_tree_set_state ()

    void                e_tree_set_state                    (ETree *e_tree,
                                                             const gchar *state_str);

This routine sets the state (as described by ETableState) of the ETree object.

`e_tree` : | ETree object that will be modified
`state_str` : | a string with the XML representation of the ETableState.

### e_tree_set_state_object ()

    void                e_tree_set_state_object             (ETree *e_tree,
                                                             ETableState *state);

### e_tree_load_state ()

    void                e_tree_load_state                   (ETree *e_tree,
                                                             const gchar *filename);

An ETableState will be loaded form the file pointed by `filename` into the `e_tree` object.

`e_tree` : | ETree object that will be modified
`filename` : | name of the file containing the state to be loaded into the ETree

### e_tree_show_cursor_after_reflow ()

    void                e_tree_show_cursor_after_reflow     (ETree *e_tree);

### e_tree_set_cursor ()

    void                e_tree_set_cursor                   (ETree *e_tree,
                                                             ETreePath path);

### e_tree_get_cursor ()

    ETreePath           e_tree_get_cursor                   (ETree *e_tree);

### e_tree_selected_row_foreach ()

    void                e_tree_selected_row_foreach         (ETree *e_tree,
                                                             EForeachFunc callback,
                                                             gpointer closure);

### e_tree_selected_path_foreach ()

    void                e_tree_selected_path_foreach        (ETree *e_tree,
                                                             ETreeForeachFunc callback,
                                                             gpointer closure);

### e_tree_path_foreach ()

    void                e_tree_path_foreach                 (ETree *e_tree,
                                                             ETreeForeachFunc callback,
                                                             gpointer closure);

### e_tree_get_printable ()

    EPrintable *        e_tree_get_printable                (ETree *e_tree);

### e_tree_get_next_row ()

    gint                e_tree_get_next_row                 (ETree *e_tree,
                                                             gint model_row);

### e_tree_get_prev_row ()

    gint                e_tree_get_prev_row                 (ETree *e_tree,
                                                             gint model_row);

### e_tree_model_to_view_row ()

    gint                e_tree_model_to_view_row            (ETree *e_tree,
                                                             gint model_row);

### e_tree_view_to_model_row ()

    gint                e_tree_view_to_model_row            (ETree *e_tree,
                                                             gint view_row);

### e_tree_get_cell_at ()

    void                e_tree_get_cell_at                  (ETree *tree,
                                                             gint x,
                                                             gint y,
                                                             gint *row_return,
                                                             gint *col_return);

Return the row and column for the cell in which the pixel at (`x`, `y`) is contained.

`tree` : | An ETree widget
`x` : | X coordinate for the pixel
`y` : | Y coordinate for the pixel
`row_return` : | Pointer to return the row value
`col_return` : | Pointer to return the column value

### e_tree_get_cell_geometry ()

    void                e_tree_get_cell_geometry            (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             gint *x_return,
                                                             gint *y_return,
                                                             gint *width_return,
                                                             gint *height_return);

Computes the data about this cell.

`tree` : | The tree.
`row` : | The row to get the geometry of.
`col` : | The col to get the geometry of.
`x_return` : | Returns the x coordinate of the upper right hand corner of the cell with respect to the widget.
`y_return` : | Returns the y coordinate of the upper right hand corner of the cell with respect to the widget.
`width_return` : | Returns the width of the cell.
`height_return` : | Returns the height of the cell.

### e_tree_get_model ()

    ETreeModel *        e_tree_get_model                    (ETree *et);

Returns the model upon which this ETree is based.

`et` : | the ETree
Returns : | the model

### e_tree_get_selection_model ()

    ESelectionModel *   e_tree_get_selection_model          (ETree *et);

Returns the selection model of this ETree.

`et` : | the ETree
Returns : | the selection model

### e_tree_get_table_adapter ()

    ETreeTableAdapter * e_tree_get_table_adapter            (ETree *et);

Returns the table adapter this ETree uses.

`et` : | the ETree
Returns : | the model

### e_tree_drag_get_data ()

    void                e_tree_drag_get_data                (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             GdkDragContext *context,
                                                             GdkAtom target,
                                                             guint32 time);

### e_tree_drag_highlight ()

    void                e_tree_drag_highlight               (ETree *tree,
                                                             gint row,
                                                             gint col);

Set col to -1 to highlight the entire row. Set row to -1 to turn off the highlight.

### e_tree_drag_unhighlight ()

    void                e_tree_drag_unhighlight             (ETree *tree);

### e_tree_drag_dest_set ()

    void                e_tree_drag_dest_set                (ETree *tree,
                                                             GtkDestDefaults flags,
                                                             const GtkTargetEntry *targets,
                                                             gint n_targets,
                                                             GdkDragAction actions);

### e_tree_drag_dest_set_proxy ()

    void                e_tree_drag_dest_set_proxy          (ETree *tree,
                                                             GdkWindow *proxy_window,
                                                             GdkDragProtocol protocol,
                                                             gboolean use_coordinates);

### e_tree_drag_dest_unset ()

    void                e_tree_drag_dest_unset              (GtkWidget *widget);

### e_tree_drag_source_set ()

    void                e_tree_drag_source_set              (ETree *tree,
                                                             GdkModifierType start_button_mask,
                                                             const GtkTargetEntry *targets,
                                                             gint n_targets,
                                                             GdkDragAction actions);

### e_tree_drag_source_unset ()

    void                e_tree_drag_source_unset            (ETree *tree);

### e_tree_drag_begin ()

    GdkDragContext *    e_tree_drag_begin                   (ETree *tree,
                                                             gint row,
                                                             gint col,
                                                             GtkTargetList *targets,
                                                             GdkDragAction actions,
                                                             gint button,
                                                             GdkEvent *event);

### e_tree_is_dragging ()

    gboolean            e_tree_is_dragging                  (ETree *tree);

`tree` : | An ETree widget
Returns : | whether is `tree` in a drag&drop operation.

### e_tree_node_is_expanded ()

    gboolean            e_tree_node_is_expanded             (ETree *et,
                                                             ETreePath path);

### e_tree_node_set_expanded ()

    void                e_tree_node_set_expanded            (ETree *et,
                                                             ETreePath path,
                                                             gboolean expanded);

### e_tree_node_set_expanded_recurse ()

    void                e_tree_node_set_expanded_recurse    (ETree *et,
                                                             ETreePath path,
                                                             gboolean expanded);

### e_tree_root_node_set_visible ()

    void                e_tree_root_node_set_visible        (ETree *et,
                                                             gboolean visible);

### e_tree_node_at_row ()

    ETreePath           e_tree_node_at_row                  (ETree *et,
                                                             gint row);

### e_tree_row_of_node ()

    gint                e_tree_row_of_node                  (ETree *et,
                                                             ETreePath path);

### e_tree_root_node_is_visible ()

    gboolean            e_tree_root_node_is_visible         (ETree *et);

### e_tree_show_node ()

    void                e_tree_show_node                    (ETree *et,
                                                             ETreePath path);

### e_tree_save_expanded_state ()

    void                e_tree_save_expanded_state          (ETree *et,
                                                             gchar *filename);

### e_tree_load_expanded_state ()

    void                e_tree_load_expanded_state          (ETree *et,
                                                             gchar *filename);

### e_tree_save_expanded_state_xml ()

    xmlDoc *            e_tree_save_expanded_state_xml      (ETree *et);

### e_tree_load_expanded_state_xml ()

    void                e_tree_load_expanded_state_xml      (ETree *et,
                                                             xmlDoc *doc);

### e_tree_row_count ()

    gint                e_tree_row_count                    (ETree *et);

### e_tree_get_tooltip ()

    GtkWidget *         e_tree_get_tooltip                  (ETree *et);

### e_tree_force_expanded_state ()

    void                e_tree_force_expanded_state         (ETree *et,
                                                             gint state);

### enum ETreeFindNextParams

    typedef enum {
    	E_TREE_FIND_NEXT_BACKWARD = 0,
    	E_TREE_FIND_NEXT_FORWARD = 1 << 0,
    	E_TREE_FIND_NEXT_WRAP = 1 << 1
    } ETreeFindNextParams;

### e_tree_find_next ()

    gboolean            e_tree_find_next                    (ETree *et,
                                                             ETreeFindNextParams params,
                                                             ETreePathFunc func,
                                                             gpointer data);

### e_tree_right_click_up ()

    void                e_tree_right_click_up               (ETree *et);

### e_tree_get_item ()

    ETableItem *        e_tree_get_item                     (ETree *et);

### e_tree_get_header_item ()

    GnomeCanvasItem *   e_tree_get_header_item              (ETree *et);

### e_tree_set_info_message ()

    void                e_tree_set_info_message             (ETree *tree,
                                                             const gchar *info_message);

Creates an info message in table area, or removes old.

`tree` : | ETree instance
`info_message` : | Message to set. Can be NULL.

### e_tree_freeze_state_change ()

    void                e_tree_freeze_state_change          (ETree *table);

### e_tree_thaw_state_change ()

    void                e_tree_thaw_state_change            (ETree *table);

## Property Details

### The `"ETreeTableAdapter"` property

      "ETreeTableAdapter"        ETreeTableAdapter*    : Read

ETree table adapter.

### The `"always-search"` property

      "always-search"            gboolean              : Read / Write

Always search.

Default value: FALSE

### The `"drawfocus"` property

      "drawfocus"                gboolean              : Write

Draw focus.

Default value: FALSE

### The `"horizontal-draw-grid"` property

      "horizontal-draw-grid"     gboolean              : Write

Horizontal Draw Grid.

Default value: FALSE

### The `"length-threshold"` property

      "length-threshold"         gint                  : Write

Length Threshold.

Allowed values: >= 0

Default value: 0

### The `"uniform-row-height"` property

      "uniform-row-height"       gboolean              : Read / Write

Uniform row height.

Default value: FALSE

### The `"vertical-draw-grid"` property

      "vertical-draw-grid"       gboolean              : Write

Vertical Draw Grid.

Default value: FALSE

## Style Property Details

### The `"expander-size"` style property

      "expander-size"            gint                  : Read

Size of the expander arrow.

Allowed values: >= 0

Default value: 10

### The `"vertical-spacing"` style property

      "vertical-spacing"         gint                  : Read

Vertical space between rows. It is added to top and to bottom of a row.

Allowed values: >= 0

Default value: 3

## Signal Details

### The `"click"` signal

    gboolean            user_function                      (ETree    *etree,
                                                            gint      arg1,
                                                            gpointer  arg2,
                                                            gint      arg3,
                                                            GdkEvent *arg4,
                                                            gpointer  user_data)      : Run Last

### The `"cursor-activated"` signal

    void                user_function                      (ETree   *etree,
                                                            gint     arg1,
                                                            gpointer arg2,
                                                            gpointer user_data)      : Run Last

### The `"cursor-change"` signal

    void                user_function                      (ETree   *etree,
                                                            gint     arg1,
                                                            gpointer arg2,
                                                            gpointer user_data)      : Run Last

### The `"double-click"` signal

    void                user_function                      (ETree    *etree,
                                                            gint      arg1,
                                                            gpointer  arg2,
                                                            gint      arg3,
                                                            GdkEvent *arg4,
                                                            gpointer  user_data)      : Run Last

### The `"key-press"` signal

    gboolean            user_function                      (ETree    *etree,
                                                            gint      arg1,
                                                            gpointer  arg2,
                                                            gint      arg3,
                                                            GdkEvent *arg4,
                                                            gpointer  user_data)      : Run Last

### The `"right-click"` signal

    gboolean            user_function                      (ETree    *etree,
                                                            gint      arg1,
                                                            gpointer  arg2,
                                                            gint      arg3,
                                                            GdkEvent *arg4,
                                                            gpointer  user_data)      : Run Last

### The `"selection-change"` signal

    void                user_function                      (ETree   *etree,
                                                            gpointer user_data)      : Run Last

### The `"start-drag"` signal

    void                user_function                      (ETree    *etree,
                                                            gint      arg1,
                                                            gpointer  arg2,
                                                            gint      arg3,
                                                            GdkEvent *arg4,
                                                            gpointer  user_data)      : Run Last

### The `"state-change"` signal

    void                user_function                      (ETree   *etree,
                                                            gpointer user_data)      : Run Last

### The `"tree-drag-begin"` signal

    void                user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            gpointer        user_data)      : Run Last

### The `"tree-drag-data-delete"` signal

    void                user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            gpointer        user_data)      : Run Last

### The `"tree-drag-data-get"` signal

    void                user_function                      (ETree            *etree,
                                                            gint              arg1,
                                                            gpointer          arg2,
                                                            gint              arg3,
                                                            GdkDragContext   *arg4,
                                                            GtkSelectionData *arg5,
                                                            guint             arg6,
                                                            guint             arg7,
                                                            gpointer          user_data)      : Run Last

### The `"tree-drag-data-received"` signal

    void                user_function                      (ETree            *etree,
                                                            gint              arg1,
                                                            gpointer          arg2,
                                                            gint              arg3,
                                                            GdkDragContext   *arg4,
                                                            gint              arg5,
                                                            gint              arg6,
                                                            GtkSelectionData *arg7,
                                                            guint             arg8,
                                                            guint             arg9,
                                                            gpointer          user_data)      : Run Last

### The `"tree-drag-drop"` signal

    gboolean            user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            gint            arg5,
                                                            gint            arg6,
                                                            guint           arg7,
                                                            gpointer        user_data)      : Run Last

### The `"tree-drag-end"` signal

    void                user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            gpointer        user_data)      : Run Last

### The `"tree-drag-leave"` signal

    void                user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            guint           arg5,
                                                            gpointer        user_data)      : Run Last

### The `"tree-drag-motion"` signal

    gboolean            user_function                      (ETree          *etree,
                                                            gint            arg1,
                                                            gpointer        arg2,
                                                            gint            arg3,
                                                            GdkDragContext *arg4,
                                                            gint            arg5,
                                                            gint            arg6,
                                                            guint           arg7,
                                                            gpointer        user_data)      : Run Last

### The `"white-space-event"` signal

    gboolean            user_function                      (ETree    *etree,
                                                            GdkEvent *arg1,
                                                            gpointer  user_data)      : Run Last