Gtk::TreeModel oddity
- From: Bob Caryl <bob fis-cal com>
- To: gtkmm-list <gtkmm-list gnome org>
- Subject: Gtk::TreeModel oddity
- Date: Wed, 27 Apr 2005 10:11:32 -0500
Hello all,
I have an application where I use a Gtk::ListStore in conjunction with a
Gtk::TreeView to display representations of records in a database. I
have a function whereby the user can delete database records by clicking
on one of those representations and pressing a button. In the function
connected to that button, I use the following code to remove the list
store entry representing the deleted database record and to set the Tree
View cursor:
Glib::RefPtr<Gtk::ListStore> list; // our
listore object for the treeview
Glib::RefPtr<Gtk::TreeSelection> list_sel; // selection
for the treeview
Gtk::TreeModel::Path *path = new
Gtk::TreeModel::Path(list->erase(list_sel->get_selected())); // obtain
path to the row following the deleted row
if(path) // if the path is valid set the view cursor to that path.
{
tree->set_cursor(*path);
delete path;
}
This code works (e.g. the row in the TreeView disappears and the cursor
is repositioned on the following row), but I get several "Critical"
messages:
(gmwadmin:2454): Gtk-CRITICAL **: gtk_list_store_get_value: assertion
`GTK_LIST_STORE (tree_model)->stamp == iter->stamp' failed
(gmwadmin:2454): GLib-GObject-CRITICAL **: g_value_get_string: assertion
`G_VALUE_HOLDS_STRING (value)' failed
(gmwadmin:2454): GLib-GObject-CRITICAL **: g_value_unset: assertion
`G_IS_VALUE (value)' failed
(gmwadmin:2454): Gtk-CRITICAL **: gtk_list_store_get_path: assertion
`iter->stamp == GTK_LIST_STORE (tree_model)->stamp' failed
(gmwadmin:2454): Gtk-CRITICAL **: gtk_tree_view_set_cursor_on_cell:
assertion `path != NULL' failed
Using the de-bugger I have determined that the call to "list->erase" is
generating these messages. The messages tend to make me think that
the iterator returned by the Gtk::TreeSelection::get_selected function
is not the same type of iterator required by the Gtk::ListStore::erase
function as its formal parameter. However, the docs don't seem to make
a distinction between the iterators they describe as return values and
formal parameters (in other words, following the hyperlinks in the docs
to the iterators go to the same page). I *think* I have implemented the
foregoing code properly based on the gtkmm docs, but maybe I have not...
can someone please point out my error?
Best regards,
Bob Caryl
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]