Gtk::TreeDragSource Class Reference
TreeView Classes

`#include <gtkmm/treedragsource.h>`

Inheritance diagram for Gtk::TreeDragSource:
[legend]

## Public Member Functions

| TreeDragSource (TreeDragSource &&src) noexcept
TreeDragSource & | operator= (TreeDragSource &&src) noexcept
| ~TreeDragSource () noexcept override
GtkTreeDragSource * | gobj ()
| Provides access to the underlying C GObject.
const GtkTreeDragSource * | gobj () const
| Provides access to the underlying C GObject.
bool | row_draggable (const TreeModel::Path & path) const
| Asks the Gtk::TreeDragSource whether a particular row can be used as the source of a DND operation.
bool | drag_data_get (const TreeModel::Path & path, SelectionData &selection_data)
| Asks the Gtk::TreeDragSource to fill in selection_data with a representation of the row at path.
bool | drag_data_delete (const TreeModel::Path & path)
| Asks the Gtk::TreeDragSource to delete the row at path, because it was moved somewhere else via drag-and-drop.

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.

## Protected Member Functions

| TreeDragSource ()
| You should derive from this class to use it.
virtual bool | row_draggable_vfunc (const TreeModel::Path & path) const
virtual bool | drag_data_get_vfunc (const TreeModel::Path & path, SelectionData &selection_data) const
virtual bool | drag_data_delete_vfunc (const TreeModel::Path & path)

## Related Symbols

(Note that these are not member symbols.)
Glib::RefPtr< Gtk::TreeDragSource > | wrap (GtkTreeDragSource *object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Constructor & Destructor Documentation

## TreeDragSource() [1/2]

Gtk::TreeDragSource::TreeDragSource | ( |  | ) |

protected

You should derive from this class to use it.

## TreeDragSource() [2/2]

Gtk::TreeDragSource::TreeDragSource | ( | TreeDragSource && | src | ) |

noexcept

## ~TreeDragSource()

Gtk::TreeDragSource::~TreeDragSource | ( |  | ) |

override noexcept

## Member Function Documentation

## add_interface()

static void Gtk::TreeDragSource::add_interface | ( | GType | gtype_implementer | ) |

static

## drag_data_delete()

bool Gtk::TreeDragSource::drag_data_delete | ( | const TreeModel::Path & | path | ) |

Asks the Gtk::TreeDragSource 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!

Parameters

  path | Row that was being dragged.

Returns
  `true` if the row was successfully deleted.

## drag_data_delete_vfunc()

virtual bool Gtk::TreeDragSource::drag_data_delete_vfunc | ( | const TreeModel::Path & | path | ) |

protected virtual

## drag_data_get()

bool Gtk::TreeDragSource::drag_data_get | ( | const TreeModel::Path & | path,
|  | SelectionData & | selection_data
| ) |  |

Asks the Gtk::TreeDragSource 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!

Parameters

  path | Row that was dragged.
  selection_data | A Gtk::SelectionData to fill with data from the dragged row.

Returns
  `true` if data of the required type was provided.

## drag_data_get_vfunc()

virtual bool Gtk::TreeDragSource::drag_data_get_vfunc | ( | const TreeModel::Path & | path,
|  | SelectionData & | selection_data
| ) |  | const

protected virtual

## get_type()

static GType Gtk::TreeDragSource::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

## gobj() [1/2]

GtkTreeDragSource * Gtk::TreeDragSource::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

## gobj() [2/2]

const GtkTreeDragSource * Gtk::TreeDragSource::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

## operator=()

TreeDragSource & Gtk::TreeDragSource::operator= | ( | TreeDragSource && | src | ) |

noexcept

## row_draggable()

bool Gtk::TreeDragSource::row_draggable | ( | const TreeModel::Path & | path | ) | const

Asks the Gtk::TreeDragSource 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.

Parameters

  path | Row on which user is initiating a drag.

Returns
  `true` if the row can be dragged.

## row_draggable_vfunc()

virtual bool Gtk::TreeDragSource::row_draggable_vfunc | ( | const TreeModel::Path & | path | ) | const

protected virtual

## Friends And Related Symbol Documentation

## wrap()

Glib::RefPtr< Gtk::TreeDragSource > wrap | ( | GtkTreeDragSource * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.