]> Pileus Git - ~andy/gtk/commitdiff
a11y: Redo cell update function
authorBenjamin Otte <otte@redhat.com>
Thu, 15 Dec 2011 22:51:57 +0000 (23:51 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 16 Dec 2011 03:53:16 +0000 (04:53 +0100)
1) always emit signals
   Previously, newly constructed cells would be told to not emit events.
   However, we can ensure that nothing is connected to the signals, so
   they will not actually emit anything.
2) don't return anything
   The return value is unused anyway.

gtk/a11y/gtkbooleancellaccessible.c
gtk/a11y/gtkrenderercellaccessible.c
gtk/a11y/gtkrenderercellaccessible.h
gtk/a11y/gtktextcellaccessible.c
gtk/a11y/gtktreeviewaccessible.c

index c9d73d9b92644e95551145f1719cf49bb6308699..da4dadcf2604824e6f838ad712116cf30ba7ccc5 100644 (file)
 G_DEFINE_TYPE (GtkBooleanCellAccessible, _gtk_boolean_cell_accessible, GTK_TYPE_RENDERER_CELL_ACCESSIBLE)
 
 
-static gboolean
-gtk_boolean_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
-                                          gboolean                   emit_change_signal)
+static void
+gtk_boolean_cell_accessible_update_cache (GtkRendererCellAccessible *cell)
 {
   GtkBooleanCellAccessible *boolean_cell = GTK_BOOLEAN_CELL_ACCESSIBLE (cell);
-  gboolean rv = FALSE;
   gboolean active;
   gboolean sensitive;
 
@@ -42,27 +40,23 @@ gtk_boolean_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
 
   if (boolean_cell->cell_value != active)
     {
-      rv = TRUE;
       boolean_cell->cell_value = !boolean_cell->cell_value;
 
       if (active)
-        _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, emit_change_signal);
+        _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, TRUE);
       else
-        _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, emit_change_signal);
+        _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, TRUE);
     }
 
   if (boolean_cell->cell_sensitive != sensitive)
     {
-      rv = TRUE;
       boolean_cell->cell_sensitive = !boolean_cell->cell_sensitive;
 
       if (sensitive)
-        _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, emit_change_signal);
+        _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, TRUE);
       else
-        _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, emit_change_signal);
+        _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, TRUE);
     }
-
-  return rv;
 }
 
 static void
index 165a746b210c372d3faa786004a7fb3f72d72c77..3b2c399c616613edbf0dc457557ca47cc81d5e23 100644 (file)
@@ -103,16 +103,17 @@ _gtk_renderer_cell_accessible_init (GtkRendererCellAccessible *renderer_cell)
 {
 }
 
-gboolean
-_gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
-                                            gboolean                   emit_change_signal)
+void
+_gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell)
 {
-  GtkRendererCellAccessibleClass *class = GTK_RENDERER_CELL_ACCESSIBLE_GET_CLASS (cell);
+  GtkRendererCellAccessibleClass *klass;
+  
+  g_return_if_fail (GTK_IS_RENDERER_CELL_ACCESSIBLE (cell));
 
-  if (class->update_cache)
-    return (class->update_cache) (cell, emit_change_signal);
+  klass = GTK_RENDERER_CELL_ACCESSIBLE_GET_CLASS (cell);
 
-  return FALSE;
+  if (klass->update_cache)
+    klass->update_cache (cell);
 }
 
 AtkObject *
index d913d0615a6c41a14bd3cf93a289edb31a9b2124..8c79b9a1a6c2aa903ad8ab2f93fd8dc35884d995 100644 (file)
@@ -44,16 +44,14 @@ struct _GtkRendererCellAccessible
 struct _GtkRendererCellAccessibleClass
 {
   GtkCellAccessibleClass parent_class;
-  gboolean (*update_cache) (GtkRendererCellAccessible *cell,
-                            gboolean                   emit_change_signal);
+  void (*update_cache) (GtkRendererCellAccessible *cell);
 };
 
 GType      _gtk_renderer_cell_accessible_get_type     (void);
 
 AtkObject *_gtk_renderer_cell_accessible_new          (GtkCellRenderer * renderer);
 
-gboolean   _gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
-                                                       gboolean          emit_change_signal);
+void       _gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell);
 
 G_END_DECLS
 
