Define focus-event signal in atobject.c rather than in gailwidget.c
authorPadraig O'Briain <padraigo@src.gnome.org>
Tue, 15 May 2001 17:14:24 +0000 (17:14 +0000)
committerPadraig O'Briain <padraigo@src.gnome.org>
Tue, 15 May 2001 17:14:24 +0000 (17:14 +0000)
Remove AtkChildChangeType; change second argument of children_changed
signal handler to gint from AtkChildChangeType

atk/atkobject.c
atk/atkobject.h

index ef84c2c..a247971 100755 (executable)
@@ -40,6 +40,7 @@ enum
 
 enum {
   CHILDREN_CHANGED,
+  FOCUS_EVENT,
   LAST_SIGNAL
 };
 
@@ -59,6 +60,9 @@ static void            atk_object_real_get_property(GObject         *object,
 static void            atk_object_finalize         (GObject         *object);
 static void            atk_object_real_set_role    (AtkObject       *object,
                                                     AtkRole         role);
+static void            atk_object_focus_event_unimplemented
+                                                   (AtkObject       *object,
+                                                    gboolean        focus_in);
 
 static guint atk_object_signals[LAST_SIGNAL] = { 0, };
 
@@ -107,6 +111,7 @@ atk_object_class_init (AtkObjectClass *klass)
 
   klass->ref_relation_set = atk_object_real_ref_relation_set;
   klass->set_role = atk_object_real_set_role;
+  klass->focus_event = atk_object_focus_event_unimplemented;
 
   klass->children_changed = NULL;
 
@@ -172,7 +177,15 @@ atk_object_class_init (AtkObjectClass *klass)
                    g_cclosure_marshal_VOID__UINT_POINTER,
                    G_TYPE_NONE,
                    2, G_TYPE_UINT, ATK_TYPE_OBJECT);
-
+  atk_object_signals[FOCUS_EVENT] =
+    g_signal_newc ("focus_event",
+                   G_TYPE_FROM_CLASS (klass),
+                   G_SIGNAL_RUN_LAST,
+                   G_STRUCT_OFFSET (AtkObjectClass, focus_event), 
+                   NULL, NULL,
+                   g_cclosure_marshal_VOID__BOOLEAN,
+                   G_TYPE_NONE,
+                   1, G_TYPE_BOOLEAN);
 }
 
 static void
@@ -669,3 +682,11 @@ atk_object_real_set_role (AtkObject *object,
 {
   object->role = role;
 }
+
+static void
+atk_object_focus_event_unimplemented (AtkObject       *object,
+                                      gboolean        focus_in)
+{
+  g_warning ("AtkObjectClass::focus_event not implemented for `%s'", 
+              g_type_name (G_OBJECT_TYPE (object)));
+}
index 273988e..0e81d6e 100755 (executable)
@@ -34,12 +34,6 @@ extern "C" {
  * accessibility information about a component if it supports one or more
  * of the following interfaces:
  */
-typedef enum
-{
-  ATK_CHILD_ADDED,
-  ATK_CHILD_REMOVED,
-  ATK_CHILD_CHANGED
-} AtkChildChangeType;
 
 typedef enum
 {
@@ -393,9 +387,16 @@ void                      (* remove_property_change_handler)     (AtkObject
    * children of the object
    */
   void                    (* children_changed)    (AtkObject                  *accessible,
-                                                   AtkChildChangeType         change_type,
+                                                   gint                       change_index,
                                                    AtkObject                  *changed_child);
+  /*
+   * The signal handler which is executed  when there is a focus event
+   * for an object.
+   */
+  void                    (*focus_event)          (AtkObject                  *accessible,
+                                                   gboolean                   focus_in);
 };
+
 GType            atk_object_get_type   (void);
 
 struct _AtkImplementorIface