<Type Name="TreeStore" FullName="Gtk.TreeStore">
  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class TreeStore : GLib.Object, Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeStore extends GLib.Object implements class GLib.IWrapper, class Gtk.TreeDragDest, class Gtk.TreeDragSource, class Gtk.TreeModel, class Gtk.TreeSortable" />
  <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.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Gtk.TreeDragDest</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>Gtk.TreeModel</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>Gtk.TreeSortable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>A tree-like data structure that can be used with the <see cref="T:Gtk.TreeView" /></summary>
    <remarks>The <see cref="T:Gtk.TreeStore" /> object is a list model for use with a <see cref="T:Gtk.TreeView" /> widget. It implements the <see cref="T:Gtk.TreeModel" /> interface, and consequentialy, can use all of the methods available there. It also implements the <see cref="T:Gtk.TreeSortable" /> interface so it can be sorted by the view. Finally, it also implements the tree drag and drop interfaces.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected TreeStore ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Protected constructor.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TreeStore (GLib.GType[] types);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype GLib.GType[] types) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="types" Type="GLib.GType[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="types">a <see cref="T:GLib.GType" /></param>
        <summary>Protected Constructor.</summary>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TreeStore (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">Pointer to the C object.</param>
        <summary>Internal constructor</summary>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TreeStore (Type[] types);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Type[] types) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="types" Type="System.Type[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="types">a <see cref="T:System.Type[]" /></param>
        <summary>Creates a new <see cref="T:Gtk.TreeStore" /> instance.</summary>
        <remarks>
        </remarks>
        <example>
          <code language="C#">
