gtk-GtkTreeView-drag-and-drop {RGtk2} | R Documentation |
Interfaces for drag-and-drop support in GtkTreeView
gtkTreeDragSourceDragDataDelete(object, path)
gtkTreeDragSourceDragDataGet(object, path)
gtkTreeDragSourceRowDraggable(object, path)
gtkTreeDragDestDragDataReceived(object, dest, selection.data)
gtkTreeDragDestRowDropPossible(object, dest.path, selection.data)
gtkTreeSetRowDragData(object, tree.model, path)
gtkTreeGetRowDragData(object)
GInterface +----GtkTreeDragSource GInterface +----GtkTreeDragDest
GtkTreeDragSource is implemented by
GtkTreeModelFilter
, GtkTreeModelSort
, GtkTreeStore
and GtkListStore
.
GtkTreeDragDest is implemented by
GtkTreeStore
and GtkListStore
.
GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level API.
The low-level API consists of the GTK+ DND API, augmented by some treeview
utility functions: gtkTreeViewSetDragDestRow
,
gtkTreeViewGetDragDestRow
, gtkTreeViewGetDestRowAtPos
,
gtkTreeViewCreateRowDragIcon
, gtkTreeSetRowDragData
and
gtkTreeGetRowDragData
. This API leaves a lot of flexibility, but
nothing is done automatically, and implementing advanced features like
hover-to-open-rows or autoscrolling on top of this API is a lot of work.
On the other hand, if you write to the high-level API, then all the
bookkeeping of rows is done for you, as well as things like hover-to-open
and auto-scroll, but your models have to implement the
GtkTreeDragSource
and GtkTreeDragDest
interfaces.
GtkTreeDragSource
GtkTreeDragDest
Derived by RGtkGen from GTK+ documentation
http://developer.gnome.org/doc/API/2.0/gtk/gtk-GtkTreeView-drag-and-drop.html