### Interface

# Gtk TreeDragSource

#### Description [src]

    interface Gtk.TreeDragSource : GObject.Object

Interface for Drag-and-Drop destinations in `GtkTreeView`.

#### Instance methods

###### 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 return a `GdkContentProvider` representing the row at `path`. 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.

#### Interface structure

    struct GtkTreeDragSourceIface {
      gboolean (* row_draggable) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      );
      GdkContentProvider* (* drag_data_get) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      );
      gboolean (* drag_data_delete) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      );

    }

###### Interface members

`row_draggable` |
    gboolean (* row_draggable) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )
| No description available.
`drag_data_get` |
    GdkContentProvider* (* drag_data_get) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )
| No description available.
`drag_data_delete` |
    gboolean (* drag_data_delete) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )
| No description available.

#### Virtual methods

###### Gtk.TreeDragSource.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.TreeDragSource.drag_data_get

Asks the `GtkTreeDragSource` to return a `GdkContentProvider` representing the row at `path`. Should robustly handle a `path` no longer found in the model!.

###### Gtk.TreeDragSource.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.