Treestore store;
store = new TreeStore (typeof (int), typeof (string));
          </code>
        </example>
      </Docs>
    </Member>
    <Member MemberName="AppendNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendNode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendNode() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Appends a root node to the store.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="AppendNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendNode (Gtk.TreeIter parent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendNode(valuetype Gtk.TreeIter parent) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="parent">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Appends a child to an existing node.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="AppendValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendValues (Array values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendValues(class System.Array values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="values" Type="System.Array" />
      </Parameters>
      <Docs>
        <param name="values">a <see cref="T:System.Array" /> with the data for the row.</param>
        <summary>Appends a new row to the <see cref="T:Gtk.TreeStore" />.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="AppendValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendValues (object[] values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendValues(object[] values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="values" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="values">a <see cref="T:System.Object[]" /> with the data for the row.</param>
        <summary>Appends a new row to the <see cref="T:Gtk.TreeStore" />.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="AppendValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, Array values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendValues(valuetype Gtk.TreeIter parent, class System.Array values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="values" Type="System.Array" />
      </Parameters>
      <Docs>
        <param name="parent">the parent row to attach the new row under.</param>
        <param name="values">a <see cref="T:System.Array" /> with the data for the row.</param>
        <summary>Appends a new row to the <see cref="T:Gtk.TreeStore" />.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks>To append the new row to the toplevel, use the <see cref="M:Gtk.TreeStore.AppendValues(System.Array)" /></remarks>
      </Docs>
    </Member>
    <Member MemberName="AppendValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, object[] values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter AppendValues(valuetype Gtk.TreeIter parent, object[] values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="values" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="parent">the parent row to attach the new row under.</param>
        <param name="values">a <see cref="T:System.Object[]" /> with the data for the row.</param>
        <summary>Appends a new row to the <see cref="T:Gtk.TreeStore" />.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks>To append the new row to the toplevel, use the <see cref="M:Gtk.TreeStore.AppendValues(System.Object[])" /></remarks>
      </Docs>
    </Member>
    <Member MemberName="ChangeSortColumn">
      <MemberSignature Language="C#" Value="public void ChangeSortColumn ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ChangeSortColumn() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Fires a <see cref="E:Gtk.TreeSortable.SortColumnChanged" /> event.</summary>
        <remarks>Designed to be called by routines that change the sort of the tree.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Clear">
      <MemberSignature Language="C#" Value="public void Clear ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Removes all rows from the <see cref="T:Gtk.TreeStore" /></summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ColumnTypes">
      <MemberSignature Language="C#" Value="public GLib.GType[] ColumnTypes { set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType[] ColumnTypes" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType[]</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <value>a <see cref="T:GLib.GType[]" /></value>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="DefaultSortFunc">
      <MemberSignature Language="C#" Value="public Gtk.TreeIterCompareFunc DefaultSortFunc { set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeIterCompareFunc DefaultSortFunc" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIterCompareFunc</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The function that should be used to be sort columns by default if not otherwise specified by <see cref="T:Gtk.TreeModelSort.SetSortFunc" />.</summary>
        <value>a <see cref="T:Gtk.TreeIterCompareFunc" /></value>
        <remarks>This property is meant to be used together with <see cref="T:Gtk.TreeModelSort.ChangeSortColumn" />.</remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="DragDataDelete">
      <MemberSignature Language="C#" Value="public bool DragDataDelete (Gtk.TreePath path);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool DragDataDelete(class Gtk.TreePath path) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:Gtk.TreePath" />, the path of the data to delete.</param>
        <summary>When this TreeStore is the data source for a drag operation and the drag operation is a move, this method runs to delete the data after the data has been received by the target widget.</summary>
        <returns>A <see cref="T:System.Boolean" />, true if the operation succeeds.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DragDataGet">
      <MemberSignature Language="C#" Value="public bool DragDataGet (Gtk.TreePath path, Gtk.SelectionData selection_data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool DragDataGet(class Gtk.TreePath path, class Gtk.SelectionData selection_data) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="selection_data" Type="Gtk.SelectionData" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <param name="selection_data">A <see cref="T:Gtk.SelectionData" /></param>
        <summary>Method used when this TreeStore is part of a source widget
	for a drag-and-drop operation; gets the data that was dragged from the
	associated widget.</summary>
        <returns>A <see cref="T:System.Boolean" />, true if the operation succeeded.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DragDataReceived">
      <MemberSignature Language="C#" Value="public bool DragDataReceived (Gtk.TreePath dest, Gtk.SelectionData selection_data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool DragDataReceived(class Gtk.TreePath dest, class Gtk.SelectionData selection_data) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dest" Type="Gtk.TreePath" />
        <Parameter Name="selection_data" Type="Gtk.SelectionData" />
      </Parameters>
      <Docs>
        <param name="dest">A <see cref="T:Gtk.TreePath" />, the destination path of the drag</param>
        <param name="selection_data">A <see cref="T:Gtk.SelectionData" />, the data that was dragged</param>
        <summary>Drags data received into this <see cref="T:Gtk.TreeStore" /> object.</summary>
        <returns>A boolean, true if the data was successfully received.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="EmitRowChanged">
      <MemberSignature Language="C#" Value="public void EmitRowChanged (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitRowChanged(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Emits the <see cref="E:Gtk.TreeStore.RowChanged" /> event.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="EmitRowDeleted">
      <MemberSignature Language="C#" Value="public void EmitRowDeleted (Gtk.TreePath path);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitRowDeleted(class Gtk.TreePath path) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
      </Parameters>
      <Docs>
        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
        <summary>Emits the <see cref="E:Gtk.TreeModel.RowDeleted" /> event.</summary>
        <remarks>This should be called by models after a row has been removed. The location pointed to by <paramref name="path" /> should be the location that the row previously was at. It may not be a valid location anymore.</remarks>
      </Docs>
    </Member>
    <Member MemberName="EmitRowHasChildToggled">
      <MemberSignature Language="C#" Value="public void EmitRowHasChildToggled (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitRowHasChildToggled(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Emits the <see cref="E:Gtk.TreeStore.RowHasChildToggled" /> event.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="EmitRowInserted">
      <MemberSignature Language="C#" Value="public void EmitRowInserted (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitRowInserted(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Emits the <see cref="E:Gtk.TreeModel.RowInserted" /> event.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="EmitRowsReordered">
      <MemberSignature Language="C#" Value="public void EmitRowsReordered (Gtk.TreePath path, Gtk.TreeIter iter, int[] new_order);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitRowsReordered(class Gtk.TreePath path, valuetype Gtk.TreeIter iter, int32[] new_order) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="new_order" Type="System.Int32[]" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="iter">To be added.</param>
        <param name="new_order">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Flags">
      <MemberSignature Language="C#" Value="public Gtk.TreeModelFlags Flags { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.TreeModelFlags Flags" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeModelFlags</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns a set of flags supported by this <see cref="T:Gtk.TreeStore" />.</summary>
        <value>an object of type <see cref="T:Gtk.TreeModelFlags" /></value>
        <remarks>The flags are a bitwise combination of <see cref="T:Gtk.TreeModelFlags" />. The flags supported should not change during the lifecycle of the <see cref="T:Gtk.TreeStore" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Foreach">
      <MemberSignature Language="C#" Value="public void Foreach (Gtk.TreeModelForeachFunc func);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Foreach(class Gtk.TreeModelForeachFunc func) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="func" Type="Gtk.TreeModelForeachFunc" />
      </Parameters>
      <Docs>
        <param name="func">an object of type <see cref="T:Gtk.TreeModelForeachFunc" /></param>
        <summary>Calls <paramref name="func" /> on each node in model in a depth-first fashion.</summary>
        <remarks>If func returns <see langword="true" />, then the tree ceases to be walked, and this method returns.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetColumnType">
      <MemberSignature Language="C#" Value="public GLib.GType GetColumnType (int index_);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype GLib.GType GetColumnType(int32 index_) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="index_" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="index_">a <see cref="T:System.Int32" />, the column to check</param>
        <summary>Gets the type of data stored in column number <paramref name="index_" />.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetIter">
      <MemberSignature Language="C#" Value="public bool GetIter (out Gtk.TreeIter iter, Gtk.TreePath path);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GetIter(valuetype Gtk.TreeIter iter, class Gtk.TreePath path) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="path" Type="Gtk.TreePath" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
        <summary>Sets <paramref name="iter" /> to a valid iterator pointing to <paramref name="path" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetIterFirst">
      <MemberSignature Language="C#" Value="public bool GetIterFirst (out Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GetIterFirst(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Gets the first iterator in the tree (the one at the path "0") and returns <see langword="true" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>Returns <see langword="false" /> if the tree is empty.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetIterFromString">
      <MemberSignature Language="C#" Value="public bool GetIterFromString (out Gtk.TreeIter iter, string path_string);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GetIterFromString(valuetype Gtk.TreeIter iter, string path_string) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="path_string" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="path_string">an object of type <see cref="T:System.String" /></param>
        <summary>Gets the <see cref="T:Gtk.TreeIter" /> at <paramref name="path_string" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>Otherwise, <paramref name="iter" /> is left invalid and <see langword="false" /> is returned.

<para>
path_string "0" represent the first node, "1" the second, and so on.
path_string "0:0" represent the first child of the first node, "0:1" the second child of the first node, and so on.

</para></remarks>
      </Docs>
    </Member>
    <Member MemberName="GetPath">
      <MemberSignature Language="C#" Value="public Gtk.TreePath GetPath (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Gtk.TreePath GetPath(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreePath</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Gets the <see cref="T:Gtk.TreePath" /> of <paramref name="iter" />.</summary>
        <returns>an object of type <see cref="T:Gtk.TreePath" /></returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetSortColumnId">
      <MemberSignature Language="C#" Value="public bool GetSortColumnId (out int sort_column_id, out Gtk.SortType order);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GetSortColumnId(int32 sort_column_id, valuetype Gtk.SortType order) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sort_column_id" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="order" Type="Gtk.SortType&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="sort_column_id">a <see cref="T:System.Int32&amp;" />, gets filled with the column number that's currently used for sorting</param>
        <param name="order">a <see cref="T:Gtk.SortType&amp;" />, the current type of sort (ascending or descending)</param>
        <summary>Report on which column is currently being used to sort this TreeStore.</summary>
        <returns>a <see cref="T:System.Boolean" />, false if the default sort column for this TreeStore is being used, true if some other sort column is being used.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetStringFromIter">
      <MemberSignature Language="C#" Value="public string GetStringFromIter (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetStringFromIter(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Marshals the given <paramref name="iter" /> into a path string.</summary>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetValist">
      <MemberSignature Language="C#" Value="public void GetValist (Gtk.TreeIter iter, IntPtr var_args);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetValist(valuetype Gtk.TreeIter iter, native int var_args) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="var_args" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="var_args">a <see cref="T:System.IntPtr" />, pointer to the va_list data structure of arguments (FIXME: clarify what va_lists look like)</param>
        <summary>Gets the values of child properties for the row pointed to by <paramref name="iter" />.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetValue">
      <MemberSignature Language="C#" Value="public object GetValue (Gtk.TreeIter iter, int column);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object GetValue(valuetype Gtk.TreeIter iter, int32 column) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <summary>Gets a value at row <paramref name="iter" /> and column <paramref name="column" />.</summary>
        <returns>a <see cref="T:System.Object" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetValue">
      <MemberSignature Language="C#" Value="public void GetValue (Gtk.TreeIter iter, int column, ref GLib.Value value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetValue(valuetype Gtk.TreeIter iter, int32 column, valuetype GLib.Value value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="GLib.Value&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:GLib.Value" /></param>
        <summary>Gets the value of row <paramref name="iter" /> of column 
	  <paramref name="column" /> and puts it in <paramref name="value" />.
	</summary>
        <remarks />
      </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.TreeStore" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="HasDefaultSortFunc">
      <MemberSignature Language="C#" Value="public bool HasDefaultSortFunc { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool HasDefaultSortFunc" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Find out whether this TreeStore has a default sort function.</summary>
        <value>a <see cref="T:System.Boolean" />, true if there is a default
	sort function.</value>
        <remarks>To set a default sort function, use <see cref="M:Gtk.TreeStore.DefaultSortFunc" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="InsertNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNode (int position);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNode(int32 position) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="position" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="position">a <see cref="T:System.Int32" /></param>
        <summary>Inserts a root node.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNode (Gtk.TreeIter parent, int position);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNode(valuetype Gtk.TreeIter parent, int32 position) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="position" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="parent">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="position">a <see cref="T:System.Int32" /></param>
        <summary>Inserts a child of an existing node.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertNodeAfter">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNodeAfter (Gtk.TreeIter sibling);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNodeAfter(valuetype Gtk.TreeIter sibling) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sibling" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="sibling">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Inserts a root node after a sibling.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertNodeAfter">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNodeAfter (Gtk.TreeIter parent, Gtk.TreeIter sibling);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNodeAfter(valuetype Gtk.TreeIter parent, valuetype Gtk.TreeIter sibling) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="sibling" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="parent">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="sibling">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Inserts a child of an existing node after a sibling.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertNodeBefore">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNodeBefore (Gtk.TreeIter sibling);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNodeBefore(valuetype Gtk.TreeIter sibling) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sibling" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="sibling">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Inserts a root node before a sibling.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertNodeBefore">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertNodeBefore (Gtk.TreeIter parent, Gtk.TreeIter sibling);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertNodeBefore(valuetype Gtk.TreeIter parent, valuetype Gtk.TreeIter sibling) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="sibling" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="parent">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="sibling">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Inserts a child of an existing node before a sibling.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="InsertWithValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertWithValues (int position, object[] values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertWithValues(int32 position, object[] values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="position" Type="System.Int32" />
        <Parameter Name="values" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="position">Insert position.</param>
        <param name="values">An array of column values.</param>
        <summary>Inserts a row into the Root node of the store with values.</summary>
        <returns>An iter pointing to the added row.</returns>
        <remarks>The column values provided should be in column order.</remarks>
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="InsertWithValues">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter InsertWithValues (Gtk.TreeIter parent, int position, object[] values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter InsertWithValues(valuetype Gtk.TreeIter parent, int32 position, object[] values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="position" Type="System.Int32" />
        <Parameter Name="values" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="parent">Iter of the node to insert into.</param>
        <param name="position">Insert position.</param>
        <param name="values">An array of column values.</param>
        <summary>Inserts a child row into a node with values.</summary>
        <returns>An iter pointing to the added row.</returns>
        <remarks>The column values provided should be in column order.</remarks>
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="IsAncestor">
      <MemberSignature Language="C#" Value="public bool IsAncestor (Gtk.TreeIter iter, Gtk.TreeIter descendant);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsAncestor(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter descendant) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="descendant" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="descendant">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Returns <see langword="true" /> if <paramref name="iter" /> is an ancestor of <paramref name="descendant" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>That is, <paramref name="iter" /> is the parent (or grandparent or great-grandparent) of <paramref name="descendant" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterChildren">
      <MemberSignature Language="C#" Value="public bool IterChildren (out Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterChildren(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Sets the TreeIter object pointed to by the iter param to point to the first child of this tree. </summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="IterChildren">
      <MemberSignature Language="C#" Value="public bool IterChildren (out Gtk.TreeIter iter, Gtk.TreeIter parent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterChildren(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter parent) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="parent" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="parent">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Sets <paramref name="iter" /> to point to the first child of <paramref name="parent" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If <paramref name="parent" /> has no children, <see langword="false" /> is returned and <paramref name="iter" /> is set to be invalid. <paramref name="parent" /> will remain a valid node after this function has been called.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterDepth">
      <MemberSignature Language="C#" Value="public int IterDepth (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 IterDepth(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Returns the depth of <paramref name="iter" />.</summary>
        <returns>an object of type <see cref="T:System.Int32" /></returns>
        <remarks>This will be 0 for anything on the root level, 1 for anything down a level, etc.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterHasChild">
      <MemberSignature Language="C#" Value="public bool IterHasChild (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterHasChild(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Returns <see langword="true" /> if iter has children, <see langword="false" /> otherwise.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="IterIsValid">
      <MemberSignature Language="C#" Value="public bool IterIsValid (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IterIsValid(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Test whether <paramref name="iter" /> is valid for this TreeStore.</summary>
        <returns>a <see cref="T:System.Boolean" />, true if <paramref name="iter" /> is valid.</returns>
        <remarks>WARNING: this method is slow and is only intended for
	debugging/testing purposes.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterNChildren">
      <MemberSignature Language="C#" Value="public int IterNChildren ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 IterNChildren() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns the number of children that the <see cref="T:Gtk.TreeIter" /> has.</summary>
        <returns>an object of type <see cref="T:System.Int32" /></returns>
        <remarks>As a special case, if iter is <see langword="null" />, then the number of toplevel nodes is returned.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterNChildren">
      <MemberSignature Language="C#" Value="public int IterNChildren (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 IterNChildren(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Returns the number of children that <paramref name="iter" /> has.</summary>
        <returns>an object of type <see cref="T:System.Int32" /></returns>
        <remarks>As a special case, if <paramref name="iter" /> is <see langword="null" />, then the number of toplevel nodes is returned.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterNext">
      <MemberSignature Language="C#" Value="public bool IterNext (ref Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterNext(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Sets <paramref name="iter" /> to point to the node following it at the current level.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If there is no next iter, <see langword="false" /> is returned and iter is set to be invalid.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterNthChild">
      <MemberSignature Language="C#" Value="public bool IterNthChild (out Gtk.TreeIter iter, int n);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterNthChild(valuetype Gtk.TreeIter iter, int32 n) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="n" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="n">an object of type <see cref="T:System.Int32" /></param>
        <summary>Sets <paramref name="iter" /> to be the child of the root node, using the given index.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>In this case, the nth root node is set.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterNthChild">
      <MemberSignature Language="C#" Value="public bool IterNthChild (out Gtk.TreeIter iter, Gtk.TreeIter parent, int n);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterNthChild(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter parent, int32 n) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="parent" Type="Gtk.TreeIter" />
        <Parameter Name="n" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="parent">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="n">an object of type <see cref="T:System.Int32" /></param>
        <summary>Sets <paramref name="iter" /> to be the child of <paramref name="parent" />, using the given index.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>The first index is 0. If <paramref name="n" /> is too big, or <paramref name="parent" /> has no children, <paramref name="iter" /> is set to an invalid iterator and <see langword="false" /> is returned. <paramref name="parent" /> will remain a valid node after this function has been called.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterParent">
      <MemberSignature Language="C#" Value="public bool IterParent (out Gtk.TreeIter iter, Gtk.TreeIter child);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterParent(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter child) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="out" />
        <Parameter Name="child" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="child">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Sets <paramref name="iter" /> to be the parent of <paramref name="child" />.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>If <paramref name="child" /> is at the toplevel, and does not have a parent, then <paramref name="iter" /> is set to an invalid iterator and <see langword="false" /> is returned. <paramref name="child" /> will remain a valid node after this function has been called.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IterPrevious">
      <MemberSignature Language="C#" Value="public bool IterPrevious (ref Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IterPrevious(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="iter">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="MoveAfter">
      <MemberSignature Language="C#" Value="public void MoveAfter (Gtk.TreeIter iter, Gtk.TreeIter position);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void MoveAfter(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter position) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="position" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="position">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Move the row pointed to by <paramref name="iter" /> to the
	  position after <paramref name="position" />. If 
	  <paramref name="position" /> is <see langword="null" />, 
	  <paramref name="iter" /> will be moved to point to the start
	  of the list.
	</summary>
        <remarks>This only works in unsorted stores.</remarks>
      </Docs>
    </Member>
    <Member MemberName="MoveBefore">
      <MemberSignature Language="C#" Value="public void MoveBefore (Gtk.TreeIter iter, Gtk.TreeIter position);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void MoveBefore(valuetype Gtk.TreeIter iter, valuetype Gtk.TreeIter position) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="position" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="position">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Move the row pointed to by <paramref name="iter" /> to the
	  position before <paramref name="position" />. If 
	  <paramref name="position" /> is <see langword="null" />, 
	  <paramref name="iter" /> will be moved to point to the end
	  of the list.
	</summary>
        <remarks>This only works in unsorted stores.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NColumns">
      <MemberSignature Language="C#" Value="public int NColumns { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 NColumns" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns the number of columns supported by the <see cref="T:Gtk.TreeStore" />.</summary>
        <value>an object of type <see cref="T:System.Int32" /></value>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRowChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnRowChanged (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRowChanged(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideRowChanged", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Default handler for the <see cref="M:Gtk.TreeStore.RowChanged" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeStore.RowChanged" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRowDeleted">
      <MemberSignature Language="C#" Value="protected virtual void OnRowDeleted (Gtk.TreePath path);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRowDeleted(class Gtk.TreePath path) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideRowDeleted", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <summary>Default handler for the <see cref="M:Gtk.TreeStore.RowDeleted" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeStore.RowDeleted" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRowHasChildToggled">
      <MemberSignature Language="C#" Value="protected virtual void OnRowHasChildToggled (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRowHasChildToggled(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideRowHasChildToggled", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Default handler for the <see cref="M:Gtk.TreeStore.RowHasChildToggled" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeStore.RowHasChildToggled" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRowInserted">
      <MemberSignature Language="C#" Value="protected virtual void OnRowInserted (Gtk.TreePath path, Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRowInserted(class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideRowInserted", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Default handler for the <see cref="M:Gtk.TreeStore.RowInserted" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeStore.RowInserted" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRowsReordered">
      <MemberSignature Language="C#" Value="protected virtual void OnRowsReordered (Gtk.TreePath path, Gtk.TreeIter iter, int[] new_order);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRowsReordered(class Gtk.TreePath path, valuetype Gtk.TreeIter iter, int32[] new_order) cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideRowsReordered", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="new_order" Type="System.Int32[]" />
      </Parameters>
      <Docs>
        <param name="path">Path to the reordered parent node.</param>
        <param name="iter">Iter corresponding to the reordered parent node.</param>
        <param name="new_order">An array of the old indices.</param>
        <summary>Default handler for the RowsReordered event.</summary>
        <remarks />
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="OnSortColumnChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnSortColumnChanged ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnSortColumnChanged() cil managed" />
      <MemberType>Method</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideSortColumnChanged", Type=typeof(Gtk.TreeStore))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.TreeStore.SortColumnChanged" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeStore.SortColumnChanged" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="PrependNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter PrependNode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter PrependNode() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Prepends a root node.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="PrependNode">
      <MemberSignature Language="C#" Value="public Gtk.TreeIter PrependNode (Gtk.TreeIter parent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype Gtk.TreeIter PrependNode(valuetype Gtk.TreeIter parent) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TreeIter</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="parent">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Prepends a child of an existing node.</summary>
        <returns>a <see cref="T:Gtk.TreeIter" /></returns>
        <remarks />
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="RefNode">
      <MemberSignature Language="C#" Value="public void RefNode (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RefNode(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Lets the tree ref the node.</summary>
        <remarks>
          <para>This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons.</para>
          <para>This function is primarily meant as a way for views to let caching model know when nodes are being displayed (and hence, whether or not to cache that node.) For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view.</para>
          <para>A model should be expected to be able to get an iter independent of its referenced state.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Remove">
      <MemberSignature Language="C#" Value="public bool Remove (ref Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Remove(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Removes a row from the store.</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>After being removed, <paramref name="iter" /> is set to be the next valid row, or invalidated if it pointed to the last row in the store.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Reorder">
      <MemberSignature Language="C#" Value="public int Reorder (Gtk.TreeIter parent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 Reorder(valuetype Gtk.TreeIter parent) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parent" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="parent">To be added.</param>
        <summary>Reorders the TreeStore.</summary>
        <returns>a <see cref="T:System.Int32" />.</returns>
        <remarks>(FIXME: Does this binding work?)</remarks>
      </Docs>
    </Member>
    <Member MemberName="RowChanged">
      <MemberSignature Language="C#" Value="public event Gtk.RowChangedHandler RowChanged;" />
      <MemberSignature Language="ILAsm" Value=".event class Gtk.RowChangedHandler RowChanged" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("row-changed")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.RowChangedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when a row is in the <see cref="T:Gtk.TreeStore" /> is changed.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RowDeleted">
      <MemberSignature Language="C#" Value="public event Gtk.RowDeletedHandler RowDeleted;" />
      <MemberSignature Language="ILAsm" Value=".event class Gtk.RowDeletedHandler RowDeleted" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("row-deleted")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.RowDeletedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when a row is deleted from the <see cref="T:Gtk.TreeStore" />.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RowDraggable">
      <MemberSignature Language="C#" Value="public bool RowDraggable (Gtk.TreePath path);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RowDraggable(class Gtk.TreePath path) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="Gtk.TreePath" />
      </Parameters>
      <Docs>
        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
        <summary>Returns whether or not a given row can be dragged.</summary>
        <returns>A boolean, true if the row is draggable.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="RowDropPossible">
      <MemberSignature Language="C#" Value="public bool RowDropPossible (Gtk.TreePath dest_path, Gtk.SelectionData selection_data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RowDropPossible(class Gtk.TreePath dest_path, class Gtk.SelectionData selection_data) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dest_path" Type="Gtk.TreePath" />
        <Parameter Name="selection_data" Type="Gtk.SelectionData" />
      </Parameters>
      <Docs>
        <param name="dest_path">a <see cref="T:Gtk.TreePath" />, potential drop destination</param>
        <param name="selection_data">a <see cref="T:Gtk.SelectionData" />, potential data to be dropped.</param>
        <summary>Tests whether <paramref name="selection_data" /> can be dropped on <paramref name="dest_path" />. </summary>
        <returns>a <see cref="T:System.Boolean" />, true if drop is allowed</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="RowHasChildToggled">
      <MemberSignature Language="C#" Value="public event Gtk.RowHasChildToggledHandler RowHasChildToggled;" />
      <MemberSignature Language="ILAsm" Value=".event class Gtk.RowHasChildToggledHandler RowHasChildToggled" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("row-has-child-toggled")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.RowHasChildToggledHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when a child of a row is toggled.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RowInserted">
      <MemberSignature Language="C#" Value="public event Gtk.RowInsertedHandler RowInserted;" />
      <MemberSignature Language="ILAsm" Value=".event class Gtk.RowInsertedHandler RowInserted" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("row-inserted")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.RowInsertedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when a row is inserted into the <see cref="T:Gtk.TreeStore" />.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RowsReordered">
      <MemberSignature Language="C#" Value="public event Gtk.RowsReorderedHandler RowsReordered;" />
      <MemberSignature Language="ILAsm" Value=".event class Gtk.RowsReorderedHandler RowsReordered" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("rows_reordered")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gtk.RowsReorderedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when the rows of the <see cref="T:Gtk.TreeStore" /> are re-ordered.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SetSortColumnId">
      <MemberSignature Language="C#" Value="public void SetSortColumnId (int sort_column_id, Gtk.SortType order);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetSortColumnId(int32 sort_column_id, valuetype Gtk.SortType order) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sort_column_id" Type="System.Int32" />
        <Parameter Name="order" Type="Gtk.SortType" />
      </Parameters>
      <Docs>
        <param name="sort_column_id">A <see cref="T:System.Int32" />, the sort column index.</param>
        <param name="order">A <see cref="T:Gtk.SortType" />, the kind of sort to use</param>
        <summary>Sets which column is to be used to sort the data in the tree.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetSortFunc">
      <MemberSignature Language="C#" Value="public void SetSortFunc (int sort_column_id, Gtk.TreeIterCompareFunc sort_func);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetSortFunc(int32 sort_column_id, class Gtk.TreeIterCompareFunc sort_func) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sort_column_id" Type="System.Int32" />
        <Parameter Name="sort_func" Type="Gtk.TreeIterCompareFunc" />
      </Parameters>
      <Docs>
        <param name="sort_column_id">A <see cref="System.Int32" />, the index of the column to be sorted</param>
        <param name="sort_func">A <see cref="TGtk.TreeIterCompareFunc" />, the function to use for sorting</param>
        <summary>Sets a function that should be used to be sort a particular column.</summary>
        <remarks>This method is meant to be used together with <see cref="T:Gtk.TreeModelSort.ChangeSortColumn" /></remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SetValist">
      <MemberSignature Language="C#" Value="public void SetValist (Gtk.TreeIter iter, IntPtr var_args);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetValist(valuetype Gtk.TreeIter iter, native int var_args) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="var_args" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="var_args">a <see cref="T:System.IntPtr" />, pointer to the va_list data structure of arguments (FIXME: clarify what va_lists look like)</param>
        <summary>Sets the values of child properties for the row pointed to by <paramref name="iter" />.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, GLib.Value value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, valuetype GLib.Value value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="GLib.Value" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">an object of type <see cref="T:System.Int32" /></param>
        <param name="value">an object of type <see cref="T:GLib.Value" /></param>
        <summary>Sets the data in the cell specified by <paramref name="iter" /> and <paramref name="column" />.</summary>
        <remarks>The type of value must be convertible to the type of the column.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, bool value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, bool value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.Boolean" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be a <see cref="T:System.Boolean" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, double value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, float64 value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.Double" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.Double" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be a <see cref="T:System.Double" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, int value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, int32 value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.Int32" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be an <see cref="T:System.Int32" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, object value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, object value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.Object" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be an <see cref="T:System.Object" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, float value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, float32 value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.Single" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.Single" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be an <see cref="T:System.Single" /></remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, string value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, string value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.String" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be a <see cref="T:System.String" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValue">
      <MemberSignature Language="C#" Value="public void SetValue (Gtk.TreeIter iter, int column, uint value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(valuetype Gtk.TreeIter iter, int32 column, unsigned int32 value) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="column" Type="System.Int32" />
        <Parameter Name="value" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="column">a <see cref="T:System.Int32" /></param>
        <param name="value">a <see cref="T:System.UInt32" /></param>
        <summary>Sets the value of the specified column in the row pointed by iter.</summary>
        <remarks>The type of specified column must be an <see cref="T:System.UInt32" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetValues">
      <MemberSignature Language="C#" Value="public void SetValues (Gtk.TreeIter iter, object[] values);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetValues(valuetype Gtk.TreeIter iter, object[] values) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
        <Parameter Name="values" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="iter">Update position.</param>
        <param name="values">An array of column values to set.</param>
        <summary>Sets the column values of a given row.</summary>
        <remarks />
        <since version="Gtk# 2.12" />
      </Docs>
    </Member>
    <Member MemberName="SortColumnChanged">
      <MemberSignature Language="C#" Value="public event EventHandler SortColumnChanged;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler SortColumnChanged" />
      <MemberType>Event</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("sort-column-changed")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emitted when the sort column of the <see cref="T:Gtk.TreeStore" /> has changed.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Swap">
      <MemberSignature Language="C#" Value="public void Swap (Gtk.TreeIter a, Gtk.TreeIter b);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Swap(valuetype Gtk.TreeIter a, valuetype Gtk.TreeIter b) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="a" Type="Gtk.TreeIter" />
        <Parameter Name="b" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="a">a <see cref="T:Gtk.TreeIter" /></param>
        <param name="b">a <see cref="T:Gtk.TreeIter" /></param>
        <summary>Swaps rows a and b in the store.</summary>
        <remarks>This is only works in unsorted stores.</remarks>
      </Docs>
    </Member>
    <Member MemberName="UnrefNode">
      <MemberSignature Language="C#" Value="public void UnrefNode (Gtk.TreeIter iter);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnrefNode(valuetype Gtk.TreeIter iter) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TreeIter" />
      </Parameters>
      <Docs>
        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
        <summary>Lets the tree unref the node.</summary>
        <remarks>This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons.  For more information on what this means, see <see cref="M:Gtk.TreeModel.RefNode()" />. Please note that nodes that are deleted are not unreferenced.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
