<!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.General.Drag</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-General-Drag.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Graphics-UI-Gtk-General-Drag.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>Maintainer</th><td>gtk2hs-users@lists.sourceforge.net Stability : provisional</td></tr></table><p class="caption">Graphics.UI.Gtk.General.Drag</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Types </a></li><li><a href="#g:2">Methods </a></li><li><a href="#g:3">Signals </a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Drag-and-Drop functionality. </p><p>GTK+ has a rich set of functions for doing inter-process communication via the drag-and-drop metaphor. GTK+ can do drag-and-drop (DND) via multiple protocols. The currently supported protocols are the Xdnd and Motif protocols. As well as the functions listed here, applications may need to use some facilities provided for <code>Selection</code>s. Also, the Drag and Drop API makes use of signals in the <code><a href="Graphics-UI-Gtk-Abstract-Widget.html#t:Widget">Widget</a></code> class. </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"><span class="keyword">data</span> <a href="#t:DragContext">DragContext</a> </li><li class="src short"><span class="keyword">class</span> <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-GObject.html#t:GObjectClass">GObjectClass</a> o => <a href="#t:DragContextClass">DragContextClass</a> o </li><li class="src short"><span class="keyword">data</span> <a href="#t:DragAction">DragAction</a> <ul class="subs"><li>= <a href="#v:ActionDefault">ActionDefault</a> </li><li>| <a href="#v:ActionCopy">ActionCopy</a> </li><li>| <a href="#v:ActionMove">ActionMove</a> </li><li>| <a href="#v:ActionLink">ActionLink</a> </li><li>| <a href="#v:ActionPrivate">ActionPrivate</a> </li><li>| <a href="#v:ActionAsk">ActionAsk</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:DestDefaults">DestDefaults</a> <ul class="subs"><li>= <a href="#v:DestDefaultMotion">DestDefaultMotion</a> </li><li>| <a href="#v:DestDefaultHighlight">DestDefaultHighlight</a> </li><li>| <a href="#v:DestDefaultDrop">DestDefaultDrop</a> </li><li>| <a href="#v:DestDefaultAll">DestDefaultAll</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:DragProtocol">DragProtocol</a> <ul class="subs"><li>= <a href="#v:DragProtoMotif">DragProtoMotif</a> </li><li>| <a href="#v:DragProtoXdnd">DragProtoXdnd</a> </li><li>| <a href="#v:DragProtoRootwin">DragProtoRootwin</a> </li><li>| <a href="#v:DragProtoNone">DragProtoNone</a> </li><li>| <a href="#v:DragProtoWin32Dropfiles">DragProtoWin32Dropfiles</a> </li><li>| <a href="#v:DragProtoOle2">DragProtoOle2</a> </li><li>| <a href="#v:DragProtoLocal">DragProtoLocal</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:DragResult">DragResult</a> <ul class="subs"><li>= <a href="#v:DragResultSuccess">DragResultSuccess</a> </li><li>| <a href="#v:DragResultNoTarget">DragResultNoTarget</a> </li><li>| <a href="#v:DragResultUserCancelled">DragResultUserCancelled</a> </li><li>| <a href="#v:DragResultTimeoutExpired">DragResultTimeoutExpired</a> </li><li>| <a href="#v:DragResultGrabBroken">DragResultGrabBroken</a> </li><li>| <a href="#v:DragResultError">DragResultError</a> </li></ul></li><li class="src short"><a href="#v:castToDragContext">castToDragContext</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-GObject.html#t:GObjectClass">GObjectClass</a> obj => obj -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></li><li class="src short"><a href="#v:gTypeDragContext">gTypeDragContext</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:GType">GType</a></li><li class="src short"><a href="#v:toDragContext">toDragContext</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> o => o -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></li><li class="src short"><a href="#v:dragContextActions">dragContextActions</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>]</li><li class="src short"><a href="#v:dragContextSuggestedAction">dragContextSuggestedAction</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></li><li class="src short"><a href="#v:dragContextAction">dragContextAction</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></li><li class="src short"><a href="#v:dragDestSet">dragDestSet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a>] -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestSetProxy">dragDestSetProxy</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a> -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestUnset">dragDestUnset</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestFindTarget">dragDestFindTarget</a> :: (<a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget, <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context) => widget -> context -> <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-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetTag">TargetTag</a>)</li><li class="src short"><a href="#v:dragDestGetTargetList">dragDestGetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetList">TargetList</a>)</li><li class="src short"><a href="#v:dragDestSetTargetList">dragDestSetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestAddTextTargets">dragDestAddTextTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestAddImageTargets">dragDestAddImageTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragDestAddURITargets">dragDestAddURITargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragStatus">dragStatus</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</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-General-Drag.html#t:DragAction">DragAction</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragFinish">dragFinish</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragGetData">dragGetData</a> :: (<a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget, <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context) => widget -> context -> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetTag">TargetTag</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragGetSourceWidget">dragGetSourceWidget</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-Abstract-Widget.html#t:Widget">Widget</a>)</li><li class="src short"><a href="#v:dragHighlight">dragHighlight</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragUnhighlight">dragUnhighlight</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSetIconWidget">dragSetIconWidget</a> :: (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context, <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget) => context -> widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSetIconPixbuf">dragSetIconPixbuf</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSetIconStock">dragSetIconStock</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="Graphics-UI-Gtk-General-StockItems.html#t:StockId">StockId</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSetIconName">dragSetIconName</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSetIconDefault">dragSetIconDefault</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragCheckThreshold">dragCheckThreshold</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <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:dragSourceSet">dragSourceSet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> [<a href="Graphics-UI-Gtk-General-Enums.html#t:Modifier">Modifier</a>] -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceSetIconPixbuf">dragSourceSetIconPixbuf</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceSetIconStock">dragSourceSetIconStock</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-StockItems.html#t:StockId">StockId</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceSetIconName">dragSourceSetIconName</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceUnset">dragSourceUnset</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceSetTargetList">dragSourceSetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceGetTargetList">dragSourceGetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetList">TargetList</a>)</li><li class="src short"><a href="#v:dragSourceAddTextTargets">dragSourceAddTextTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceAddImageTargets">dragSourceAddImageTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragSourceAddURITargets">dragSourceAddURITargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:dragBegin">dragBegin</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragDataDelete">dragDataDelete</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragDataGet">dragDataGet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragDataReceived">dragDataReceived</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragDrop">dragDrop</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <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:dragEnd">dragEnd</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragFailed">dragFailed</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <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:dragLeave">dragLeave</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:dragMotion">dragMotion</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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">Types </h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:DragContext" class="def">DragContext</a> <a href="src/Graphics-UI-Gtk-Types.html#DragContext" class="link">Source</a></p><div class="subs instances"><p id="control.i:DragContext" class="caption collapser" onclick="toggleSection('i:DragContext')">Instances</p><div id="section.i:DragContext" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-GObject.html#t:GObjectClass">GObjectClass</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-GObject.html#t:GObjectClass">GObjectClass</a> o => <a name="t:DragContextClass" class="def">DragContextClass</a> o <a href="src/Graphics-UI-Gtk-Types.html#DragContextClass" class="link">Source</a></p><div class="subs instances"><p id="control.i:DragContextClass" class="caption collapser" onclick="toggleSection('i:DragContextClass')">Instances</p><div id="section.i:DragContextClass" class="show"><table><tr><td class="src"><a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:DragAction" class="def">DragAction</a> <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#DragAction" class="link">Source</a></p><div class="doc"><p>Used in <code>Graphics.UI.Gtk.Genearl.Drag.DragContext</code> to indicate what the destination should do with the dropped data. </p><ul><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionDefault">ActionDefault</a></code>: Initialisation value, should not be used. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionCopy">ActionCopy</a></code>: Copy the data. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionMove">ActionMove</a></code>: Move the data, i.e. first copy it, then delete it from the source. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionLink">ActionLink</a></code>: Add a link to the data. Note that this is only useful if source and destination agree on what it means. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionPrivate">ActionPrivate</a></code>: Special action which tells the source that the destination will do something that the source doesn't understand. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionAsk">ActionAsk</a></code>: Ask the user what to do with the data. </li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ActionDefault" class="def">ActionDefault</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ActionCopy" class="def">ActionCopy</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ActionMove" class="def">ActionMove</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ActionLink" class="def">ActionLink</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ActionPrivate" class="def">ActionPrivate</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ActionAsk" class="def">ActionAsk</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DragAction" class="caption collapser" onclick="toggleSection('i:DragAction')">Instances</p><div id="section.i:DragAction" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Flags.html#t:Flags">Flags</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:DestDefaults" class="def">DestDefaults</a> <a href="src/Graphics-UI-Gtk-General-Enums.html#DestDefaults" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></code> enumeration specifies the various types of action that will be taken on behalf of the user for a drag destination site. </p><ul><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultMotion">DestDefaultMotion</a></code>: If set for a widget, GTK+, during a drag over this widget will check if the drag matches this widget's list of possible targets and actions. GTK+ will then call <code>Graphics.UI.Gtk.Gdk.Drag.dragStatus</code> as appropriate. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultHighlight">DestDefaultHighlight</a></code>: If set for a widget, GTK+ will draw a highlight on this widget as long as a drag is over this widget and the widget drag format and action are acceptable. </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultDrop">DestDefaultDrop</a></code>: If set for a widget, when a drop occurs, GTK+ will will check if the drag matches this widget's list of possible targets and actions. If so, GTK+ will call <code>Graphics.UI.Gtk.Gdk.Drag.dragGetData</code> on behalf of the widget. Whether or not the drop is successful, GTK+ will call <code>Graphics.UI.Gtk.Gdk.Drag.dragFinish</code>. If the action was a move, then if the drag was successful, then <code>True</code> will be passed for the delete parameter to <code>Graphics.UI.Gtk.Gdk.Drag.dragFinish</code> </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultAll">DestDefaultAll</a></code>: If set, specifies that all default actions should be taken. </li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:DestDefaultMotion" class="def">DestDefaultMotion</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DestDefaultHighlight" class="def">DestDefaultHighlight</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DestDefaultDrop" class="def">DestDefaultDrop</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DestDefaultAll" class="def">DestDefaultAll</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DestDefaults" class="caption collapser" onclick="toggleSection('i:DestDefaults')">Instances</p><div id="section.i:DestDefaults" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></td><td class="doc"><p>Gives an indication why a drag operation failed. The value can by obtained by connecting to the <code>dragFailed</code> signal. </p><ul><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultSuccess">DragResultSuccess</a></code>: The drag operation was successful </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultNoTarget">DragResultNoTarget</a></code>: No suitable drag target </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultUserCancelled">DragResultUserCancelled</a></code>: The user cancelled the drag operation </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultTimeoutExpired">DragResultTimeoutExpired</a></code>: The drag operation timed out </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultGrabBroken">DragResultGrabBroken</a></code>: The pointer or keyboard grab used for the drag operation was broken </li><li> <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DragResultError">DragResultError</a></code>: The drag operation failed due to some unspecified error </li></ul></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Flags.html#t:Flags">Flags</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:DragProtocol" class="def">DragProtocol</a> <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#DragProtocol" class="link">Source</a></p><div class="doc"><p>Used in <code>Graphics.UI.Gtk.Gdk.Drag.DragContext</code> to indicate the protocol according to which DND is done. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:DragProtoMotif" class="def">DragProtoMotif</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoXdnd" class="def">DragProtoXdnd</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoRootwin" class="def">DragProtoRootwin</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoNone" class="def">DragProtoNone</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoWin32Dropfiles" class="def">DragProtoWin32Dropfiles</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoOle2" class="def">DragProtoOle2</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragProtoLocal" class="def">DragProtoLocal</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DragProtocol" class="caption collapser" onclick="toggleSection('i:DragProtocol')">Instances</p><div id="section.i:DragProtocol" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:DragResult" class="def">DragResult</a> <a href="src/Graphics-UI-Gtk-General-Enums.html#DragResult" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:DragResultSuccess" class="def">DragResultSuccess</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragResultNoTarget" class="def">DragResultNoTarget</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragResultUserCancelled" class="def">DragResultUserCancelled</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragResultTimeoutExpired" class="def">DragResultTimeoutExpired</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragResultGrabBroken" class="def">DragResultGrabBroken</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:DragResultError" class="def">DragResultError</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DragResult" class="caption collapser" onclick="toggleSection('i:DragResult')">Instances</p><div id="section.i:DragResult" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:castToDragContext" class="def">castToDragContext</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-GObject.html#t:GObjectClass">GObjectClass</a> obj => obj -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a><a href="src/Graphics-UI-Gtk-Types.html#castToDragContext" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:gTypeDragContext" class="def">gTypeDragContext</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:GType">GType</a><a href="src/Graphics-UI-Gtk-Types.html#gTypeDragContext" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:toDragContext" class="def">toDragContext</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> o => o -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a><a href="src/Graphics-UI-Gtk-Types.html#toDragContext" class="link">Source</a></p></div><h1 id="g:2">Methods </h1><div class="top"><p class="src"><a name="v:dragContextActions" class="def">dragContextActions</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>]<a href="src/Graphics-UI-Gtk-General-Drag.html#dragContextActions" class="link">Source</a></p><div class="doc"><p>A set of actions that the source recommends to be taken. Only valid if <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragContextSuggestedAction">dragContextSuggestedAction</a></code> is set to <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionAsk">ActionAsk</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragContextSuggestedAction" class="def">dragContextSuggestedAction</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragContextSuggestedAction" class="link">Source</a></p><div class="doc"><p>The action suggested by the source. </p></div></div><div class="top"><p class="src"><a name="v:dragContextAction" class="def">dragContextAction</a> :: <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Attributes.html#t:Attr">Attr</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragContextAction" class="link">Source</a></p><div class="doc"><p>The action chosen by the destination. </p></div></div><div class="top"><p class="src"><a name="v:dragDestSet" class="def">dragDestSet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a>] -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestSet" class="link">Source</a></p><div class="doc"><p>Sets a widget as a potential drop destination. </p><ul><li> The <code><a href="Graphics-UI-Gtk-General-Drag.html#t:DestDefaults">DestDefaults</a></code> flags specify what actions Gtk should take on behalf of a widget for drops onto that widget. The given actions and any targets set through <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDestSetTargetList">dragDestSetTargetList</a></code> only are used if <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultMotion">DestDefaultMotion</a></code> or <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultDrop">DestDefaultDrop</a></code> are given. </li><li> Things become more complicated when you try to preview the dragged data, as described in the documentation for <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code>. The default behaviors described by flags make some assumptions, that can conflict with your own signal handlers. For instance <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultDrop">DestDefaultDrop</a></code> causes invocations of <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragStatus">dragStatus</a></code> in the handler of <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code>, and invocations of <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFinish">dragFinish</a></code> in <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code>. Especially the latter is dramatic, when your own <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> handler calls <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragGetData">dragGetData</a></code> to inspect the dragged data. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragDestSetProxy" class="def">dragDestSetProxy</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestSetProxy" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget</td><td class="doc empty"> </td></tr><tr><td class="src">=> widget</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a></td><td class="doc"><p>The window to which to forward drag events. </p></td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragProtocol">DragProtocol</a></td><td class="doc"><p>The drag protocol which the <code><a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a></code> accepts. </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>If <code>True</code>, send the same coordinates to the destination, because it is an embedded subwindow. </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Sets this widget as a proxy for drops to another window. </p></div></div><div class="top"><p class="src"><a name="v:dragDestUnset" class="def">dragDestUnset</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestUnset" class="link">Source</a></p><div class="doc"><p>Clears information about a drop destination set with <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDestSet">dragDestSet</a></code>. The widget will no longer receive notification of drags. </p></div></div><div class="top"><p class="src"><a name="v:dragDestFindTarget" class="def">dragDestFindTarget</a> :: (<a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget, <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context) => widget -> context -> <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-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetTag">TargetTag</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestFindTarget" class="link">Source</a></p><div class="doc"><p>Looks for a match between the targets mentioned in the context and the <code><a href="Graphics-UI-Gtk-General-Selection.html#t:TargetList">TargetList</a></code>, returning the first matching target, otherwise returning <code>Nothing</code>. If <code>Nothing</code> is given as target list, use the value from <code>destGetTargetList</code>. Some widgets may have different valid targets for different parts of the widget; in that case, they will have to implement a <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> handler that passes the correct target list to this function. </p></div></div><div class="top"><p class="src"><a name="v:dragDestGetTargetList" class="def">dragDestGetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetList">TargetList</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestGetTargetList" class="link">Source</a></p><div class="doc"><p>Returns the list of targets this widget can accept for drag-and-drop. </p></div></div><div class="top"><p class="src"><a name="v:dragDestSetTargetList" class="def">dragDestSetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestSetTargetList" class="link">Source</a></p><div class="doc"><p>Sets the target types that this widget can accept from drag-and-drop. The widget must first be made into a drag destination with <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDestSet">dragDestSet</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragDestAddTextTargets" class="def">dragDestAddTextTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestAddTextTargets" class="link">Source</a></p><div class="doc"><p>Add the text targets supported by the selection mechanism to the target list of the drag source. The targets are added with an <code><a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a></code> of 0. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragDestAddImageTargets" class="def">dragDestAddImageTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestAddImageTargets" class="link">Source</a></p><div class="doc"><p>Add image targets supported by the selection mechanism to the target list of the drag source. The targets are added with an <code><a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a></code> of 0. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragDestAddURITargets" class="def">dragDestAddURITargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragDestAddURITargets" class="link">Source</a></p><div class="doc"><p>Add URI targets supported by the selection mechanism to the target list of the drag source. The targets are added with an <code><a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a></code> of 0. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragStatus" class="def">dragStatus</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</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-General-Drag.html#t:DragAction">DragAction</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragStatus" class="link">Source</a></p><div class="doc"><p>Visualises the actions offered by the drag source. </p><ul><li> This function is called by the drag destination in response to <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> called by the drag source. The passed-in action is indicated where <code>Nothing</code> will show that the drop is not allowed. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragFinish" class="def">dragFinish</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragFinish" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context</td><td class="doc empty"> </td></tr><tr><td class="src">=> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>a flag indicating whether the drop was successful </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>a flag indicating whether the source should delete the original data. (This should be <code>True</code> for a move) </p></td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a></td><td class="doc"><p>the timestamp from the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDrop">dragDrop</a></code> signal. </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Informs the drag source that the drop is finished, and that the data of the drag will no longer be required. </p></div></div><div class="top"><p class="src"><a name="v:dragGetData" class="def">dragGetData</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragGetData" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget, <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context)</td><td class="doc empty"> </td></tr><tr><td class="src">=> widget</td><td class="doc"><p>The widget that will receive the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code> signal. </p></td></tr><tr><td class="src">-> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetTag">TargetTag</a></td><td class="doc"><p>The target (form of the data) to retrieve. </p></td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a></td><td class="doc"><p>A timestamp for retrieving the data. This will generally be the time received in a <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> or <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDrop">dragDrop</a></code> signal. </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Gets the data associated with a drag. When the data is received or the retrieval fails, GTK+ will emit a <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code> signal. Failure of the retrieval is indicated by passing <code>Nothing</code> in the <code>selectionData</code> signal. However, when <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragGetData">dragGetData</a></code> is called implicitely because the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:DestDefaultDrop">DestDefaultDrop</a></code> was set, then the widget will not receive notification of failed drops. </p></div></div><div class="top"><p class="src"><a name="v:dragGetSourceWidget" class="def">dragGetSourceWidget</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-Abstract-Widget.html#t:Widget">Widget</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragGetSourceWidget" class="link">Source</a></p><div class="doc"><p>Queries he source widget for a drag. </p><ul><li> If the drag is occurring within a single application, a pointer to the source widget is returned. Otherwise the return value is <code>Nothing</code>. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragHighlight" class="def">dragHighlight</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragHighlight" class="link">Source</a></p><div class="doc"><p>Draws a highlight around a widget. This will attach handlers to the expose handlers, so the highlight will continue to be displayed until <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragUnhighlight">dragUnhighlight</a></code> is called. </p></div></div><div class="top"><p class="src"><a name="v:dragUnhighlight" class="def">dragUnhighlight</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragUnhighlight" class="link">Source</a></p><div class="doc"><p>Removes a highlight set by <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragHighlight">dragHighlight</a></code> from a widget. </p></div></div><div class="top"><p class="src"><a name="v:dragSetIconWidget" class="def">dragSetIconWidget</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSetIconWidget" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context, <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget)</td><td class="doc empty"> </td></tr><tr><td class="src">=> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> widget</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>x hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>y hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Changes the icon for a drag to a given widget. GTK+ will not destroy the widget, so if you don't want it to persist, you should connect to the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragEnd">dragEnd</a></code> signal and destroy it yourself. </p><ul><li> The function must be called with the context of the source side. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragSetIconPixbuf" class="def">dragSetIconPixbuf</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSetIconPixbuf" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context</td><td class="doc empty"> </td></tr><tr><td class="src">=> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>x hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>y hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Set the given <code><a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a></code> as the icon for the given drag. </p></div></div><div class="top"><p class="src"><a name="v:dragSetIconStock" class="def">dragSetIconStock</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSetIconStock" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context</td><td class="doc empty"> </td></tr><tr><td class="src">=> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Graphics-UI-Gtk-General-StockItems.html#t:StockId">StockId</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>x hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>y hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Sets the icon for a given drag from a stock ID. </p></div></div><div class="top"><p class="src"><a name="v:dragSetIconName" class="def">dragSetIconName</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSetIconName" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context</td><td class="doc empty"> </td></tr><tr><td class="src">=> context</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>x hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>y hot-spot </p></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Sets the icon for a given drag from a named themed icon. See the docs for <code><a href="Graphics-UI-Gtk-General-IconTheme.html#t:IconTheme">IconTheme</a></code> for more details. Note that the size of the icon depends on the icon theme (the icon is loaded at the DND size), thus x and y hot-spots have to be used with care. Since Gtk 2.8. </p></div></div><div class="top"><p class="src"><a name="v:dragSetIconDefault" class="def">dragSetIconDefault</a> :: <a href="Graphics-UI-Gtk-General-Drag.html#t:DragContextClass">DragContextClass</a> context => context -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSetIconDefault" class="link">Source</a></p><div class="doc"><p>Sets the icon for a particular drag to the default icon. This function must be called with a context for the source side of a drag </p></div></div><div class="top"><p class="src"><a name="v:dragCheckThreshold" class="def">dragCheckThreshold</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragCheckThreshold" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget</td><td class="doc empty"> </td></tr><tr><td class="src">=> widget</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><pre>startX</pre></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><pre>startY</pre></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><pre>currentX</pre></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><pre>currentY</pre></td></tr><tr><td class="src">-> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Checks to see if a mouse drag starting at <code>(startX, startY)</code> and ending at <code>(currentX, currenty)</code> has passed the GTK+ drag threshold, and thus should trigger the beginning of a drag-and-drop operation. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceSet" class="def">dragSourceSet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> [<a href="Graphics-UI-Gtk-General-Enums.html#t:Modifier">Modifier</a>] -> [<a href="Graphics-UI-Gtk-General-Drag.html#t:DragAction">DragAction</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceSet" class="link">Source</a></p><div class="doc"><p>Sets up a widget so that GTK+ will start a drag operation when the user clicks and drags on the widget. The widget must have a window. Note that a set of possible targets have to be set for a drag to be successful. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceSetIconPixbuf" class="def">dragSourceSetIconPixbuf</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceSetIconPixbuf" class="link">Source</a></p><div class="doc"><p>Sets the icon that will be used for drags from a particular widget from a <code><a href="Graphics-UI-Gtk-Gdk-Pixbuf.html#t:Pixbuf">Pixbuf</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceSetIconStock" class="def">dragSourceSetIconStock</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-StockItems.html#t:StockId">StockId</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceSetIconStock" class="link">Source</a></p><div class="doc"><p>Sets the icon that will be used for drags from a particular source to a stock icon. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceSetIconName" class="def">dragSourceSetIconName</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceSetIconName" class="link">Source</a></p><div class="doc"><p>Sets the icon that will be used for drags from a particular source to a themed icon. See the docs for <code><a href="Graphics-UI-Gtk-General-IconTheme.html#t:IconTheme">IconTheme</a></code> for more details. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceUnset" class="def">dragSourceUnset</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceUnset" class="link">Source</a></p><div class="doc"><p>Undoes the effects of <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSet">dragSourceSet</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragSourceSetTargetList" class="def">dragSourceSetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="Graphics-UI-Gtk-General-Selection.html#t:TargetList">TargetList</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceSetTargetList" class="link">Source</a></p><div class="doc"><p>Changes the target types that this widget offers for drag-and-drop. The widget must first be made into a drag source with <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSet">dragSourceSet</a></code>. </p><ul><li> Since Gtk 2.4. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragSourceGetTargetList" class="def">dragSourceGetTargetList</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Selection.html#t:TargetList">TargetList</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceGetTargetList" class="link">Source</a></p><div class="doc"><p>Gets the list of targets this widget can provide for drag-and-drop. </p><ul><li> Since Gtk 2.4. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragSourceAddTextTargets" class="def">dragSourceAddTextTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceAddTextTargets" class="link">Source</a></p><div class="doc"><p>Add the text targets supported by <code>Graphics.UI.Gtk.General.Selection.Selection</code> to the target list of the drag source. The targets are added with <code>info = 0</code>. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p><ul><li> Since Gtk 2.6. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragSourceAddImageTargets" class="def">dragSourceAddImageTargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceAddImageTargets" class="link">Source</a></p><div class="doc"><p>Add the image targets supported by <code>Selection</code> to the target list of the drag source. The targets are added with <code>info = 0</code>. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p><ul><li> Since Gtk 2.6. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragSourceAddURITargets" class="def">dragSourceAddURITargets</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> widget => widget -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-General-Drag.html#dragSourceAddURITargets" class="link">Source</a></p><div class="doc"><p>Add the URI targets supported by <code>Selection</code> to the target list of the drag source. The targets are added with <code>info = 0</code>. If you need another value, use <code>Graphics.UI.Gtk.General.Selection.targetListAddTextTargets</code> and <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragSourceSetTargetList">dragSourceSetTargetList</a></code>. </p><ul><li> Since Gtk 2.6. </li></ul></div></div><h1 id="g:3">Signals </h1><div class="top"><p class="src"><a name="v:dragBegin" class="def">dragBegin</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragBegin" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragBegin">dragBegin</a></code> signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with <code>dragSourceSetIcon</code>. </p></div></div><div class="top"><p class="src"><a name="v:dragDataDelete" class="def">dragDataDelete</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragDataDelete" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataDelete">dragDataDelete</a></code> signal is emitted on the drag source when a drag with the action <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionMove">ActionMove</a></code> is successfully completed. The signal handler is responsible for deleting the data that has been dropped. What "delete" means, depends on the context of the drag operation. </p></div></div><div class="top"><p class="src"><a name="v:dragDataGet" class="def">dragDataGet</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragDataGet" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataGet">dragDataGet</a></code> signal is emitted on the drag source when the drop site requests the data which is dragged. It is the responsibility of the signal handler to set the selection data in the format which is indicated by <code><a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a></code>. See <code>Graphics.UI.Gtk.General.Selection.selectionDataSet</code> and <code>Graphics.UI.Gtk.General.Selection.selectionDataSetText</code>. </p></div></div><div class="top"><p class="src"><a name="v:dragDataReceived" class="def">dragDataReceived</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:InfoId">InfoId</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionDataM">SelectionDataM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragDataReceived" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code> signal is emitted on the drop site when the dragged data has been received. If the data was received in order to determine whether the drop will be accepted, the handler is expected to call <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragStatus">dragStatus</a></code> and <em>not</em> finish the drag. If the data was received in response to a <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDrop">dragDrop</a></code> signal (and this is the last target to be received), the handler for this signal is expected to process the received data and then call <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFinish">dragFinish</a></code>, setting the <code>success</code> parameter depending on whether the data was processed successfully. </p><p>The handler may inspect and modify <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragContextAction">dragContextAction</a></code> before calling <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFinish">dragFinish</a></code>, e.g. to implement <code><a href="Graphics-UI-Gtk-General-Drag.html#v:ActionAsk">ActionAsk</a></code> as shown in the following example: </p></div></div><div class="top"><p class="src"><a name="v:dragDrop" class="def">dragDrop</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Drag.html#dragDrop" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDrop">dragDrop</a></code> signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns <code>False</code> and no further processing is necessary. Otherwise, the handler returns <code>True</code>. In this case, the handler must ensure that <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFinish">dragFinish</a></code> is called to let the source know that the drop is done. The call to <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFinish">dragFinish</a></code> can be done either directly or in a <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code> handler which gets triggered by calling <code>dropGetData</code> to receive the data for one or more of the supported targets. </p></div></div><div class="top"><p class="src"><a name="v:dragEnd" class="def">dragEnd</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragEnd" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragEnd">dragEnd</a></code> signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragBegin">dragBegin</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:dragFailed" class="def">dragFailed</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-General-Drag.html#t:DragResult">DragResult</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Drag.html#dragFailed" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragFailed">dragFailed</a></code> signal is emitted on the drag source when a drag has failed. The signal handler may hook custom code to handle a failed DND operation based on the type of error, it returns <code>True</code> is the failure has been already handled (not showing the default "drag operation failed" animation), otherwise it returns <code>False</code>. </p><ul><li> Available since Gtk+ 2.12.0. </li></ul></div></div><div class="top"><p class="src"><a name="v:dragLeave" class="def">dragLeave</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Graphics-UI-Gtk-General-Drag.html#dragLeave" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragLeave">dragLeave</a></code> signal is emitted on the drop site when the cursor leaves the widget. A typical reason to connect to this signal is to undo things done in <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code>, e.g. undo highlighting with <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragUnhighlight">dragUnhighlight</a></code> </p></div></div><div class="top"><p class="src"><a name="v:dragMotion" class="def">dragMotion</a> :: <a href="Graphics-UI-Gtk-Abstract-Widget.html#t:WidgetClass">WidgetClass</a> self => <a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Signals.html#t:Signal">Signal</a> self (<a href="Graphics-UI-Gtk-General-Drag.html#t:DragContext">DragContext</a> -> <a href="Graphics-UI-Gtk-Gdk-Drawable.html#t:Point">Point</a> -> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:TimeStamp">TimeStamp</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</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-General-Drag.html#dragMotion" class="link">Source</a></p><div class="doc"><p>The <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> signal is emitted on the drop site when the user moves the cursor over the widget during a drag. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns <code>False</code> and no further processing is necessary. Otherwise, the handler returns <code>True</code>. In this case, the handler is responsible for providing the necessary information for displaying feedback to the user, by calling <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragStatus">dragStatus</a></code>. If the decision whether the drop will be accepted or rejected can't be made based solely on the cursor position and the type of the data, the handler may inspect the dragged data by calling <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragGetData">dragGetData</a></code> and defer the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragStatus">dragStatus</a></code> call to the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragDataReceived">dragDataReceived</a></code> handler. </p><p>Note that there is no <code>dragEnter</code> signal. The drag receiver has to keep track of whether he has received any <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> signals since the last <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragLeave">dragLeave</a></code> and if not, treat the <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragMotion">dragMotion</a></code> signal as an "enter" signal. Upon an "enter", the handler will typically highlight the drop site with <code><a href="Graphics-UI-Gtk-General-Drag.html#v:dragHighlight">dragHighlight</a></code>. </p></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>