<Type Name="SelectionData" FullName="Gtk.SelectionData">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class SelectionData : GLib.Opaque" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SelectionData extends GLib.Opaque" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </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>
  <Base>
    <BaseTypeName>GLib.Opaque</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>A type to represent data that's selected as part of a drag-and-drop or clipboard operation.</summary>
    <remarks />
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SelectionData (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">a <see cref="T:System.IntPtr" />, pointer to the underlying C data.</param>
        <summary>Constructor.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="C#" Value="public Gtk.SelectionData Copy ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.SelectionData Copy() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.SelectionData</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Copy the object by value.</summary>
        <returns>a <see cref="T:Gtk.SelectionData" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Data">
      <MemberSignature Language="C#" Value="public byte[] Data { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance unsigned int8[] Data" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The data as a sequence of bytes.</summary>
        <value>a <see cref="T:System.Byte[]" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DataType">
      <MemberSignature Language="C#" Value="public Gdk.Atom DataType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Atom DataType" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Display">
      <MemberSignature Language="C#" Value="public Gdk.Display Display { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Display Display" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Display</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="~SelectionData ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="C#" Value="public int Format { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Format" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The unit length of the data in bits.</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks>On most systems, this is 8 for a string and 32 for 
	  an integer.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="public void Free ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Free() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Gtk.SelectionData is now freed automatically")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Releases memory that was used by this object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Free">
      <MemberSignature Language="C#" Value="protected override void Free (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Free(native int raw) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GetDataWithLength">
      <MemberSignature Language="C#" Value="public byte GetDataWithLength (out int length);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8 GetDataWithLength(int32 length) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="length" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="length">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.SelectionData" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Length">
      <MemberSignature Language="C#" Value="public int Length { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Length" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The length of the selected data.</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Pixbuf">
      <MemberSignature Language="C#" Value="public Gdk.Pixbuf Pixbuf { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Pixbuf Pixbuf" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Pixbuf</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <value>a <see cref="T:Gdk.Pixbuf" /></value>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="Selection">
      <MemberSignature Language="C#" Value="public Gdk.Atom Selection { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Atom Selection" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The selected data.</summary>
        <value>a <see cref="T:Gdk.Atom" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Set">
      <MemberSignature Language="C#" Value="public void Set (Gdk.Atom type, int format, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Set(class Gdk.Atom type, int32 format, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="type" Type="Gdk.Atom" />
        <Parameter Name="format" Type="System.Int32" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <param name="type">type of selection data (expressed via a <see cref="T:Gdk.Atom" />)</param>
        <param name="format">format (number of bits in a unit) - set this to 8 and encode your data as UTF-8
</param>
        <param name="data">a <see cref="T:System.Byte" /> array containing the data to send to this selection object - use 
<see cref="P:System.Text.Encoding.UTF8" />.GetBytes(string) to encode string data as UTF-8 before passing it here</param>
        <summary>Stores new data into this <see cref="T:Gtk.SelectionData" /> object. Should only be called from a selection handler callback.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Set">
      <MemberSignature Language="C#" Value="public void Set (Gdk.Atom type, int format, byte[] data, int length);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Set(class Gdk.Atom type, int32 format, unsigned int8[] data, int32 length) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="type" Type="Gdk.Atom" />
        <Parameter Name="format" Type="System.Int32" />
        <Parameter Name="data" Type="System.Byte[]" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="type">type of selection data (expressed via a <see cref="T:Gdk.Atom" />)</param>
        <param name="format">format (number of bits in a unit) - set this to 8 and encode your data as UTF-8</param>
        <param name="data">a <see cref="T:System.Byte" /> array containing the data to send to this selection object - use 
<see cref="P:System.Text.Encoding.UTF8" />.GetBytes(string) to encode string data as UTF-8 before passing it here
</param>
        <param name="length">length of the data in bytes</param>
        <summary>Stores new data into this <see cref="T:Gtk.SelectionData" /> object. Should only be called from a selection handler callback.</summary>
        <remarks>The version <see cref="M:Gtk.SelectionData.Set(Gdk.Atom,System.Int32,System.Byte[])" /> auto-calculates the length for you.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetPixbuf">
      <MemberSignature Language="C#" Value="public bool SetPixbuf (Gdk.Pixbuf pixbuf);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool SetPixbuf(class Gdk.Pixbuf pixbuf) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
      </Parameters>
      <Docs>
        <param name="pixbuf">a <see cref="T:Gdk.Pixbuf" /></param>
        <summary>To be added</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SetUris">
      <MemberSignature Language="C#" Value="public bool SetUris (string uris);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool SetUris(string uris) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uris" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="uris">a <see cref="T:System.String" /></param>
        <summary>To be added</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="Target">
      <MemberSignature Language="C#" Value="public Gdk.Atom Target { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Atom Target" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The type of target being used.</summary>
        <value>a <see cref="T:Gdk.Atom" /></value>
        <remarks>XXX: Add a list of useful strings for target types.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Targets">
      <MemberSignature Language="C#" Value="public Gdk.Atom[] Targets { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gdk.Atom[] Targets" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the selection data as an array of targets.</summary>
        <value>a <see cref="T:Gdk.Atom[]" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="TargetsIncludeImage">
      <MemberSignature Language="C#" Value="public bool TargetsIncludeImage (bool writable);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TargetsIncludeImage(bool writable) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="writable" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="writable">a <see cref="T:System.Boolean" /></param>
        <summary>To be added</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="TargetsIncludeRichText">
      <MemberSignature Language="C#" Value="public bool TargetsIncludeRichText (Gtk.TextBuffer buffer);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TargetsIncludeRichText(class Gtk.TextBuffer buffer) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="buffer" Type="Gtk.TextBuffer" />
      </Parameters>
      <Docs>
        <param name="buffer">To be added.</param>
        <summary>Indicates if any targets provide rich text.</summary>
        <returns>
          <see cref="T:System.Boolean" />.</returns>
        <remarks />
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="TargetsIncludeText">
      <MemberSignature Language="C#" Value="public bool TargetsIncludeText ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TargetsIncludeText() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Assuming that this selection data object holds a list
	  of targets, determines if any of the targets in can be used to
	  provide text.</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="TargetsIncludeUri">
      <MemberSignature Language="C#" Value="public bool TargetsIncludeUri ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TargetsIncludeUri() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Indicates if any targets provide a URI list.</summary>
        <returns>a <see cref="T:System.Boolean" />.</returns>
        <remarks />
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="Text">
      <MemberSignature Language="C#" Value="public string Text { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Text" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The text stored in the selection.</summary>
        <value>A <see cref="T:System.String" />.</value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Uris">
      <MemberSignature Language="C#" Value="public string Uris { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Uris" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
  </Members>
</Type>