Re: changing the content of a model/view/store at run time

pcr <[email protected]>
Newsgroups gmane.comp.gnome.gtkmm
Message-ID <[email protected]>
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 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.