### Interface

# Ide TreeAddin

#### Description

    interface Ide.TreeAddin : GObject.Object

No description available.

#### Prerequisite

In order to implement TreeAddin, your type must inherit from `GObject`.

#### Instance methods

###### ide_tree_addin_build_children_async

This function is called when building the children of a node. This happens when expanding an node that might have children, or building the root node.

Available since: 3.32

###### ide_tree_addin_build_children_finish

Completes an asynchronous request to ide_tree_addin_build_children_async().

Available since: 3.32

###### ide_tree_addin_build_node

This function is called when preparing a node for display in the tree.

Available since: 3.32

###### ide_tree_addin_cell_data_func

No description available.

###### ide_tree_addin_load

No description available.

###### ide_tree_addin_node_activated

No description available.

###### ide_tree_addin_node_collapsed

No description available.

###### ide_tree_addin_node_draggable

No description available.

###### ide_tree_addin_node_droppable

No description available.

###### ide_tree_addin_node_dropped_async

No description available.

###### ide_tree_addin_node_dropped_finish

No description available.

###### ide_tree_addin_node_expanded

No description available.

###### ide_tree_addin_selection_changed

No description available.

###### ide_tree_addin_unload

No description available.

#### Interface structure

    struct IdeTreeAddinInterface {
      GTypeInterface parent;
      void (* load) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeModel* model
      );
      void (* unload) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeModel* model
      );
      void (* build_node) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      );
      void (* build_children) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      );
      void (* build_children_async) (
        IdeTreeAddin* self,
        IdeTreeNode* node,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* build_children_finish) (
        IdeTreeAddin* self,
        GAsyncResult* result,
        GError** error
      );
      void (* cell_data_func) (
        IdeTreeAddin* self,
        IdeTreeNode* node,
        GtkCellRenderer* cell
      );
      gboolean (* node_activated) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeNode* node
      );
      void (* selection_changed) (
        IdeTreeAddin* self,
        IdeTreeNode* selection
      );
      void (* node_expanded) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      );
      void (* node_collapsed) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      );
      gboolean (* node_draggable) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      );
      gboolean (* node_droppable) (
        IdeTreeAddin* self,
        IdeTreeNode* drag_node,
        IdeTreeNode* drop_node,
        GtkSelectionData* selection
      );
      void (* node_dropped_async) (
        IdeTreeAddin* self,
        IdeTreeNode* drag_node,
        IdeTreeNode* drop_node,
        GtkSelectionData* selection,
        GdkDragAction actions,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* node_dropped_finish) (
        IdeTreeAddin* self,
        GAsyncResult* result,
        GError** error
      );

    }

###### Interface members

`parent` |
    GTypeInterface
| No description available.
`load` |
    void (* load) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeModel* model
      )
| No description available.
`unload` |
    void (* unload) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeModel* model
      )
| No description available.
`build_node` |
    void (* build_node) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      )
| No description available.
`build_children` |
    void (* build_children) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      )
| No description available.
`build_children_async` |
    void (* build_children_async) (
        IdeTreeAddin* self,
        IdeTreeNode* node,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`build_children_finish` |
    gboolean (* build_children_finish) (
        IdeTreeAddin* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.
`cell_data_func` |
    void (* cell_data_func) (
        IdeTreeAddin* self,
        IdeTreeNode* node,
        GtkCellRenderer* cell
      )
| No description available.
`node_activated` |
    gboolean (* node_activated) (
        IdeTreeAddin* self,
        IdeTree* tree,
        IdeTreeNode* node
      )
| No description available.
`selection_changed` |
    void (* selection_changed) (
        IdeTreeAddin* self,
        IdeTreeNode* selection
      )
| No description available.
`node_expanded` |
    void (* node_expanded) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      )
| No description available.
`node_collapsed` |
    void (* node_collapsed) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      )
| No description available.
`node_draggable` |
    gboolean (* node_draggable) (
        IdeTreeAddin* self,
        IdeTreeNode* node
      )
| No description available.
`node_droppable` |
    gboolean (* node_droppable) (
        IdeTreeAddin* self,
        IdeTreeNode* drag_node,
        IdeTreeNode* drop_node,
        GtkSelectionData* selection
      )
| No description available.
`node_dropped_async` |
    void (* node_dropped_async) (
        IdeTreeAddin* self,
        IdeTreeNode* drag_node,
        IdeTreeNode* drop_node,
        GtkSelectionData* selection,
        GdkDragAction actions,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`node_dropped_finish` |
    gboolean (* node_dropped_finish) (
        IdeTreeAddin* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.TreeAddin.build_children

No description available.

###### Ide.TreeAddin.build_children_async

This function is called when building the children of a node. This happens when expanding an node that might have children, or building the root node.

###### Ide.TreeAddin.build_children_finish

Completes an asynchronous request to ide_tree_addin_build_children_async().

###### Ide.TreeAddin.build_node

This function is called when preparing a node for display in the tree.

###### Ide.TreeAddin.cell_data_func

No description available.

###### Ide.TreeAddin.load

No description available.

###### Ide.TreeAddin.node_activated

No description available.

###### Ide.TreeAddin.node_collapsed

No description available.

###### Ide.TreeAddin.node_draggable

No description available.

###### Ide.TreeAddin.node_droppable

No description available.

###### Ide.TreeAddin.node_dropped_async

No description available.

###### Ide.TreeAddin.node_dropped_finish

No description available.

###### Ide.TreeAddin.node_expanded

No description available.

###### Ide.TreeAddin.selection_changed

No description available.

###### Ide.TreeAddin.unload

No description available.