Hi 

This is my first post here. I'm moving from VS2005 to MonoDevelop and I try
to make some controls based on GTK#, that are more familiar with that I used
to work with. But I have very little experience with GTK.

I've been looking around in various posts on how to make a custom adapter
for a TreeView (in fact using a System.Data.Dataview) so I implement a
TreeModelImplementor with this:

http://n4.nabble.com/file/n1583443/GDataViewStore.cs GDataViewStore.cs 

and I use this class with this:

this.myTreeView.Model = new TreeModelAdapter(new
GDataViewStore(this.dView));

Everything works unexpectedly well if dataview has rows, but if dView is
empty (dView.Count==0) it hangs until it is killed by OOM killer. It seems
that IterNext is called forever.

If I change IterNext and check that there are no rows in dataview with this:

                public bool IterNext (ref Gtk.TreeIter iter)
                {
                        if(dview.Count == 0) return false; // If dataview is 
empty, there is
nothing next
                        int rowindex = GetRowByIter(iter);
                        if(rowindex == dview.Count - 1) 
                                return false;
                        else {
                                iter = GetIterByRow(rowindex + 1);
                                return true;
                        }
                }

I get a 
Gtk-CRITICAL **: file /build/buildd/gtk+2.0-2.18.3/gtk/gtktreeview.c: line
5944 (validate_visible_area): assertion `has_next' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel.  This generally means that the model has changed
without letting the view know.  Any display from now on is likely to
be incorrect.

and an out of range exception in GetValue.

Is there a right way to do this?

Forgive my long post, I would appreciate your assistance.

Thanks 
-- 
View this message in context: 
http://n4.nabble.com/TreeModelAdapter-hangs-with-my-TreeModelImplementor-class-tp1583443p1583443.html
Sent from the Mono - Gtk# mailing list archive at Nabble.com.
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to