summaryrefslogtreecommitdiff
path: root/gtk/gtkspinbutton.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2001-06-05 20:07:02 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-06-05 20:07:02 +0000
commitb32e7c9bb82396e4930957bb649a2e1cd57f00c1 (patch)
treeb95893653c899c31699a91803eebeb1e934e7f1e /gtk/gtkspinbutton.c
parent451b224324864047842dfe009834a0fe53728147 (diff)
downloadgdk-pixbuf-b32e7c9bb82396e4930957bb649a2e1cd57f00c1.tar.gz
clamp the value to the range that was set
2001-06-05 Havoc Pennington <hp@redhat.com> * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value to the range that was set * gtk/gtkrange.c: add value_changed signal, primarily intended for use with GtkScale (gtk_range_set_increments): new function (gtk_range_set_range): new function with weird name (gtk_range_set_value): new function (gtk_range_get_value): new function * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename from gtk_spin_button_get_value_as_float(). Compat #define added for get_value_as_float. * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function 2001-06-05 Havoc Pennington <hp@redhat.com> * test-loaders.c (main): use putenv not setenv, reported by Armin Theissen
Diffstat (limited to 'gtk/gtkspinbutton.c')
-rw-r--r--gtk/gtkspinbutton.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index d1605a827..76cea643e 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -1685,22 +1685,33 @@ gtk_spin_button_set_range (GtkSpinButton *spin_button,
gdouble min,
gdouble max)
{
+ gdouble value;
+
g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button));
spin_button->adjustment->lower = min;
spin_button->adjustment->upper = max;
+
+ value = CLAMP (spin_button->adjustment->value,
+ spin_button->adjustment->lower,
+ (spin_button->adjustment->upper - spin_button->adjustment->page_size));
+
+ if (value != spin_button->adjustment->value)
+ gtk_spin_button_set_value (spin_button, value);
+
+ gtk_adjustment_changed (spin_button->adjustment);
}
/**
- * gtk_spin_button_get_value_as_float:
+ * gtk_spin_button_get_value:
* @spin_button: a #GtkSpinButton
*
- * Get the value @spin_button represented as a floating point number.
+ * Get the value in the @spin_button.
*
* Return value: the value of @spin_button
**/
gdouble
-gtk_spin_button_get_value_as_float (GtkSpinButton *spin_button)
+gtk_spin_button_get_value (GtkSpinButton *spin_button)
{
g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), 0.0);