From a120c490a04ca82e4f9ca5b8cdd1fb387db19d9e Mon Sep 17 00:00:00 2001 From: Bill Haneman Date: Mon, 19 Nov 2001 10:48:31 +0000 Subject: [PATCH] Added state-change signal to AtkObject (will deprecate accessible-state property) Fixed API problem in atk_util_add_key_listener. --- ChangeLog | 10 ++++++++++ atk/atkobject.c | 15 ++++++++++++++- atk/atkobject.h | 6 ++++++ atk/atkutil.c | 2 +- atk/atkutil.h | 4 ++-- 5 files changed, 33 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a03b20e..688324b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2001-11-19 Bill Haneman + * atk/atkobject.c: + * atk/atkstate.c: + Added state-changed signal to atkobject, in anticipation of + deprecating the accessible-state property. + + * atk/atkutil.[ch]: + Fixed signature of atk_util_add_key_listener () to + take an AtkKeySnoopFunc instead of a pointer to same. + 2001-11-19 Padraig O'Briain * atk/atkobject.c (atk_object_notify_state_change): diff --git a/atk/atkobject.c b/atk/atkobject.c index 682c837..141ac5b 100755 --- a/atk/atkobject.c +++ b/atk/atkobject.c @@ -48,7 +48,8 @@ enum { FOCUS_EVENT, PROPERTY_CHANGE, VISIBLE_DATA_CHANGED, - + STATE_CHANGE, + LAST_SIGNAL }; @@ -299,6 +300,18 @@ atk_object_class_init (AtkObjectClass *klass) g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); + /* + * The "state_change" signal supports details, one for each accessible state type + * (see atkstate.c). + */ + g_signal_new ("state_change", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, + G_STRUCT_OFFSET (AtkObjectClass, state_change), + (GSignalAccumulator) NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); atk_object_signals[VISIBLE_DATA_CHANGED] = g_signal_new ("visible_data_changed", G_TYPE_FROM_CLASS (klass), diff --git a/atk/atkobject.h b/atk/atkobject.h index 80ea0ad..2b79df0 100755 --- a/atk/atkobject.h +++ b/atk/atkobject.h @@ -345,6 +345,12 @@ void (* remove_property_change_handler) (AtkObject gint (*property_change) (AtkObject *accessible, AtkPropertyValues *values); /* + * The signal handler which is executed when there is a state_change + * signal for an object. + */ + gint (*state_change) (AtkObject *accessible, + AtkPropertyValues *values); + /* * The signal handler which is executed when there is a change in the * visible data for an object */ diff --git a/atk/atkutil.c b/atk/atkutil.c index 97e4d12..87caa73 100755 --- a/atk/atkutil.c +++ b/atk/atkutil.c @@ -241,7 +241,7 @@ atk_remove_global_event_listener (guint listener_id) * Returns: added event listener id, or 0 on failure. **/ guint -atk_add_key_event_listener (AtkKeySnoopFunc *listener, gpointer data) +atk_add_key_event_listener (AtkKeySnoopFunc listener, gpointer data) { guint retval; AtkUtilClass *klass = g_type_class_ref (ATK_TYPE_UTIL); diff --git a/atk/atkutil.h b/atk/atkutil.h index ba94a08..00fd8f5 100755 --- a/atk/atkutil.h +++ b/atk/atkutil.h @@ -71,7 +71,7 @@ struct _AtkUtilClass guint (* add_global_event_listener) (GSignalEmissionHook listener, gchar* event_type); void (* remove_global_event_listener) (guint listener_id); - guint (* add_key_event_listener) (AtkKeySnoopFunc *listener, + guint (* add_key_event_listener) (AtkKeySnoopFunc listener, gpointer data); void (* remove_key_event_listener) (guint listener_id); AtkObject* (* get_root) (void); @@ -136,7 +136,7 @@ void atk_remove_global_event_listener (guint listener_id); * Adds the specified function to the list of functions to be called * when an keyboard event occurs. */ -guint atk_add_key_event_listener (AtkKeySnoopFunc *listener, gpointer data); +guint atk_add_key_event_listener (AtkKeySnoopFunc listener, gpointer data); /* * Removes the specified event listener -- 2.7.4