enum {
CHILDREN_CHANGED,
+ FOCUS_EVENT,
LAST_SIGNAL
};
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, };
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;
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
{
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)));
+}
* 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
{
* 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