RGtk2 (version 2.20.31)

gtk-GtkTreeView-drag-and-drop: GtkTreeView drag-and-drop

Description

Interfaces for drag-and-drop support in GtkTreeView

Arguments

Methods and Functions

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)

Hierarchy

GInterface
   +----GtkTreeDragSource
GInterface
   +----GtkTreeDragDest

Implementations

GtkTreeDragSource is implemented by GtkListStore, GtkTreeModelFilter, GtkTreeModelSort and GtkTreeStore. GtkTreeDragDest is implemented by GtkListStore and GtkTreeStore.

Detailed Description

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.

Structures

GtkTreeDragSource
undocumented
GtkTreeDragDest
undocumented

References

http://library.gnome.org/devel//gtk/gtk-GtkTreeView-drag-and-drop.html