[Glade-users] gtk_combo_box_append_text() problem

Alexey Kurochkin alexey.kurochkin at pathfinderlwd.com
Tue Oct 21 08:26:47 EDT 2008


On Tue, 2008-10-21 at 08:48 +0100, Arigead wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> jonathan at blueplanet.cl wrote:
> > Hi,
> > 
> >> Basically in my C code I get the comboBox with gtk_builder_get_object()
> >> and then call gtk_combo_box_append_text() this gives me an error:
> >>
> >> (gmpg:12154): Gtk-CRITICAL **: gtk_combo_box_append_text: assertion
> >> `GTK_IS_LIST_STORE (combo_box->priv->model)' failed
> > 
> > Did you created the GtkListStore model for that combo box? That warning
> > was produced because you didn't set the proper model.
> > 
> > Check the info of gtk_combo_box_set_model ().
> > 
> 
> Thanks All for getting back to me,
> 
> I'm a bit confused by the GtkListStore model now. If I want to just
> store a list of strings I create a GtkListStore:
> 
>     GtkListStore            *list_store;
>     list_store = gtk_list_store_new (1, G_TYPE_STRING);
> 
> Now set this to be the model of my combobox:
> 
>     gtk_combo_box_set_model((GtkComboBox *) MyComboBox,
>                             (GtkTreeModel *)list_store);
> 
> That has gotten rid of the error message OK but I can't add to the list
> of items in the combobox. I've tried adding to the ListStore and the
> Combobox but nothing shows up when I display the interface.
> 
>     GtkTreeIter iter;
> 
>     /* Add a new row to the model */
>     gtk_list_store_append (list_store, &iter);
>     gtk_list_store_set (list_store, &iter, 0, "Hello", -1);

You have to specify what column in the list to display, just like in the
treeviews. One more step should be enough:

GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (MyComboBox), renderer,
TRUE);
gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (MyComboBox), renderer,
"text", 0);



More information about the Glade-users mailing list