- spinner = gtk_spin_button_new_with_range (0.05, 30.00, 0.05);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spinner);
- gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (spinner), model->k);
- g_signal_connect (spinner, "value-changed",
- G_CALLBACK (spring_constant_changed), model);
-
- label = gtk_label_new_with_mnemonic ("_Friction:");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
- spinner = gtk_spin_button_new_with_range (0.05, 15.00, 0.05);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spinner);
- gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (spinner), model->friction);
- g_signal_connect (spinner, "value-changed",
- G_CALLBACK (friction_changed), model);
+
+ store = create_model_store ();
+ combo = gtk_combo_box_new_with_model (store);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
+ g_object_unref (store);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
+ "text", 0,
+ NULL);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+ g_signal_connect (combo, "changed",
+ G_CALLBACK (model_changed), model);