<Type Name="Drag" FullName="Gtk.Drag">
  <TypeSignature Language="C#" Value="public class Drag" Maintainer="Hector Gomez M" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Methods for controlling drag and drop handling.</summary>
    <remarks>
      <para>
      Gtk# has a rich set of methods 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 methods listed here, applications may need to use some facilities provided for <see cref="T:Gtk.Selection" />. Also, the Drag and Drop API makes use of events in the <see cref="T:Gtk.Widget" /> class.
     </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Members>
    <Member MemberName="DestUnset">
      <MemberSignature Language="C#" Value="public static void DestUnset (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Clears information about a drop destinantion set with <see cref="M:Gtk.Drag.Fixme" />.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <remarks>
          <para>
	  The <paramref name="widget" /> will no longer receive notification of drags.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetSourceWidget">
      <MemberSignature Language="C#" Value="public static Gtk.Widget GetSourceWidget (Gdk.DragContext context);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
      </Parameters>
      <Docs>
        <summary>Determines the source <paramref name="widget" /> for a drag.</summary>
        <param name="context">A (destination side) drag context.</param>
        <returns>If the drag is occurring within a single application, a pointer to the source <paramref name="widget" />. Otherwise, <see langword="null" />.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestSetProxy">
      <MemberSignature Language="C#" Value="public static void DestSetProxy (Gtk.Widget widget, Gdk.Window proxy_window, Gdk.DragProtocol protocol, bool use_coordinates);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="proxy_window" Type="Gdk.Window" />
        <Parameter Name="protocol" Type="Gdk.DragProtocol" />
        <Parameter Name="use_coordinates" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Sets this <paramref name="widget" /> as a proxy for drops to another window.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="proxy_window">The window to which to foward drag events.</param>
        <param name="protocol">The drag protocol which the <paramref name="proxy_window" /> accepts (You can use <see cref="M:Gdk.Drag.GetProtocol" />to determine this).</param>
        <param name="use_coordinates">If <see langword="true" />, send the same coordinates to the destination, because it is an embedded subwindow.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Finish">
      <MemberSignature Language="C#" Value="public static void Finish (Gdk.DragContext context, bool success, bool del, uint time_);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="success" Type="System.Boolean" />
        <Parameter Name="del" Type="System.Boolean" />
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Informs the drag sourcre that the drop is finished, and that the data of the drag will no longer be repaired.</summary>
        <param name="context">The drag context.</param>
        <param name="success">A flag indicating whether the drop was successful.</param>
        <param name="del">A flag indicating whether the source should delete the original data (this should be <see langword="true" /> for a move).</param>
        <param name="time_">The timestamp from the <see cref="F:Gtk.Widget.DragDrop" /> event.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestSetTargetList">
      <MemberSignature Language="C#" Value="public static void DestSetTargetList (Gtk.Widget widget, Gtk.TargetList target_list);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <summary>Sets the target types that this <paramref name="widget" /> can accept from drag and drop.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" /> that's a drag destination.</param>
        <param name="target_list">List of droppable targets, or <see langword="null" /> for none.</param>
        <remarks>
          <para>
	  The <paramref name="widget" /> must first be made into a drag destination with <see cref="M:Drag.Fixme" />.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DestFindTarget">
      <MemberSignature Language="C#" Value="public static Gdk.Atom DestFindTarget (Gtk.Widget widget, Gdk.DragContext context, Gtk.TargetList target_list);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <summary>Looks for a match between <paramref name="context" />-&gt;targets and the <paramref name="dest_target_list" />, returning the first matching target, otherwise returning GDK_NONE.</summary>
        <param name="widget">Drag destination <paramref name="widget" />.</param>
        <param name="context">Drag context.</param>
        <param name="target_list">List of droppable targets, or <see langword="null" /> to use <see cref="M:Gtk.Drag.DestGetTargetList" />.</param>
        <returns>First target that the source offers and the dest can accept. or GDK_NONE.</returns>
        <remarks>
          <para>
            <paramref name="dest_target_list" /> should usually be the return value from <see cref="M:Gtk.Drag.DestGetTargetList" /> but some widgets may have different valid targets for different parts of the <paramref name="widget" />; in that case, they will have to implement a drag_motion handler that passes the correct target list to this method.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="CheckThreshold">
      <MemberSignature Language="C#" Value="public static bool CheckThreshold (Gtk.Widget widget, int start_x, int start_y, int current_x, int current_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="start_x" Type="System.Int32" />
        <Parameter Name="start_y" Type="System.Int32" />
        <Parameter Name="current_x" Type="System.Int32" />
        <Parameter Name="current_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Checks to see if a mouse drag starting at (<paramref name="start_x" />, <paramref name="start_y" />) and ending at (<paramref name="current_x" />, <paramref name="current_y" />) has passed the GTK# drag threshold, and this should trigger the beginning of a drag-and-drog operation.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="start_x">X coordinate of a start of drag.</param>
        <param name="start_y">Y coordinate of a start of drag.</param>
        <param name="current_x">Current X coordinate.</param>
        <param name="current_y">Current Y coordinate.</param>
        <returns>
          <see langword="true" /> if the drag threshold has been passed.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconStock">
      <MemberSignature Language="C#" Value="public static void SourceSetIconStock (Gtk.Widget widget, string stock_id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="stock_id" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Sets the icon that will be used for drags from a particular source to a stock icon.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="stock_id">The ID of the stock icon to use.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Unhighlight">
      <MemberSignature Language="C#" Value="public static void Unhighlight (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Removes a highlight set by <see cref="M:Gtk.Drag.Highlight" /> from a <paramref name="widget" />.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Highlight">
      <MemberSignature Language="C#" Value="public static void Highlight (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Draws a highlight around a <paramref name="widget" />.</summary>
        <param name="widget">A <paramref name="widget" /> to highlight.</param>
        <remarks>
          <para>
	  This will attach handlers to <see cref="F:Gtk.Widget.ExposeEvent" /> and <see cref="F:Gtk.Widget.QueueDraw" />, so the highlight will continue to be displayed until <see cref="M:Gtk.Drag.Unhighlight" /> is called.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconPixbuf">
      <MemberSignature Language="C#" Value="public static void SourceSetIconPixbuf (Gtk.Widget widget, Gdk.Pixbuf pixbuf);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
      </Parameters>
      <Docs>
        <summary>Sets the icon that will be used for drags from a particular <paramref name="widget" /> from a <see cref="T:Gdk.Pixbuf" />.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="pixbuf">The <see cref="T:Gdk.Pixbuf" /> for the drag icon.</param>
        <remarks>
          <para>
	  GTK# retains a reference for <paramref name="pixbuf" /> and will release it when it is no longer needed.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Begin">
      <MemberSignature Language="C#" Value="public static Gdk.DragContext Begin (Gtk.Widget widget, Gtk.TargetList targets, Gdk.DragAction actions, int button, Gdk.Event evnt);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.DragContext</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="targets" Type="Gtk.TargetList" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
        <Parameter Name="button" Type="System.Int32" />
        <Parameter Name="evnt" Type="Gdk.Event" />
      </Parameters>
      <Docs>
        <summary>Initates a drag on the source side.</summary>
        <param name="widget">The source <paramref name="widget" />.</param>
        <param name="targets">The targets (data formats) in which the source can provide the data.</param>
        <param name="actions">A bitmask of the allowed drag actions for this drag.</param>
        <param name="button">The button the user clicked to start the drag.</param>
        <param name="evnt">The event that triggered the start of the drag.</param>
        <returns>The context fot this drag.</returns>
        <remarks>
          <para>
	  The method only needs to be used when the application is starting drags itself, and is not needed when <see cref="M:Gtk.Drag.SourceSset" /> is used.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SetIconStock">
      <MemberSignature Language="C#" Value="public static void SetIconStock (Gdk.DragContext context, string stock_id, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="stock_id" Type="System.String" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Sets the icon for a given drag from a stock ID.</summary>
        <param name="context">The context of the drag (this must be called with a context for the source side of a drag).</param>
        <param name="stock_id">The ID of the stock icon to use for the drag.</param>
        <param name="hot_x">The X offset within the icon of the hotspot.</param>
        <param name="hot_y">The Y offset within the icon of the hotspot.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetData">
      <MemberSignature Language="C#" Value="public static void GetData (Gtk.Widget widget, Gdk.DragContext context, Gdk.Atom target, uint time_);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="target" Type="Gdk.Atom" />
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Obtains the data associated with a drag.</summary>
        <param name="widget">The <paramref name="widget" /> that will receive the <see cref="F:Gtk.Widget.DragDataReceived" /> event.</param>
        <param name="context">The drag context.</param>
        <param name="target">The target (form of the data) to retrieve.</param>
        <param name="time_">A timestamp for retrieving the data. This will generally be the time received in a <see cref="F:Gtk.Widget.DragMotion" /> or <see cref="F:Gtk.Widget.DragDrop" /> event.</param>
        <remarks>
          <para>
	  When the data is received or the retrieval fails, GTK# will emit a <see cref="F:Gtk.Widget.DragDataReceived" /> event. Failure of the retrieval is indicated by the length field of the <paramref name="selection_data" /> signal parameter being negative. However, when <see cref="M:Gtk.Drag.GetData" /> is called implicitely because the <see cref="F:Gtk.DestDefaults.Drop" /> was set, then the <paramref name="widget" /> will not receive notification of failed drops. 
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SetIconPixmap">
      <MemberSignature Language="C#" Value="public static void SetIconPixmap (Gdk.DragContext context, Gdk.Colormap colormap, Gdk.Pixmap pixmap, Gdk.Pixmap mask, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="colormap" Type="Gdk.Colormap" />
        <Parameter Name="pixmap" Type="Gdk.Pixmap" />
        <Parameter Name="mask" Type="Gdk.Pixmap" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Sets <paramref name="pixmap" /> as the icon for a given drag.</summary>
        <param name="context">The context for a drag (this must be called with a context for the source side of a drag).</param>
        <param name="colormap">The colormap of the icon.</param>
        <param name="pixmap">The image data for the icon.</param>
        <param name="mask">The transparency mask for the icon.</param>
        <param name="hot_x">The X offset with <paramref name="pixmap" /> of the hotspot.</param>
        <param name="hot_y">The Y offset with <paramref name="pixmap" /> of the hotspot.</param>
        <remarks>
          <para>
	  GTK# retains references for the arguments, and will release them when they are no longer needed. In general, <see cref="M:Gtk.Drag.SetIconPixbuf" /> will be more convenient to use.
	 </para>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SetIconPixbuf">
      <MemberSignature Language="C#" Value="public static void SetIconPixbuf (Gdk.DragContext context, Gdk.Pixbuf pixbuf, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Sets <paramref name="pixbuf" /> as the icon for a given drag.</summary>
        <param name="context">The context for a drag (this must be called with a context for the source side of a drag).</param>
        <param name="pixbuf">The <see cref="T:Gdk.Pixbuf" /> to use as the drag icon.</param>
        <param name="hot_x">The X offset within <paramref name="widget" /> of the hotspot.</param>
        <param name="hot_y">The Y offset within <paramref name="widget" /> of the hotspot.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestGetTargetList">
      <MemberSignature Language="C#" Value="public static Gtk.TargetList DestGetTargetList (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TargetList</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Returns the list of targets this <paramref name="widget" /> can accept from drag-and-drop.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <returns>The <see cref="T:Gtk.TargetList" />, or <see langword="null" /> if none.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SourceUnset">
      <MemberSignature Language="C#" Value="public static void SourceUnset (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>Undoes the effects of <see cref="M:Gtk.Drag.SourceSet" />.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SourceSetIcon">
      <MemberSignature Language="C#" Value="public static void SourceSetIcon (Gtk.Widget widget, Gdk.Colormap colormap, Gdk.Pixmap pixmap, Gdk.Pixmap mask);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="colormap" Type="Gdk.Colormap" />
        <Parameter Name="pixmap" Type="Gdk.Pixmap" />
        <Parameter Name="mask" Type="Gdk.Pixmap" />
      </Parameters>
      <Docs>
        <summary>Sets the icon that will be used for drags from a particular <paramref name="widget" /> from a pixmap/mask.</summary>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="colormap">The colormap of the icon.</param>
        <param name="pixmap">The image data for the icon.</param>
        <param name="mask">The transparency mask for an image.</param>
        <remarks>
          <para>
	  GTK# retains references for the arguments, and will release them when they are no longer needed. Use <see cref="M:Gtk.Drag.SourceSetIconPixbuf" /> instead.
	 </para>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SetIconWidget">
      <MemberSignature Language="C#" Value="public static void SetIconWidget (Gdk.DragContext context, Gtk.Widget widget, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Changes the icon for a <paramref name="widget" /> to a given <paramref name="widget" />.</summary>
        <param name="context">The context for a drag (this must be called with a context for the source side of a drag.</param>
        <param name="widget">A toplevel window to use as an icon.</param>
        <param name="hot_x">The X offset within <paramref name="widget" /> of the hotspot.</param>
        <param name="hot_y">The Y offset within <paramref name="widget" /> of the hotspot.</param>
        <remarks>
          <para>
	  GTK# will not destroy the icon, so if you don't want it to persist, you should connect to the <see cref="F:Gtk.Widgart.DragEnd" /> event and destroy it yourself.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Drag ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>A constructor.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetIconDefault">
      <MemberSignature Language="C#" Value="public static void SetIconDefault (Gdk.DragContext context);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
      </Parameters>
      <Docs>
        <summary>Sets the icon for a particular drag to the default icon.</summary>
        <param name="context">The context of the drag (this must be called with a context for the source side of a drag).</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="IconDefault">
      <MemberSignature Language="C#" Value="public static Gdk.DragContext IconDefault { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.DragContext</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Obsolete. Replaced by <see cref="M:Gtk.Drag.SetIconDefault" /></summary>
        <value />
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by SetIconDefault(ctx)")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="DestSet">
      <MemberSignature Language="C#" Value="public static void DestSet (Gtk.Widget widget, Gtk.DestDefaults flags, Gtk.TargetEntry[] targets, Gdk.DragAction actions);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="flags" Type="Gtk.DestDefaults" />
        <Parameter Name="targets" Type="Gtk.TargetEntry[]" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
      </Parameters>
      <Docs>
        <summary>Register a drop site and possibly add default behaviors.</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="flags">a <see cref="T:Gtk.DestDefaults" />, which types of default drag behavior to use</param>
        <param name="targets">a <see cref="T:Gtk.TargetEntry[]" />, table of targets that can be accepted</param>
        <param name="actions">a <see cref="T:Gdk.DragAction" />, default behaviors</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SourceSet">
      <MemberSignature Language="C#" Value="public static void SourceSet (Gtk.Widget widget, Gdk.ModifierType start_button_mask, Gtk.TargetEntry[] targets, Gdk.DragAction actions);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="start_button_mask" Type="Gdk.ModifierType" />
        <Parameter Name="targets" Type="Gtk.TargetEntry[]" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
      </Parameters>
      <Docs>
        <summary>Sets up a <paramref name="widget" /> so that Gtk# will start a drag operation when the user clicks and drags on the <paramref name="widget" />.</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="start_button_mask">The bitmask of buttons that can start the drag.</param>
        <param name="targets">The table of targets that the drag will support.</param>
        <param name="actions">the bitmask of possible actions for a drag from this <paramref name="widget" />.</param>
        <remarks>The <paramref name="widget" /> must have a window.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SourceGetTargetList">
      <MemberSignature Language="C#" Value="public static Gtk.TargetList SourceGetTargetList (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TargetList</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>
	  Gets the list of targets this widget can provide for drag-and-drop.
	</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <returns>a <see cref="T:Gtk.TargetList" />, or <see langword="null" /> if none.</returns>
        <remarks>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SourceSetTargetList">
      <MemberSignature Language="C#" Value="public static void SourceSetTargetList (Gtk.Widget widget, Gtk.TargetList target_list);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <summary>
	  Changes the target types that this widget offers for drag-and-drop.
	  The widget must first be made into a drag source with
	  gtk_drag_source_set().
	</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="target_list">a <see cref="T:Gtk.TargetList" /></param>
        <remarks>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SetDefaultIcon">
      <MemberSignature Language="C#" Value="public static void SetDefaultIcon (Gdk.Colormap colormap, Gdk.Pixmap pixmap, Gdk.Pixmap mask, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="colormap" Type="Gdk.Colormap" />
        <Parameter Name="pixmap" Type="Gdk.Pixmap" />
        <Parameter Name="mask" Type="Gdk.Pixmap" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Obsolete.</summary>
        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
        <param name="pixmap">a <see cref="T:Gdk.Pixmap" /></param>
        <param name="mask">a <see cref="T:Gdk.Pixmap" /></param>
        <param name="hot_x">a <see cref="T:System.Int32" /></param>
        <param name="hot_y">a <see cref="T:System.Int32" /></param>
        <remarks>
	  Old functionality: changes the default drag icon. GTK+ retains references for the
	  arguments, and will release them when they are no longer needed.
	  This function is obsolete. The default icon should now be changed
	  via the stock system by changing the stock pixbuf for #GTK_STOCK_DND.
	</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SourceAddTextTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddTextTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestAddTextTargets">
      <MemberSignature Language="C#" Value="public static void DestAddTextTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestAddUriTargets">
      <MemberSignature Language="C#" Value="public static void DestAddUriTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceAddUriTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddUriTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestAddImageTargets">
      <MemberSignature Language="C#" Value="public static void DestAddImageTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceAddImageTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddImageTargets (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconName">
      <MemberSignature Language="C#" Value="public static void SourceSetIconName (Gtk.Widget widget, string icon_name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="icon_name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="widget">the source widget.</param>
        <param name="icon_name">the name of an Icon in the Icon theme.</param>
        <summary>Sets a source icon by name from an Icon theme.</summary>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="SetIconName">
      <MemberSignature Language="C#" Value="public static void SetIconName (Gdk.DragContext context, string icon_name, int hot_x, int hot_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="icon_name" Type="System.String" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="context">The drag context.</param>
        <param name="icon_name">name of an Icon in the Icon theme.</param>
        <param name="hot_x">the x offset within the icon of the hotspot.</param>
        <param name="hot_y">the y offset within the icon of the hotspot.</param>
        <summary>Sets the icon for a drag using a name from an Icon theme.</summary>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="DestGetTrackMotion">
      <MemberSignature Language="C#" Value="public static bool DestGetTrackMotion (Gtk.Widget widget);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /> to test.</param>
        <summary>Tests if a widget is set to raise drag motion events.</summary>
        <returns>if <see langword="true" />, the widget raises <see cref="M:Gtk.Widget.DragMotion" />.</returns>
        <remarks />
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="DestSetTrackMotion">
      <MemberSignature Language="C#" Value="public static void DestSetTrackMotion (Gtk.Widget widget, bool track_motion);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="track_motion" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="widget">the <see cref="T:Gtk.Widget" /> to configure.</param>
        <param name="track_motion">turns on motion events if <see langword="true" />.</param>
        <summary>Sets the generic drag motion behavior for a widget.</summary>
        <remarks>This method can be used to make a widget raise <see cref="M:Gtk.Widget.DragMotion" /> events despite its target settings and flags, allowing a widget to perform generic actions regardless of the source widget's target settings.</remarks>
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
  </Members>
</Type>
