Initial revision
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_State.idl
1 #ifndef _ACCESSIBILITY_STATE_IDL
2 #define _ACCESSIBILITY_STATE_IDL
3
4 #if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
5 %{
6 #pragma include_defs State.h
7 %}
8 #pragma inhibit push
9 #endif
10
11 module Accessibility {
12
13   enum StateType {
14   STATE_INVALID,
15   /* Indicates a window is currently the active window */
16   STATE_ACTIVE,
17   /* Indicates that the object is armed */
18   STATE_ARMED,
19   /* Indicates the current object is busy */
20   STATE_BUSY,
21   /* Indicates this object is currently checked */
22   STATE_CHECKED,
23   /* Indicates this object is collapsed */
24   STATE_COLLAPSED,
25   /* Indicates the user can change the contents of this object */
26   STATE_EDITABLE,
27   /* Indicates this object allows progressive disclosure of its children */
28   STATE_EXPANDABLE,
29   /* Indicates this object its expanded */
30   STATE_EXPANDED,
31   /*
32    * Indicates this object can accept keyboard focus, which means all
33    * events resulting from typing on the keyboard will normally be passed
34    * to it when it has focus
35    */
36   STATE_FOCUSABLE,
37   /* Indicates this object currently has the keyboard focus */
38   STATE_FOCUSED,
39   /* Indicates the orientation of thsi object is horizontal */
40   STATE_HORIZONTAL,
41   /* Indicates this object is minimized and is represented only by an icon */
42   STATE_ICONIFIED,
43   /*
44    * Indicates something must be done with this object before the user can
45    * interact with an object in a different window.
46    */
47   STATE_MODAL,
48   /* Indicates this (text) object can contain multiple lines of text */
49   STATE_MULTI_LINE,
50   /*
51    * Indicates this object allows more than one of its children to be
52    * selected at the same time
53    */
54   STATE_MULTISELECTABLE,
55   /* Indicates this object paints every pixel within its rectangular region. */
56   STATE_OPAQUE,
57   /* Indicates this object is currently pressed */
58   STATE_PRESSED,
59   /* Indicates the size of this object is not fixed */
60   STATE_RESIZABLE,
61   /*
62    * Indicates this object is the child of an object that allows its
63    * children to be selected and that this child is one of those children
64    * that can be selected.
65    */
66   STATE_SELECTABLE,
67   /*
68    * Indicates this object is the child of an object that allows its
69    * children to be selected and that this child is one of those children
70    * that has been selected.
71    */
72   STATE_SELECTED,
73   /* Indicates this object is sensitive */
74   STATE_SENSITIVE,
75   /*
76    * Indicates this object, the object's parent, the object's parent's
77    * parent, and so on, are all visible
78    */
79   STATE_SHOWING,
80   /* Indicates this (text) object can contain only a single line of text */
81   STATE_SINGLE_LINE,
82   /* Indicates this object is transient */
83   STATE_TRANSIENT,
84   /* Indicates the orientation of this object is vertical */
85   STATE_VERTICAL,
86   /* Indicates this object is visible */
87   STATE_VISIBLE,
88   STATE_LAST_DEFINED
89   };
90
91   interface StateSet {
92     boolean             contains (in StateType state);
93     void                add (in StateType state);
94     void                remove (in StateType state);
95     boolean             equals (in StateSet stateSet);
96     void                compare (in StateSet compareState, out StateSet differenceSet);
97     boolean             isEmpty ();
98   };
99 };
100 #if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
101 #pragma inhibit pop
102 #endif
103 #endif