Add signal active-descendant-changed
authorPadraig O'Briain <padraigo@src.gnome.org>
Wed, 13 Nov 2002 17:09:04 +0000 (17:09 +0000)
committerPadraig O'Briain <padraigo@src.gnome.org>
Wed, 13 Nov 2002 17:09:04 +0000 (17:09 +0000)
* atk/atkobject.[ch]: Add signal active-descendant-changed

ChangeLog
atk/atkobject.c
atk/atkobject.h

index 2efaf2e..44e9181 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-11-13  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk/atkobject.[ch]: Add signal active-descendant-changed
+
 2002-11-11  Christian Rose  <menthos@menthos.com>
 
        * configure.in: Added "sv" to ALL_LINGUAS.
index f29cee7..14e36ca 100755 (executable)
@@ -54,6 +54,7 @@ enum {
   PROPERTY_CHANGE,
   STATE_CHANGE,
   VISIBLE_DATA_CHANGED,
+  ACTIVE_DESCENDANT_CHANGED,
   
   LAST_SIGNAL
 };
@@ -184,6 +185,7 @@ atk_object_class_init (AtkObjectClass *klass)
   klass->focus_event = NULL;
   klass->property_change = NULL;
   klass->visible_data_changed = NULL;
+  klass->active_descendant_changed = NULL;
 
   g_object_class_install_property (gobject_class,
                                    PROP_NAME,
@@ -340,6 +342,15 @@ atk_object_class_init (AtkObjectClass *klass)
                   (GSignalAccumulator) NULL, NULL,
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
+  atk_object_signals[ACTIVE_DESCENDANT_CHANGED] =
+    g_signal_new ("active_descendant_changed",
+                 G_TYPE_FROM_CLASS (klass),
+                 G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
+                 G_STRUCT_OFFSET (AtkObjectClass, active_descendant_changed),
+                 NULL, NULL,
+                 g_cclosure_marshal_VOID__POINTER,
+                 G_TYPE_NONE,
+                 1, G_TYPE_POINTER);
 }
 
 static void
index 27e181e..89f5deb 100755 (executable)
@@ -396,10 +396,19 @@ void                      (* initialize)                         (AtkObject
    */
   void                    (*visible_data_changed) (AtkObject                  *accessible);
 
+  /*
+   * The signal handler which is executed when there is a change in the
+   * 'active' child or children of the object, for instance when 
+   * interior focus changes in a table or list.  This signal should be emitted
+   * by objects whose state includes ATK_STATE_MANAGES_DESCENDANTS.
+   */
+  void                    (*active_descendant_changed) (AtkObject                  *accessible,
+                                                        gpointer                   *child);
+
   AtkFunction             pad1;
   AtkFunction             pad2;
   AtkFunction             pad3;
-  AtkFunction             pad4;
+
 };
 
 GType            atk_object_get_type   (void);