Murray Cumming Comneon com schrieb:
I see that Christof understands gtkmm internals very well. I'll be sending relevant patch requests to him in future.
I had to learn it the hard way to implement (and debug) a custom tree model :-/ . [An easy example with 3.5G virtual rows is at http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/manuproc/Komponenten/examples/owntreemodel.cc?rev=HEAD&content-type=text/plain
] Christof ----- more of interest to gtkmm-list -------Do you still feel that a custom tree model is unnecessary? My feeling is that for _massive_ amounts of lines the C++ wrapper imposes too much overhead (vfunc indirection, iterator conversion etc. sum up once the [] operator on a Gtk::Tree::Row is used many times to access the columns).
My std::map based model easily handles sorted insertion/reorganization of 100k rows into a tree without significant slowdown.
PS: It seems that because of the Gtk::TreeModel::add_interface(get_type()); call during type creation I cannot use the Glib provided custom type infrastructure. [Try to leave it out ...] Perhaps it's worth fixing the need for it (IMHO deriving from Gtk::TreeModel should do the trick as well). But to judge or fix that I understand too few of the gtkmm type internals (still learning) and their proposed API.