<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Graphics.UI.Gtk.ModelView.TreeDrag</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Graphics-UI-Gtk-ModelView-TreeDrag.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Graphics-UI-Gtk-ModelView-TreeDrag.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">gtk-0.12.0: Binding to the Gtk+ graphical user interface library.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable (depends on GHC)</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>gtk2hs-users@lists.sourceforge.net</td></tr></table><p class="caption">Graphics.UI.Gtk.ModelView.TreeDrag</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Detail </a></li><li><a href="#g:2">DND information for exchanging a model and a path. </a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Interfaces for drag-and-drop support in <code>Graphics.UI.Gtk.ModelView.TreeView</code>. </p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:treeModelEqual">treeModelEqual</a> :: (<a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> tm1, <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> tm2) => tm1 -> tm2 -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:targetTreeModelRow">targetTreeModelRow</a> :: <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetTag">TargetTag</a></li><li class="src short"><a href="#v:treeGetRowDragData">treeGetRowDragData</a> :: <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModel">TreeModel</a>, <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a>))</li><li class="src short"><a href="#v:treeSetRowDragData">treeSetRowDragData</a> :: <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> treeModel => treeModel -> <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">Detail </h1><div class="doc"><p><code>Graphics.UI.Gtk.ModelView.TreeView</code>s 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 <code>Graphics.UI.Gtk.General.Selection.Selection</code> structure. These functions are thus useful to implement drag-and-drop functionality in a <code>Graphics.UI.Gtk.ModelView.TreeModel</code>. In fact, they are used as part of the default drag-and-drop interfaces of <code>Graphics.UI.Gtk.ModelView.ListStore</code> and <code>Graphics.UI.Gtk.ModelView.TreeStore</code> that allows to permute rows and move them between hierarchy levels. </p></div><h1 id="g:2">DND information for exchanging a model and a path. </h1><div class="top"><p class="src"><a name="v:treeModelEqual" class="def">treeModelEqual</a> :: (<a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> tm1, <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> tm2) => tm1 -> tm2 -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-ModelView-TreeDrag.html#treeModelEqual" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:targetTreeModelRow" class="def">targetTreeModelRow</a> :: <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetTag">TargetTag</a><a href="src/Graphics-UI-Gtk-ModelView-TreeDrag.html#targetTreeModelRow" class="link">Source</a></p><div class="doc"><p>The <code>SelectionTag</code>, <code><a href="Graphics-UI-Gtk-General-Selection.html#t:TargetTag">TargetTag</a></code> and <code>SelectionTypeTag</code> of the DND mechanism of <code>Graphics.UI.Gtk.ModelView.ListStore</code> and <code>Graphics.UI.Gtk.ModelView.TreeStore</code>. This tag is used by <code><a href="Graphics-UI-Gtk-ModelView-TreeDrag.html#v:treeGetRowDragData">treeGetRowDragData</a></code> and <code><a href="Graphics-UI-Gtk-ModelView-TreeDrag.html#v:treeSetRowDragData">treeSetRowDragData</a></code> to store a store and a <code><a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a></code> in a <code><a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a></code>. This target should be added to a <code>Graphics.UI.Gtk.General.Selection.TargetList</code> using <code>Graphics.UI.Gtk.General.Seleciton.TargetSameWidget</code> flag and an <code>Graphics.UI.Gtk.General.Selection.InfoId</code> of <code>0</code>. </p></div></div><div class="top"><p class="src"><a name="v:treeGetRowDragData" class="def">treeGetRowDragData</a> :: <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModel">TreeModel</a>, <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a>))<a href="src/Graphics-UI-Gtk-ModelView-TreeDrag.html#treeGetRowDragData" class="link">Source</a></p><div class="doc"><p>Obtains a <code><a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModel">TreeModel</a></code> and a path from <code><a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a></code> whenever the target is <code><a href="Graphics-UI-Gtk-ModelView-TreeDrag.html#v:targetTreeModelRow">targetTreeModelRow</a></code>. Normally called from a <code>treeDragDestDragDataReceived</code> handler. </p></div></div><div class="top"><p class="src"><a name="v:treeSetRowDragData" class="def">treeSetRowDragData</a> :: <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModelClass">TreeModelClass</a> treeModel => treeModel -> <a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-ModelView-TreeDrag.html#treeSetRowDragData" class="link">Source</a></p><div class="doc"><p>Sets selection data with the target <code><a href="Graphics-UI-Gtk-ModelView-TreeDrag.html#v:targetTreeModelRow">targetTreeModelRow</a></code>, consisting of a <code><a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreeModel">TreeModel</a></code> and a <code><a href="Graphics-UI-Gtk-ModelView-TreeModel.html#t:TreePath">TreePath</a></code>. Normally used in a <code>treeDragSourceDragDataGet</code> handler. </p><ul><li> Returns <code>True</code> if setting the data was successful. </li></ul></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>