From a09abab445274bc8d3187c10150bb201031d0a48 Mon Sep 17 00:00:00 2001 From: Padraig O'Briain Date: Tue, 15 May 2001 17:14:24 +0000 Subject: [PATCH] Define focus-event signal in atobject.c rather than in gailwidget.c Remove AtkChildChangeType; change second argument of children_changed signal handler to gint from AtkChildChangeType --- atk/atkobject.c | 23 ++++++++++++++++++++++- atk/atkobject.h | 15 ++++++++------- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/atk/atkobject.c b/atk/atkobject.c index ef84c2c..a247971 100755 --- a/atk/atkobject.c +++ b/atk/atkobject.c @@ -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))); +} diff --git a/atk/atkobject.h b/atk/atkobject.h index 273988e..0e81d6e 100755 --- a/atk/atkobject.h +++ b/atk/atkobject.h @@ -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 -- 2.7.4