Initial revision
[platform/core/uifw/at-spi2-atk.git] / idl / Accessible.idl
1 #ifndef _ACCESSIBILITY_ACCESSIBLE_IDL
2 #define _ACCESSIBILITY_ACCESSIBLE_IDL
3
4
5 #include <Bonobo.idl>
6
7 #if !defined(__ACCESSIBILITY_ACCESSIBLE_COMPILATION) && defined(__ORBIT_IDL__)
8 %{
9 #pragma include_defs Accessible.h
10 %}
11 #pragma inhibit push
12 #endif
13
14 #include "Relation.idl"
15 #include "State.idl"
16 #include "Role.idl"
17
18 module Accessibility {
19   
20   typedef sequence<Relation> RelationSet;
21
22   interface Accessible : Bonobo::Unknown {
23
24     /**
25      * #attribute description: a (short) @string representing the object's name.
26      **/
27     attribute string name;
28
29     /**
30      * #attribute description: a @string describing the object in more detail than @name.
31      **/
32     attribute string description;
33
34     /**
35      * #attribute parent: an @Accessible object which is this object's containing object.
36      **/
37     readonly attribute Accessible parent;
38
39     /**
40      * getChildCount:
41      * return values: the number of children contained by this object (zero if none).
42      *
43      * Get the number of children contained by this object.
44      *
45      **/
46     readonly attribute long     childCount;
47
48     /**
49      * getChildAtIndex:
50      * @index: an in parameter indicating which child is requested (zero-indexed).
51      * return values: the 'nth' @Accessible child of this object.
52      *
53      * Get the accessible child of this object at index @index.
54      *
55      **/
56     Accessible  getChildAtIndex (in long index);
57
58     /**
59      * getIndexInParent:
60      * return values: a long integer indicating this object's index in the parent's list.
61      *
62      * Get the index of this object in its parent's child list.
63      *
64      **/
65     long                getIndexInParent ();
66
67     /**
68      * getRelationSet:
69      * return values: a @RelationSet defining this object's relationships.
70      *
71      * Get a set defining this object's relationship to other accessible objects.
72      *
73      **/
74     RelationSet getRelationSet ();
75
76     /**
77      * getRole:
78      * return values: the @Role of this object.
79      *
80      * Get the @Role indicating the type of UI role played by this object.
81      *
82      **/
83     Role                getRole ();
84
85     /**
86      * getState:
87      * return values: a @StateSet encapsulating the currently true states of the object.
88      *
89      * Get the current state of the object as a @StateSet.
90      **/
91     StateSet    getState ();
92   };
93 };
94
95 #if !defined(__ACCESSIBILITY_ACCESSIBLE_COMPILATION) && defined(__ORBIT_IDL__)
96 #pragma inhibit pop
97 #endif
98
99 #endif
100