diff options
author | Tim Janik <timj@gimp.org> | 1998-03-11 06:11:52 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-03-11 06:11:52 +0000 |
commit | 5724801800aee9cdda459cfd41e5a76071c128ea (patch) | |
tree | e19c2880b9058cb1878981b4c8aa434838475c6b /tests | |
parent | 309d7377e7ed7450adebac3ec42f02ebe678b927 (diff) | |
download | gtk+-5724801800aee9cdda459cfd41e5a76071c128ea.tar.gz |
applied gtk-hamann_jeske-980311-0.patch.gz.
Wed Mar 11 07:10:11 1998 Tim Janik <timj@gimp.org>
* gtk/gtkspinbutton.h:
* gtk/gtkspinbutton.c: applied gtk-hamann_jeske-980311-0.patch.gz.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/testgtk.c | 89 |
1 files changed, 71 insertions, 18 deletions
diff --git a/tests/testgtk.c b/tests/testgtk.c index 1722553e8d..31afd7af39 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -2208,7 +2208,11 @@ create_entry () gtk_widget_destroy (window); } -GtkWidget *spinner1; +/* + * GtkSpinButton + */ + +static GtkWidget *spinner1; static void toggle_snap (GtkWidget *widget, GtkSpinButton *spin) @@ -2221,13 +2225,36 @@ toggle_snap (GtkWidget *widget, GtkSpinButton *spin) } static void +toggle_numeric (GtkWidget *widget, GtkSpinButton *spin) +{ + gtk_spin_button_set_numeric (spin, GTK_TOGGLE_BUTTON (widget)->active); +} + +static void change_digits (GtkWidget *widget, GtkSpinButton *spin) { - gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinner1), + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinner1), gtk_spin_button_get_value_as_int (spin)); } static void +get_value (GtkWidget *widget, gint data) +{ + gchar buf[32]; + GtkLabel *label; + GtkSpinButton *spin; + + spin = GTK_SPIN_BUTTON (spinner1); + label = GTK_LABEL (gtk_object_get_user_data (GTK_OBJECT (widget))); + if (data == 1) + sprintf (buf, "%d", gtk_spin_button_get_value_as_int (spin)); + else + sprintf (buf, "%0.*f", spin->digits, + gtk_spin_button_get_value_as_float (spin)); + gtk_label_set (label, buf); +} + +static void create_spins () { static GtkWidget *window = NULL; @@ -2240,6 +2267,7 @@ create_spins () GtkWidget *spinner; GtkWidget *button; GtkWidget *label; + GtkWidget *val_label; GtkAdjustment *adj; if (!window) @@ -2272,7 +2300,7 @@ create_spins () gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Day :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); @@ -2284,7 +2312,7 @@ create_spins () gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); @@ -2296,7 +2324,7 @@ create_spins () gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Year :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); @@ -2319,45 +2347,70 @@ create_spins () gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Value :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 10000.0, - 1.0, 100.0, 0.0); - spinner1 = gtk_spin_button_new (adj, 1.0, 3); - gtk_widget_set_usize (spinner1, 120, 0); + adj = (GtkAdjustment *) gtk_adjustment_new (0.0, -10000.0, 10000.0, + 0.5, 100.0, 0.0); + spinner1 = gtk_spin_button_new (adj, 1.0, 2); + gtk_widget_set_usize (spinner1, 100, 0); gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinner1), GTK_UPDATE_ALWAYS); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Digits :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = (GtkAdjustment *) gtk_adjustment_new (3.0, 0.0, 8.0, - 1.0, 3.0, 0.0); + adj = (GtkAdjustment *) gtk_adjustment_new (2, 1, 5, 1, 1, 0); spinner2 = gtk_spin_button_new (adj, 0.0, 0); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (change_digits), (gpointer) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); - - button = gtk_check_button_new_with_label ("Snap to ticks"); + button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_snap), spinner1); - gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); + gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); + + button = gtk_check_button_new_with_label ("Numeric only input mode"); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (toggle_numeric), + spinner1); + gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), TRUE); + val_label = gtk_label_new (""); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); + + button = gtk_button_new_with_label ("Value as Int"); + gtk_object_set_user_data (GTK_OBJECT (button), val_label); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (get_value), + (gpointer) 1); + gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); + + button = gtk_button_new_with_label ("Value as Float"); + gtk_object_set_user_data (GTK_OBJECT (button), val_label); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (get_value), + (gpointer) 2); + gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); + + gtk_box_pack_start (GTK_BOX (vbox), val_label, TRUE, TRUE, 0); + gtk_label_set (GTK_LABEL (val_label), "0"); + hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); |