Yes, you can set the active option with the 'gtk_combo_box_set_active' or 'gtk_combo_box_set_active_iter'.
On Thu, Jun 24, 2010 at 3:07 PM, John Williams <asb1231@xxxxxxxxx> wrote:
Shall I beg?
2010/6/21 John Williams <asb1231@xxxxxxxxx>:
> Anyone?
>
> 2010/6/16 John Williams <asb1231@xxxxxxxxx>:
>> 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
_______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list