gtk- Binding to the Gtk+ graphical user interface library.

Portabilityportable (depends on GHC)
Safe HaskellNone




Interfaces for drag-and-drop support in TreeView.



TreeViews provide special support for Drag-and-Drop such as hover-to-open-rows or autoscrolling. This module implements two utility functions that set and get a path and a model in a Selection structure. These functions are thus useful to implement drag-and-drop functionality in a TreeModel. In fact, they are used as part of the default drag-and-drop interfaces of ListStore and TreeStore that allows to permute rows and move them between hierarchy levels.

DND information for exchanging a model and a path.

targetTreeModelRow :: TargetTagSource

The SelectionTag, TargetTag and SelectionTypeTag of the DND mechanism of ListStore and TreeStore. This tag is used by treeGetRowDragData and treeSetRowDragData to store a store and a TreePath in a SelectionDataM. This target should be added to a TargetList using TargetSameWidget flag and an InfoId of 0.

treeGetRowDragData :: SelectionDataM (Maybe (TreeModel, TreePath))Source

Obtains a TreeModel and a path from SelectionDataM whenever the target is targetTreeModelRow. Normally called from a treeDragDestDragDataReceived handler.

treeSetRowDragData :: TreeModelClass treeModel => treeModel -> TreePath -> SelectionDataM BoolSource

Sets selection data with the target targetTreeModelRow, consisting of a TreeModel and a TreePath. Normally used in a treeDragSourceDragDataGet handler.

  • Returns True if setting the data was successful.