summaryrefslogtreecommitdiff
path: root/atk
diff options
context:
space:
mode:
authorPadraig O'Briain <padraigo@src.gnome.org>2001-05-15 17:14:24 +0000
committerPadraig O'Briain <padraigo@src.gnome.org>2001-05-15 17:14:24 +0000
commita09abab445274bc8d3187c10150bb201031d0a48 (patch)
tree7e3bf002b9d94554afc144403e9135705f3b1bbd /atk
parent2c3cdb0e1280af621787fcb6b44bb8b50e7c0d9c (diff)
downloadatk-a09abab445274bc8d3187c10150bb201031d0a48.tar.gz
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
Diffstat (limited to 'atk')
-rwxr-xr-xatk/atkobject.c23
-rwxr-xr-xatk/atkobject.h15
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