goocanvas r10 - in trunk: . src



Author: damon
Date: Sun Aug 17 11:34:04 2008
New Revision: 10
URL: http://svn.gnome.org/viewvc/goocanvas?rev=10&view=rev

Log:

2008-08-17  Damon Chaplin  <damon gnome org>

	    * src/goocanvasgroup.c (goo_canvas_group_add_child)
	    (goo_canvas_group_remove_child): emit the "children_changed" ATK
	    signal, if ATK is enabled. This needs testing.




Modified:
   trunk/ChangeLog
   trunk/src/goocanvasgroup.c

Modified: trunk/src/goocanvasgroup.c
==============================================================================
--- trunk/src/goocanvasgroup.c	(original)
+++ trunk/src/goocanvasgroup.c	Sun Aug 17 11:34:04 2008
@@ -152,6 +152,7 @@
 				gint            position)
 {
   GooCanvasGroup *group = (GooCanvasGroup*) item;
+  AtkObject *atk_obj, *child_atk_obj;
 
   g_object_ref (child);
 
@@ -167,6 +168,15 @@
 
   goo_canvas_item_set_parent (child, item);
 
+  /* Emit the "children_changed" ATK signal, if ATK is enabled. */
+  atk_obj = atk_gobject_accessible_for_object (G_OBJECT (item));
+  if (!ATK_IS_NO_OP_OBJECT (atk_obj))
+    {
+      child_atk_obj = atk_gobject_accessible_for_object (G_OBJECT (child));
+      g_signal_emit_by_name (atk_obj, "children_changed::add",
+			     position, child_atk_obj);
+    }
+
   goo_canvas_item_request_update (item);
 }
 
@@ -203,6 +213,7 @@
   GooCanvasGroup *group = (GooCanvasGroup*) item;
   GooCanvasItem *child;
   GooCanvasBounds bounds;
+  AtkObject *atk_obj, *child_atk_obj;
 
   g_return_if_fail (child_num < group->items->len);
 
@@ -214,6 +225,15 @@
       goo_canvas_request_redraw (simple->canvas, &bounds);
     }
 
+  /* Emit the "children_changed" ATK signal, if ATK is enabled. */
+  atk_obj = atk_gobject_accessible_for_object (G_OBJECT (item));
+  if (!ATK_IS_NO_OP_OBJECT (atk_obj))
+    {
+      child_atk_obj = atk_gobject_accessible_for_object (G_OBJECT (child));
+      g_signal_emit_by_name (atk_obj, "children_changed::remove",
+			     child_num, child_atk_obj);
+    }
+
   goo_canvas_item_set_parent (child, NULL);
   g_object_unref (child);
 



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