Other question, how can I set the active option? gtk_combo_box_set_active? 2010/6/16 John Williams <asb1231@xxxxxxxxx>: > Yes Tadej, you understand perfectly. > > Thank you for the example! > > 2010/6/15 Tadej Borovšak <tadeboro@xxxxxxxxx>: >> Hello. >> >> If I understand you correctly, you want to store name and ID of your >> field inside combo box and retrieve it when needed. If this is true, >> have a look at this snippet of code that demonstrates how to do this: >> >> ------- >> #include <gtk/gtk.h> >> >> enum >> { >> COL_NAME, >> COL_ID, >> NO_COLS >> }; >> >> static void >> cb_changed (GtkComboBox *combo) >> { >> GtkTreeIter iter; >> GtkTreeModel *model; >> gint id; >> gchar *name; >> >> gtk_combo_box_get_active_iter (combo, &iter); >> model = gtk_combo_box_get_model (combo); >> gtk_tree_model_get (model, &iter, COL_NAME, &name, COL_ID, &id, -1); >> >> g_print ("Active selection: %s (id: %d)\n", name, id); >> g_free (name); >> } >> >> int >> main (int argc, >> char **argv) >> { >> GtkWidget *window, >> *combo; >> GtkCellRenderer *cell; >> GtkListStore *store; >> gint i; >> >> gtk_init (&argc, &argv); >> >> window = gtk_window_new (GTK_WINDOW_TOPLEVEL); >> g_signal_connect (window, "destroy", gtk_main_quit, NULL); >> >> store = gtk_list_store_new (NO_COLS, G_TYPE_STRING, G_TYPE_INT); >> for (i = 0; i < 10; i++) >> { >> GtkTreeIter iter; >> gchar name[] = "Item "; >> >> name[5] = '0' + i; >> gtk_list_store_append (store, &iter); >> gtk_list_store_set (store, &iter, COL_NAME, name, >> COL_ID, g_random_int (), >> -1); >> } >> >> combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); >> g_signal_connect (combo, "changed", G_CALLBACK (cb_changed), NULL); >> gtk_container_add (GTK_CONTAINER (window), combo); >> >> cell = gtk_cell_renderer_text_new (); >> gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, TRUE); >> gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), cell, >> "text", COL_NAME); >> >> gtk_widget_show_all (window); >> >> gtk_main(); >> >> return 0; >> } >> ---------- >> >> Tadej >> >> -- >> Tadej Borovšak >> tadeboro.blogspot.com >> tadeboro@xxxxxxxxx >> tadej.borovsak@xxxxxxxxx >> > _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list