<Type Name="TreeSelection" FullName="Gtk.TreeSelection"> <TypeSignature Language="C#" Value="public class TreeSelection : GLib.Object, IWrapper, IDisposable" Maintainer="Lee Mallabone" /> <AssemblyInfo> <AssemblyName>gtk-sharp</AssemblyName> <AssemblyVersion>0.0.0.0</AssemblyVersion> <Attributes /> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Docs> <summary>The selection object for <see cref="T:Gtk.TreeView" />.</summary> <remarks> <para>TreeSelection provides a single class for managing selection information on the List/Tree widget.</para> <para>A TreeSelection object is automatically created when a new <see cref="T:Gtk.TreeView" /> widget is created and is inherently tied to it. A TreeSelection cannot exist independently of a <see cref="T:Gtk.TreeView" />. Selection information is retrieved from the <see cref="T:Gtk.TreeView" /> with the <see cref="P:Gtk.TreeView.Selection" /> property.</para> <para>TreeSelection can check the selection status of the tree, as well as select and deselect individual rows. Selection is done completely on the view. As a result, multiple views of the same model can have completely different selections. Additionally, you cannot change the selection of a row that is not currently displayed by the view without expanding its parents first.</para> <para>One of the important things to remember when monitoring the selection of a view is that the <see cref="E:Gtk.TreeSelection.Changed" /> event is mostly a hint. For example, it may only fire once when a range of rows is selected. It may also fire when nothing has happened, such as when <see cref="M:Gtk.TreeSelection.SelectPath(Gtk.TreePath)" /> is called on a row that is already selected.</para> </remarks> </Docs> <Base> <BaseTypeName>GLib.Object</BaseTypeName> </Base> <Interfaces> <Interface> <InterfaceName>GLib.IWrapper</InterfaceName> </Interface> <Interface> <InterfaceName>System.IDisposable</InterfaceName> </Interface> </Interfaces> <Attributes /> <Members> <Member MemberName="GetSelected"> <MemberSignature Language="C#" Value="public bool GetSelected (out Gtk.TreeModel model, ref Gtk.TreeIter iter);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="model" Type="Gtk.TreeModel&" RefType="out" /> <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="ref" /> </Parameters> <Docs> <summary>Get information about the currently selected node.</summary> <param name="model">A convenient accessor to the <see cref="T:Gtk.TreeModel" /> that this TreeSelection's <see cref="T:Gtk.TreeView" /> is associated with.</param> <param name="iter">The position that was selected.</param> <returns> <see langword="true" /> if a row was selected</returns> <remarks> <para>This method will not work if the TreeSelection <see cref="P:Gtk.TreeSelection.Mode" /> has been set to <see cref="P:Gtk.SelectionMode.Multiple" />. In that case you should use <see cref="M:Gtk.TreeSelection.SelectedForeach(Gtk.TreeSelectionForEach)" />.</para> </remarks> </Docs> </Member> <Member MemberName="SelectPath"> <MemberSignature Language="C#" Value="public void SelectPath (Gtk.TreePath path);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="path" Type="Gtk.TreePath" /> </Parameters> <Docs> <summary>Selects the specified row that <paramref name="path" /> represents.</summary> <param name="path">A row to be selected.</param> <remarks /> </Docs> </Member> <Member MemberName="PathIsSelected"> <MemberSignature Language="C#" Value="public bool PathIsSelected (Gtk.TreePath path);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="path" Type="Gtk.TreePath" /> </Parameters> <Docs> <summary>Determines whether a <see cref="T:Gtk.TreePath" /> has been selected in this <see cref="T:TreeView" />.</summary> <param name="path">The path to a node whose selected status should be checked.</param> <returns> <see langword="true" /> if <paramref name="path" /> is selected, <see langword="false" /> otherwise.</returns> <remarks /> </Docs> </Member> <Member MemberName="UnselectIter"> <MemberSignature Language="C#" Value="public void UnselectIter (Gtk.TreeIter iter);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="iter" Type="Gtk.TreeIter" /> </Parameters> <Docs> <summary>Deselects the specified position in the tree.</summary> <param name="iter">The tree position that should be deselected.</param> <remarks> <para>See also, <see cref="M:Gtk.TreeSelection.UnselectPath(Gtk.TreePath)" /> and <see cref="M:Gtk.TreeSelection.UnselectAll()" />.</para> </remarks> </Docs> </Member> <Member MemberName="IterIsSelected"> <MemberSignature Language="C#" Value="public bool IterIsSelected (Gtk.TreeIter iter);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="iter" Type="Gtk.TreeIter" /> </Parameters> <Docs> <summary>Determine if the iter is selected.</summary> <param name="iter">The tree location to check</param> <returns> <see langword="true" /> if the tree node specified by <paramref name="iter" /> is selected, <see langword="false" /> otherwise.</returns> <remarks> <para>See also <see cref="M:Gtk.TreeSelection.PathIsSelected(Gtk.TreePath)" />.</para> </remarks> </Docs> </Member> <Member MemberName="SelectAll"> <MemberSignature Language="C#" Value="public void SelectAll ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Selects every node in this <see cref="T:Gtk.TreeView" />.</summary> <remarks> <para>The <see cref="P:Gtk.TreeSelection.Mode" /> must be set to <see cref="P:Gtk.SelectionMode.Multiple" /> for this method to work.</para> </remarks> </Docs> </Member> <Member MemberName="UnselectPath"> <MemberSignature Language="C#" Value="public void UnselectPath (Gtk.TreePath path);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="path" Type="Gtk.TreePath" /> </Parameters> <Docs> <summary>Deselects the tree node that <paramref name="path" /> refers to.</summary> <param name="path">A node in the tree.</param> <remarks> <para>See also <see cref="M:Gtk.TreeSelection.UnselectIter(Gtk.TreeIter)" />.</para> </remarks> </Docs> </Member> <Member MemberName="SelectRange"> <MemberSignature Language="C#" Value="public void SelectRange (Gtk.TreePath start_path, Gtk.TreePath end_path);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="start_path" Type="Gtk.TreePath" /> <Parameter Name="end_path" Type="Gtk.TreePath" /> </Parameters> <Docs> <summary>Selects all the nodes that appear between <paramref name="start_path" /> and <paramref name="end_path" />.</summary> <param name="start_path">The first node to select on the tree.</param> <param name="end_path">The last node to select on the tree.</param> <remarks /> </Docs> </Member> <Member MemberName="UnselectAll"> <MemberSignature Language="C#" Value="public void UnselectAll ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Sets all nodes in the <see cref="T:Gtk.TreeView" /> as unselected.</summary> <remarks /> </Docs> </Member> <Member MemberName="SelectedForeach"> <MemberSignature Language="C#" Value="public void SelectedForeach (Gtk.TreeSelectionForeachFunc func);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="func" Type="Gtk.TreeSelectionForeachFunc" /> </Parameters> <Docs> <summary>Invokes the delegate passed in by <paramref name="func" /> for each selected row in the <see cref="T:Gtk.TreeView" />.</summary> <param name="func">The delegate that should be called for each selected row.</param> <remarks> <para>This method is useful when the <see cref="P:Gtk.TreeSelection.Mode" /> of this TreeSelection is set to <see cref="P:Gtk.Selection.Multiple" />. It is currently the only way to access selection information for multiple rows. See the class overview for an example on how to effectively use this method for selection tracking.</para> </remarks> </Docs> </Member> <Member MemberName="SetSelectFunction"> <MemberSignature Language="C#" Value="public void SetSelectFunction (Gtk.TreeSelectionFunc func, IntPtr data, Gtk.DestroyNotify destroy);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="func" Type="Gtk.TreeSelectionFunc" /> <Parameter Name="data" Type="System.IntPtr" /> <Parameter Name="destroy" Type="Gtk.DestroyNotify" /> </Parameters> <Docs> <summary>Add a hook into selection and unselection.</summary> <param name="func">A delegate to invoke before a node is (un)selected.</param> <param name="data">Raw data to pass to <paramref name="func" /> when it is called.</param> <param name="destroy">A delegate to be notified when <paramref name="data" /> should be destroyed. Can be <see langword="null" />.</param> <remarks> <para> If set, <paramref name="func" /> is called before any node is selected or unselected, giving some control over which nodes are selected. The select function should return <see langword="true" /> if the state of the node may be toggled, and <see langword="false" /> if the state of the node should be left unchanged.</para> </remarks> </Docs> </Member> <Member MemberName="SelectIter"> <MemberSignature Language="C#" Value="public void SelectIter (Gtk.TreeIter iter);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="iter" Type="Gtk.TreeIter" /> </Parameters> <Docs> <summary>Selects the specified <see cref="T:Gtk.TreeIter" />.</summary> <param name="iter">Indicates which row to select.</param> <remarks> <para>See also <see cref="M:Gtk.TreeSelection.SelectAll()" /> and <see cref="M:Gtk.TreeSelection.SelectPath(Gtk.TreePath)" />.</para> </remarks> </Docs> </Member> <Member MemberName="Finalize"> <MemberSignature Language="C#" Value="protected virtual void Finalize ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Disposes the resources associated with the object.</summary> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public TreeSelection (IntPtr raw);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="raw">Pointer to the C object.</param> <returns>An instance of TreeSelection, wrapping the C object.</returns> <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="protected TreeSelection ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>Internal constructor.</summary> <returns /> <remarks /> </Docs> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static uint GType { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.UInt32</ReturnType> </ReturnValue> <Docs> <summary>The <see cref="T:GLib.Type" /> for <see cref="T:Gtk.TreeSelection" /></summary> <returns>The <see cref="T:GLib.Type" /> for the <see cref="T:Gtk.TreeSelection" /> class.</returns> <remarks /> </Docs> </Member> <Member MemberName="Mode"> <MemberSignature Language="C#" Value="public Gtk.SelectionMode Mode { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.SelectionMode</ReturnType> </ReturnValue> <Parameters></Parameters> <Docs> <summary>Manages the way rows can be selected.</summary> <param name="value">A new mode of selection.</param> <returns>The current mode dictating selection behaviour.</returns> <remarks> <para>Rows may be deselected by changing this property. For example, if <see cref="P:Gtk.SelectionMode.Multiple" /> rows are selected and the mode is changed to <see cref="P:Gtk.SelectionMode.Single" /> or <see cref="P:Gtk.SelectionMode.Browse" />.</para> </remarks> </Docs> </Member> <Member MemberName="UserData"> <MemberSignature Language="C#" Value="public IntPtr UserData { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.IntPtr</ReturnType> </ReturnValue> <Docs> <summary>Get the data associated with the <see cref="T:Gtk.TreeSelectionFunc" /> that has been setup for this <see cref="T:Gtk.TreeSelection" />.</summary> <returns>The raw data that was set when <see cref="M:Gtk.TreeSelection.SetSelectFunction(Gtk.TreeSelectionFunc,System.IntPtr,Gtk.DestroyNotify)" /> was called.</returns> <remarks /> </Docs> </Member> <Member MemberName="TreeView"> <MemberSignature Language="C#" Value="public Gtk.TreeView TreeView { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.TreeView</ReturnType> </ReturnValue> <Docs> <summary>Get the <see cref="T:Gtk.TreeView" /> that this <see cref="T:Gtk.TreeSelection" /> is associated with.</summary> <returns>The <see cref="T:Gtk.TreeView" /> that this <see cref="T:Gtk.TreeSelection" /> is tied to.</returns> <remarks> <para>A <see cref="T:Gtk.TreeSelection" /> object can only be retrieved from a <see cref="T:Gtk.TreeView" />. That is done with its <see cref="P:Gtk.TreeView.Selection" /> property.</para> </remarks> </Docs> </Member> <Member MemberName="Changed"> <MemberSignature Language="C#" Value="public event EventHandler Changed;" /> <MemberType>Event</MemberType> <ReturnValue> <ReturnType>System.EventHandler</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Fired when the selection (may have) changed.</summary> <remarks> <para>This event is mostly a hint. It may only be fired once when a range of rows are selected, and it may occasionally be fired when nothing has happened.</para> </remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected TreeSelection (GLib.Type gtype);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="gtype" Type="GLib.Type" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="gtype">GLib type for the type</param> <returns>Creates a new instance of <see cref="T:Gtk.TreeSelection" />, using the GLib-provided type</returns> <remarks> <para>This is a constructor used by derivative types of <see cref="T:Gtk.TreeSelection" /> that would have their own GLib type assigned to it. This is not typically used by C# code.</para> </remarks> </Docs> </Member> <Member MemberName="GetSelectedRows"> <MemberSignature Language="C#" Value="public GLib.List GetSelectedRows (Gtk.TreeModel model);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>GLib.List</ReturnType> </ReturnValue> <Parameters> <Parameter Name="model" Type="Gtk.TreeModel" /> </Parameters> <Docs> <summary>To be added</summary> <param name="model">a <see cref="T:Gtk.TreeModel" /></param> <returns>a <see cref="T:GLib.List" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="UnselectRange"> <MemberSignature Language="C#" Value="public void UnselectRange (Gtk.TreePath start_path, Gtk.TreePath end_path);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="start_path" Type="Gtk.TreePath" /> <Parameter Name="end_path" Type="Gtk.TreePath" /> </Parameters> <Docs> <summary>To be added</summary> <param name="start_path">a <see cref="T:Gtk.TreePath" /></param> <param name="end_path">a <see cref="T:Gtk.TreePath" /></param> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="CountSelectedRows"> <MemberSignature Language="C#" Value="public int CountSelectedRows ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Int32</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <returns>a <see cref="T:System.Int32" /></returns> <remarks>To be added</remarks> </Docs> </Member> </Members> </Type>