2009-27-09 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / tests / dummyatk / my-atk-object.h
1 #ifndef MY_ATK_OBJECT_H
2 #define MY_ATK_OBJECT_H
3
4 #include <atk/atk.h>
5
6 #define MY_TYPE_ATK_OBJECT             (my_atk_object_get_type ())
7 #define MY_ATK_OBJECT(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), MY_TYPE_ATK_OBJECT, MyAtkObject))
8 #define MY_ATK_OBJECT_CLASS(vtable)    (G_TYPE_CHECK_CLASS_CAST ((vtable), MY_TYPE_ATK_OBJECT, MyAtkObjectClass))
9 #define MY_IS_ATK_OBJECT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MY_TYPE_ATK_OBJECT))
10 #define MY_IS_ATK_OBJECT_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), MY_TYPE_ATK_OBJECT))
11 #define MY_ATK_OBJECT_GET_CLASS(inst)  (G_TYPE_INSTANCE_GET_CLASS ((inst), MY_TYPE_ATK_OBJECT, MyAtkObjectClass))
12
13 typedef struct _MyAtkObject MyAtkObject;
14 typedef struct _MyAtkObjectClass MyAtkObjectClass;
15
16 struct _MyAtkObject
17 {
18     AtkObject parent;
19     //array of children
20     AtkStateSet *state_set;
21     AtkAttributeSet *attributes;
22     GPtrArray* children;
23     gint id;
24 };
25
26 struct _MyAtkObjectClass
27 {
28     AtkObjectClass parent;
29 };
30
31 GType my_atk_object_get_type();
32
33 void my_atk_object_add_child(MyAtkObject* parent, MyAtkObject* child);
34
35 void my_atk_object_remove_child(MyAtkObject* parent, MyAtkObject* child);
36
37 #endif /*MY_ATK_OBJECT_H*/