### Class

# Ide TreeModel

#### Description

    final class Ide.TreeModel : Ide.Object {
      /* No available fields */
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Implements

- GtkTreeDragDest
- GtkTreeDragSource
- GtkTreeModel

#### Instance methods

###### ide_tree_model_expand_async

No description available.

###### ide_tree_model_expand_finish

No description available.

###### ide_tree_model_get_iter_for_node

Gets a `GtkTreeIter` that points at `node`.

Available since: 3.32

###### ide_tree_model_get_kind

Gets the kind of model that is being generated. See `IdeTreeModel:kind` for more information.

Available since: 3.32

###### ide_tree_model_get_node

Gets the `IdeTreeNode` found at `iter`.

Available since: 3.32

###### ide_tree_model_get_path_for_node

Gets the `GtkTreePath` pointing at `node`.

Available since: 3.32

###### ide_tree_model_get_root

Gets the root `IdeTreeNode`. This node is never visualized in the tree, but is used to build the immediate children which are displayed in the tree.

Available since: 3.32

###### ide_tree_model_get_tree

No description available.

Available since: 3.32

###### ide_tree_model_invalidate

Invalidates `model` starting from `node` so that those items are rebuilt using the configured tree addins.

Available since: 3.32

###### ide_tree_model_set_kind

Sets the kind of model that is being created. This determines what plugins are used to generate the tree contents.

Available since: 3.32

###### ide_tree_model_set_root

No description available.

##### Methods inherited from IdeObject (28)

Please see IdeObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkTreeDragDest (2)

###### gtk_tree_drag_dest_drag_data_received

Asks the `GtkTreeDragDest` to insert a row before the path `dest`, deriving the contents of the row from `selection_data`. If `dest` is outside the tree so that inserting before it is impossible, `FALSE` will be returned. Also, `FALSE` may be returned if the new row is not created for some model-specific reason. Should robustly handle a `dest` no longer found in the model!

###### gtk_tree_drag_dest_row_drop_possible

Determines whether a drop is possible before the given `dest_path`, at the same depth as `dest_path`. i.e., can we drop the data in `selection_data` at that location. `dest_path` does not have to exist; the return value will almost certainly be `FALSE` if the parent of `dest_path` doesn’t exist, though.

##### Methods inherited from GtkTreeDragSource (3)

###### gtk_tree_drag_source_drag_data_delete

Asks the `GtkTreeDragSource` to delete the row at `path`, because it was moved somewhere else via drag-and-drop. Returns `FALSE` if the deletion fails because `path` no longer exists, or for some model-specific reason. Should robustly handle a `path` no longer found in the model!

###### gtk_tree_drag_source_drag_data_get

Asks the `GtkTreeDragSource` to fill in `selection_data` with a representation of the row at `path`. `selection_data`->target gives the required type of the data. Should robustly handle a `path` no longer found in the model!

###### gtk_tree_drag_source_row_draggable

Asks the `GtkTreeDragSource` whether a particular row can be used as the source of a DND operation. If the source doesn’t implement this interface, the row is assumed draggable.

##### Methods inherited from GtkTreeModel (28)

Please see GtkTreeModel for a full list of methods.

#### Properties

###### Ide.TreeModel:kind

The “kind” property is used to determine what `IdeTreeAddin` plugins to load. Only plugins which match the “kind” will be loaded to extend the tree contents.

Available since: 3.32

###### Ide.TreeModel:root

The “root” property contains the root `IdeTreeNode` that is used to build the tree. It should contain an object for the `IdeTreeNode:item` property so that `IdeTreeAddin`‘s may use it to build the node and any children.

Available since: 3.32

###### Ide.TreeModel:tree

No description available.

##### Properties inherited from IdeObject (2)

###### Ide.Object:cancellable

The “cancellable” property is a `GCancellable` that can be used by operations that will be cancelled when the `IdeObject::destroy` signal is emitted on `self`.

Available since: 3.32

###### Ide.Object:parent

The parent `IdeObject`, if any.

Available since: 3.32

#### Signals

##### Signals inherited from IdeObject (1)

###### Ide.Object::destroy

The “destroy” signal is emitted when the object should destroy itself and cleanup any state that is no longer necessary. This happens when the object has been removed from the because it was requested to be destroyed, or because a parent object is being destroyed.

Available since: 3.32

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from GtkTreeModel (5)

###### Gtk.TreeModel::row-changed

This signal is emitted when a row in the model has changed.

###### Gtk.TreeModel::row-deleted

This signal is emitted when a row has been deleted.

###### Gtk.TreeModel::row-has-child-toggled

This signal is emitted when a row has gotten the first child row or lost its last child row.

###### Gtk.TreeModel::row-inserted

This signal is emitted when a new row has been inserted in the model.

###### Gtk.TreeModel::rows-reordered

This signal is emitted when the children of a node in the `GtkTreeModel` have been reordered.

#### Class structure

    struct IdeTreeModelClass {
      IdeObjectClass parent_class;

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.