index deb0b4a42ebfe4f8f4ab8b2b3ec43c57a1775dc9..b714cde004c06b5668b57022166529a7c7b28e5c 100644 (file)
@@ -80,8 +80,7 @@ static void             add_attr                        (PangoAttrList  *attr_li
 
 /* Misc */
 
-static gboolean gtk_text_cell_accessible_update_cache             (GtkRendererCellAccessible *cell,
-                                                         gboolean       emit_change_signal);
+static void gtk_text_cell_accessible_update_cache       (GtkRendererCellAccessible *cell);
 
 static void atk_text_interface_init (AtkTextIface *iface);
 
@@ -121,9 +120,8 @@ gtk_text_cell_accessible_get_name (AtkObject *atk_obj)
   return text_cell->cell_text;
 }
 
-static gboolean
-gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
-                                       gboolean                   emit_change_signal)
+static void
+gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell)
 {
   GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (cell);
   AtkObject *obj = ATK_OBJECT (cell);
@@ -141,12 +139,9 @@ gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
           temp_length = text_cell->cell_length;
           text_cell->cell_text = NULL;
           text_cell->cell_length = 0;
-          if (emit_change_signal)
-            {
-              g_signal_emit_by_name (cell, "text-changed::delete", 0, temp_length);
-              if (obj->name == NULL)
-                g_object_notify (G_OBJECT (obj), "accessible-name");
-            }
+          g_signal_emit_by_name (cell, "text-changed::delete", 0, temp_length);
+          if (obj->name == NULL)
+            g_object_notify (G_OBJECT (obj), "accessible-name");
           if (text)
             rv = TRUE;
         }
@@ -172,16 +167,12 @@ gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
 
   if (rv)
     {
-      if (emit_change_signal)
-        {
-          g_signal_emit_by_name (cell, "text-changed::insert",
-                                 0, text_cell->cell_length);
+      g_signal_emit_by_name (cell, "text-changed::insert",
+                             0, text_cell->cell_length);
 
-          if (obj->name == NULL)
-            g_object_notify (G_OBJECT (obj), "accessible-name");
-        }
+      if (obj->name == NULL)
+        g_object_notify (G_OBJECT (obj), "accessible-name");
     }
-  return rv;
 }
 
 static void
index 0b364978ae03eabac7113e88e5e9489ae573072f..b8717cc40af1a45de43b7c266061ad9b5334072c 100644 (file)
@@ -56,7 +56,7 @@ static gboolean focus_out            (GtkWidget        *widget);
 
 static int              cell_info_get_index             (GtkTreeView                     *tree_view,
                                                          GtkTreeViewAccessibleCellInfo   *info);
-static gboolean         update_cell_value               (GtkRendererCellAccessible       *renderer_cell,
+static void             update_cell_value               (GtkRendererCellAccessible       *renderer_cell,
                                                          GtkTreeViewAccessible           *accessible,
                                                          gboolean               emit_change_signal);
 static gboolean         is_cell_showing                 (GtkTreeView            *tree_view,
@@ -1605,7 +1605,7 @@ is_cell_showing (GtkTreeView  *tree_view,
  * set to FALSE and in model_row_changed() on receipt of "row-changed"
  * signal when emit_change_signal is set to TRUE
  */
-static gboolean
+static void
 update_cell_value (GtkRendererCellAccessible      *renderer_cell,
                    GtkTreeViewAccessible *accessible,
                    gboolean               emit_change_signal)
@@ -1621,7 +1621,7 @@ update_cell_value (GtkRendererCellAccessible      *renderer_cell,
   cell = GTK_CELL_ACCESSIBLE (renderer_cell);
   cell_info = find_cell_info (accessible, cell);
   if (!cell_info)
-    return FALSE;
+    return;
 
   if (emit_change_signal)
     {
@@ -1629,7 +1629,7 @@ update_cell_value (GtkRendererCellAccessible      *renderer_cell,
       tree_model = gtk_tree_view_get_model (tree_view);
       path = cell_info_get_path (cell_info);
       if (path == NULL)
-        return FALSE;
+        return;
 
       gtk_tree_model_get_iter (tree_model, &iter, path);
       is_expander = FALSE;
@@ -1651,7 +1651,7 @@ update_cell_value (GtkRendererCellAccessible      *renderer_cell,
                                                is_expander, is_expanded);
     }
 
-  return _gtk_renderer_cell_accessible_update_cache (renderer_cell, emit_change_signal);
+  _gtk_renderer_cell_accessible_update_cache (renderer_cell);
 }
 
 /* Misc Private */