gtk+ r19875 - in trunk: . gtk



Author: mitch
Date: Fri Mar 14 17:26:12 2008
New Revision: 19875
URL: http://svn.gnome.org/viewvc/gtk+?rev=19875&view=rev

Log:
2008-03-14  Michael Natterer  <mitch imendio com>

	* gtk/gtkadjustment.c: coding style cleanup.

	(gtk_adjustment_set_property): no need to call g_object_notify()
	on the set properties.

	Implement GObject::dispatch_properties_changed() and make sure we
	emit "changed" when anything but the "value" property changes.



Modified:
   trunk/ChangeLog
   trunk/gtk/gtkadjustment.c

Modified: trunk/gtk/gtkadjustment.c
==============================================================================
--- trunk/gtk/gtkadjustment.c	(original)
+++ trunk/gtk/gtkadjustment.c	Fri Mar 14 17:26:12 2008
@@ -42,21 +42,25 @@
   PROP_PAGE_SIZE
 };
 
-enum {
+enum
+{
   CHANGED,
   VALUE_CHANGED,
   LAST_SIGNAL
 };
 
 
-static void gtk_adjustment_get_property (GObject      *object,
-                                         guint         prop_id,
-                                         GValue       *value,
-                                         GParamSpec   *pspec);
-static void gtk_adjustment_set_property (GObject      *object,
-                                         guint         prop_id,
-                                         const GValue *value,
-                                         GParamSpec   *pspec);
+static void gtk_adjustment_get_property                (GObject      *object,
+                                                        guint         prop_id,
+                                                        GValue       *value,
+                                                        GParamSpec   *pspec);
+static void gtk_adjustment_set_property                (GObject      *object,
+                                                        guint         prop_id,
+                                                        const GValue *value,
+                                                        GParamSpec   *pspec);
+static void gtk_adjustment_dispatch_properties_changed (GObject      *object,
+                                                        guint         n_pspecs,
+                                                        GParamSpec  **pspecs);
 
 static guint adjustment_signals[LAST_SIGNAL] = { 0 };
 
@@ -67,8 +71,9 @@
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (class);
 
-  gobject_class->set_property = gtk_adjustment_set_property;
-  gobject_class->get_property = gtk_adjustment_get_property;
+  gobject_class->set_property                = gtk_adjustment_set_property;
+  gobject_class->get_property                = gtk_adjustment_get_property;
+  gobject_class->dispatch_properties_changed = gtk_adjustment_dispatch_properties_changed;
 
   class->changed = NULL;
   class->value_changed = NULL;
@@ -180,7 +185,6 @@
 							G_MAXDOUBLE, 
 							0.0, 
 							GTK_PARAM_READWRITE));
-  
 
   adjustment_signals[CHANGED] =
     g_signal_new (I_("changed"),
@@ -190,6 +194,7 @@
 		  NULL, NULL,
 		  _gtk_marshal_VOID__VOID,
 		  G_TYPE_NONE, 0);
+
   adjustment_signals[VALUE_CHANGED] =
     g_signal_new (I_("value_changed"),
 		  G_OBJECT_CLASS_TYPE (class),
@@ -212,8 +217,10 @@
 }
 
 static void
-gtk_adjustment_get_property (GObject *object, guint prop_id, GValue *value, 
-	                     GParamSpec *pspec)
+gtk_adjustment_get_property (GObject    *object,
+                             guint       prop_id,
+                             GValue     *value,
+                             GParamSpec *pspec)
 {
   GtkAdjustment *adjustment = GTK_ADJUSTMENT (object);
 
@@ -244,8 +251,10 @@
 }
 
 static void
-gtk_adjustment_set_property (GObject * object, guint prop_id, 
-	                     const GValue * value, GParamSpec * pspec)
+gtk_adjustment_set_property (GObject      *object,
+                             guint         prop_id,
+                             const GValue *value,
+                             GParamSpec   *pspec)
 {
   GtkAdjustment *adjustment = GTK_ADJUSTMENT (object);
   gdouble double_value = g_value_get_double (value);
@@ -253,42 +262,22 @@
   switch (prop_id)
     {
     case PROP_VALUE:
-      gtk_adjustment_set_value (GTK_ADJUSTMENT (object), double_value);
+      gtk_adjustment_set_value (adjustment, double_value);
       break;
     case PROP_LOWER:
-      if (adjustment->lower != double_value)
-        {
-          adjustment->lower = double_value;
-          g_object_notify (G_OBJECT (adjustment), "lower");
-        }
+      adjustment->lower = double_value;
       break;
     case PROP_UPPER:
-      if (adjustment->upper != double_value)
-        {
-          adjustment->upper = double_value;
-          g_object_notify (G_OBJECT (adjustment), "upper");
-        }
+      adjustment->upper = double_value;
       break;
     case PROP_STEP_INCREMENT:
-      if (adjustment->step_increment != double_value)
-        {
-          adjustment->step_increment = double_value;
-          g_object_notify (G_OBJECT (adjustment), "step-increment");
-        }
+      adjustment->step_increment = double_value;
       break;
     case PROP_PAGE_INCREMENT:
-      if (adjustment->page_increment != double_value)
-        {
-          adjustment->page_increment = double_value;
-          g_object_notify (G_OBJECT (adjustment), "page-increment");
-        }
+      adjustment->page_increment = double_value;
       break;
     case PROP_PAGE_SIZE:
-      if (adjustment->page_size != double_value)
-        {
-          adjustment->page_size = double_value;
-          g_object_notify (G_OBJECT (adjustment), "page-size");
-        }
+      adjustment->page_size = double_value;
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -296,7 +285,35 @@
     }
 }
 
-GtkObject*
+static void
+gtk_adjustment_dispatch_properties_changed (GObject     *object,
+                                            guint        n_pspecs,
+                                            GParamSpec **pspecs)
+{
+  gboolean changed = FALSE;
+  gint i;
+
+  G_OBJECT_CLASS (gtk_adjustment_parent_class)->dispatch_properties_changed (object, n_pspecs, pspecs);
+
+  for (i = 0; i < n_pspecs; i++)
+    switch (pspecs[i]->param_id)
+      {
+      case PROP_LOWER:
+      case PROP_UPPER:
+      case PROP_STEP_INCREMENT:
+      case PROP_PAGE_INCREMENT:
+      case PROP_PAGE_SIZE:
+        changed = TRUE;
+        break;
+      default:
+        break;
+      }
+
+  if (changed)
+    gtk_adjustment_changed (GTK_ADJUSTMENT (object));
+}
+
+GtkObject *
 gtk_adjustment_new (gdouble value,
 		    gdouble lower,
 		    gdouble upper,
@@ -326,14 +343,14 @@
 gdouble
 gtk_adjustment_get_value (GtkAdjustment *adjustment)
 {
-  g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.);
+  g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0);
 
   return adjustment->value;
 }
 
 void
-gtk_adjustment_set_value (GtkAdjustment        *adjustment,
-			  gdouble               value)
+gtk_adjustment_set_value (GtkAdjustment *adjustment,
+			  gdouble        value)
 {
   g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
@@ -348,7 +365,7 @@
 }
 
 void
-gtk_adjustment_changed (GtkAdjustment        *adjustment)
+gtk_adjustment_changed (GtkAdjustment *adjustment)
 {
   g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
@@ -356,7 +373,7 @@
 }
 
 void
-gtk_adjustment_value_changed (GtkAdjustment        *adjustment)
+gtk_adjustment_value_changed (GtkAdjustment *adjustment)
 {
   g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]