From d466bcb7a0d9c5d45c9419d280d803bcb4f4ee6e Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Sat, 2 May 1998 18:35:23 +0000 Subject: [PATCH] only emit "value_changed" if we really passed a new value. Sat May 2 20:19:03 1998 Tim Janik * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit "value_changed" if we really passed a new value. (gtk_adjustment_changed): new function to emit the "changed" signal. (gtk_adjustment_set_value): new function to emit the "value_changed" signal. --- ChangeLog | 8 ++++++++ ChangeLog.pre-2-0 | 8 ++++++++ ChangeLog.pre-2-10 | 8 ++++++++ ChangeLog.pre-2-2 | 8 ++++++++ ChangeLog.pre-2-4 | 8 ++++++++ ChangeLog.pre-2-6 | 8 ++++++++ ChangeLog.pre-2-8 | 8 ++++++++ gtk/gtkadjustment.c | 25 ++++++++++++++++++++++++- gtk/gtkadjustment.h | 28 +++++++++++++++------------- 9 files changed, 95 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index f5478f92df..461cdc2461 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f5478f92df..461cdc2461 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Sat May 2 20:19:03 1998 Tim Janik + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit + "value_changed" if we really passed a new value. + (gtk_adjustment_changed): new function to emit the "changed" signal. + (gtk_adjustment_set_value): new function to emit the "value_changed" + signal. + Fri May 1 12:28:35 1998 Owen Taylor * gtk/gtkcombo.c: Further changes to the way the window diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c index 37b2aa3460..b921cc146e 100644 --- a/gtk/gtkadjustment.c +++ b/gtk/gtkadjustment.c @@ -126,7 +126,30 @@ gtk_adjustment_set_value (GtkAdjustment *adjustment, g_return_if_fail (adjustment != NULL); g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - adjustment->value = CLAMP (value, adjustment->lower, adjustment->upper); + value = CLAMP (value, adjustment->lower, adjustment->upper); + + if (value != adjustment->value) + { + adjustment->value = value; + + gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "value_changed"); + } +} + +void +gtk_adjustment_changed (GtkAdjustment *adjustment) +{ + g_return_if_fail (adjustment != NULL); + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); + + gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "changed"); +} + +void +gtk_adjustment_value_changed (GtkAdjustment *adjustment) +{ + g_return_if_fail (adjustment != NULL); + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "value_changed"); } diff --git a/gtk/gtkadjustment.h b/gtk/gtkadjustment.h index 75caf47e87..e525fb7052 100644 --- a/gtk/gtkadjustment.h +++ b/gtk/gtkadjustment.h @@ -59,19 +59,21 @@ struct _GtkAdjustmentClass }; -GtkType gtk_adjustment_get_type (void); -GtkObject* gtk_adjustment_new (gfloat value, - gfloat lower, - gfloat upper, - gfloat step_increment, - gfloat page_increment, - gfloat page_size); -void gtk_adjustment_set_value (GtkAdjustment *adjustment, - gfloat value); -void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, - gfloat lower, - gfloat upper); - +GtkType gtk_adjustment_get_type (void); +GtkObject* gtk_adjustment_new (gfloat value, + gfloat lower, + gfloat upper, + gfloat step_increment, + gfloat page_increment, + gfloat page_size); +void gtk_adjustment_set_value (GtkAdjustment *adjustment, + gfloat value); +void gtk_adjustment_changed (GtkAdjustment *adjustment); +void gtk_adjustment_value_changed (GtkAdjustment *adjustment); +void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, + gfloat lower, + gfloat upper); +