How do I handle DnD operations in a GtkTreeView?
There are generally two types of DnD operations that can be done regarding a GtkTreeView: • Dragging of external objects into the GtkTreeView / Dragging rows out of a GtkTreeView to an external app. • Manipulating the rows within a GtkTreeView Furthermore, there are two ways to enable DnD for a GtkTreeView: • The drag_dest_set()/drag_source_set() functions inherited from GtkWidget • The enable_model_drag_dest()/enable_model_drag_source() functions specific to GtkTreeView. Note that these functions behave differently: • The functions inherited from GtkWidget cannot be used when one wants to use the reorderable() property of a GtkTreeView (One could still implement one’s own reordering mechanism on this basis though). On the other hand they allow for external items to be dropped into the blank area of an empty treeview. • The second set of functions, specific to GtkTreeView, allow the use of the reorderable() property. They do not enable DnD on the blank area of a GtkTreeView though. Ext