### Interface

# GtkTreeDragSource

deprecated: 4.10

#### Description [src]

    interface Gtk.TreeDragSource : GObject.Object

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

Deprecated since: 4.10

List views use widgets to display their contents. You can use `GtkDragSource` to implement a drag source.

#### Prerequisite

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

#### Implementations

- GtkListStore
- GtkTreeModelFilter
- GtkTreeModelSort
- GtkTreeStore

#### 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!

deprecated: 4.10

###### 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!

deprecated: 4.10

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

deprecated: 4.10

#### 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
      );

    }

No description available.

###### Interface members

`row_draggable`

    gboolean (* row_draggable) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )

| Asks the `GtkTreeDragSource` whether a particular row can be used as the source of a DND operation.

`drag_data_get`

    GdkContentProvider* (* drag_data_get) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )

| Asks the `GtkTreeDragSource` to fill in selection_data with a representation of the row at path.

`drag_data_delete`

    gboolean (* drag_data_delete) (
        GtkTreeDragSource* drag_source,
        GtkTreePath* path
      )

| Asks the `GtkTreeDragSource` to delete the row at path, because it was moved somewhere else via drag-and-drop.

#### 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!

deprecated: 4.10

###### 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!

deprecated: 4.10

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

deprecated: 4.10