static void gimp_enum_store_insert_value_after (GimpEnumStore *store, gint after, gint insert_value) { GtkTreeIter iter; g_return_if_fail (GIMP_IS_ENUM_STORE (store)); if (gimp_int_store_lookup_by_value (GTK_TREE_MODEL (store), after, &iter)) { GEnumValue *enum_value; enum_value = g_enum_get_value (store->enum_class, insert_value); if (enum_value) { GtkTreeIter value_iter; const gchar *desc; gtk_list_store_insert_after (GTK_LIST_STORE (store), &value_iter, &iter); desc = gimp_enum_value_get_desc (store->enum_class, enum_value); gtk_list_store_set (GTK_LIST_STORE (store), &value_iter, GIMP_INT_STORE_VALUE, enum_value->value, GIMP_INT_STORE_LABEL, desc, -1); } } }
/** * gimp_enum_combo_box_new_with_model * @enum_store: a #GimpEnumStore to use as the model * * Creates a #GtkComboBox for the given @enum_store. * * Return value: a new #GimpEnumComboBox. * * Since: GIMP 2.4 **/ GtkWidget * gimp_enum_combo_box_new_with_model (GimpEnumStore *enum_store) { g_return_val_if_fail (GIMP_IS_ENUM_STORE (enum_store), NULL); return g_object_new (GIMP_TYPE_ENUM_COMBO_BOX, "model", enum_store, NULL); }