Re: changing the content of a model/view/store at run time
Daniel Boles via gtkmm-list <[email protected]>
| Newsgroups | gmane.comp.gnome.gtkmm |
|---|---|
| Message-ID | <CAKChMKM6aQqZXeN2Y7Z7r8sk7DEW2QbEHvvcdafms47W+Asr0g@mail.gmail.com> |
if you think you have to use c api, you're almost certainlt doing it wrong. why? does the c++ wrapper not provide remove() ? On Sat, 10 Aug 2019, 16:28 pcr, <[email protected]> wrote: > I have changed from a tree store to a list store now, and I have working > code, except for the last line in this call back used when a radio button > is clicked in order to erase the list store and replace it with another at > run time: > > void ExampleWindow::on_rb2_clicked() > { > std::cout << "rb2 clicked" << std::endl; > > typedef Gtk::TreeModel::Children type_children; > type_children children = liststore1->children(); > type_children::iterator iter; > for(iter=children.begin(); iter!=children.end(); ++iter) > gtk_list_store_remove (*liststore1,*iter); > > } > > The compiler message I get is > > test3.cc: In member function ‘void ExampleWindow::on_rb2_clicked()’: > test3.cc:104:27: error: no match for ‘operator*’ (operand type is > ‘Glib::RefPtr<Gtk::ListStore>’) > gtk_list_store_remove (*liststore1,*iter); > > So my question is, I suppose, what is the proper syntax for using > gtk_list_store_remove ??? > On 8/8/19 3:46 PM, pcr wrote: > > I'm trying to learn how to iterate over model rows in a manner similar to > the code segment in section 9.3 of the gnome gtkmm tutorial. Consider me a > newbie; the "something" I want to do below is delete/clear/erase a row - > really all rows so I can display a new set of rows in response to a user > action like changing a radio button. But I haven't been able to do it. > Here is the snippit from section 9.3: > > typedef Gtk::TreeModel::Children type_children; //minimise code length. > type_children children = refModel->children(); > for(type_children::iterator iter = children.begin(); > iter != children.end(); ++iter) > { > Gtk::TreeModel::Row row = *iter; > //Do something with the row - see above for set/get. > } > *I'm also confused by the following comment I found on line; I don't see how this can work with the above code either. * > iterator Gtk::TreeStore:erase(const iterator& iter) > Returns an iterator to the next row or end() if there is none" > > I hope you can help me . Thanks, PCR > > > > _______________________________________________ > gtkmm-list mailing [email protected]://mail.gnome.org/mailman/listinfo/gtkmm-list > > _______________________________________________ > gtkmm-list mailing list > [email protected] > https://mail.gnome.org/mailman/listinfo/gtkmm-list > _______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list