[Gtk-sharp-list] Preventing Dups In a ListStore
Adam Tauno Williams
adam at morrison-ind.com
Sat Jan 5 18:46:39 EST 2008
> On Jan 4, 2008 10:36 PM, Michael Hutchinson <m.j.hutchinson at gmail.com> wrote:
> > AFAIK you'd have to iterate it (though ForEach will simplify this). Of
> > course, that's what a Contains () call would do anyway -- if you want
> > O(1) contains calls, you'd need a hashtable, but a list obviously
> > needs... a list.
> Yes, that's the problem. It would be O(n) for a naïve approach.
I've made a, probably rather crude, solution by extending ListStore. I
had hoped to just override AppendValues but those methods aren't
virtual. So I went with the keep-an-index approach.
http://consonance.googlecode.com/svn/trunk/Whitemice.ZOGI.Gtk/General/Lists/EntityStore.cs
Comments welcome.
> Another option (besides hashtables, trees, etc) would be to store an
> additional field on each entity stating that it was already included
> or not, but of course this depends on how your code works, as it may
> be not possible.
An object can appear in perhaps dozens of lists, so that wouldn't really
work.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part
Url : http://lists.ximian.com/pipermail/gtk-sharp-list/attachments/20080105/636d5b59/attachment.bin
More information about the Gtk-sharp-list
mailing list