GtkSharp/gtk/TreePath.custom
Brad Taylor d802b53549 2007-04-23 Brad Taylor <brad@getcoded.net>
* gtk/TreePath.custom: Override Equals and compare based upon the
	  underlying indicies, instead of the object reference.
	  [Fixes #81398]


svn path=/trunk/gtk-sharp/; revision=76131
2007-04-23 16:26:13 +00:00

45 lines
1.3 KiB
Plaintext

//
// This program is free software; you can redistribute it and/or
// modify it under the terms of version 2 of the Lesser GNU General
// Public License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
// Patch submitted by malte on bug #49518
[DllImport("libgtk-win32-2.0-0.dll")]
static extern IntPtr gtk_tree_path_get_indices(IntPtr raw);
public int [] Indices {
get {
IntPtr ptr = gtk_tree_path_get_indices(Handle);
int [] arr = new int [Depth];
int isize = Marshal.SizeOf (typeof (int));
for (int i = 0; i < arr.Length; i++)
arr [i] = Marshal.ReadInt32 ( ptr, i * isize);
return arr;
}
}
public TreePath (int[] indices) : this ()
{
foreach (int i in indices)
AppendIndex (i);
}
public override bool Equals (object o)
{
if (!(o is TreePath))
return false;
return (Compare (o as TreePath) == 0);
}