1 | /* |
---|
2 | * AT-SPI - Assistive Technology Service Provider Interface |
---|
3 | * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) |
---|
4 | * |
---|
5 | * Copyright 2001 Sun Microsystems Inc. |
---|
6 | * |
---|
7 | * This library is free software; you can redistribute it and/or |
---|
8 | * modify it under the terms of the GNU Library General Public |
---|
9 | * License as published by the Free Software Foundation; either |
---|
10 | * version 2 of the License, or (at your option) any later version. |
---|
11 | * |
---|
12 | * This library is distributed in the hope that it will be useful, |
---|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
15 | * Library General Public License for more details. |
---|
16 | * |
---|
17 | * You should have received a copy of the GNU Library General Public |
---|
18 | * License along with this library; if not, write to the |
---|
19 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
---|
20 | * Boston, MA 02111-1307, USA. |
---|
21 | */ |
---|
22 | |
---|
23 | #ifndef _ACCESSIBILITY_STATE_IDL |
---|
24 | #define _ACCESSIBILITY_STATE_IDL |
---|
25 | |
---|
26 | module Accessibility { |
---|
27 | |
---|
28 | enum StateType { |
---|
29 | STATE_INVALID, |
---|
30 | /* Indicates a window is currently the active window */ |
---|
31 | STATE_ACTIVE, |
---|
32 | /* Indicates that the object is armed */ |
---|
33 | STATE_ARMED, |
---|
34 | /* Indicates the current object is busy */ |
---|
35 | STATE_BUSY, |
---|
36 | /* Indicates this object is currently checked */ |
---|
37 | STATE_CHECKED, |
---|
38 | /* Indicates this object is collapsed */ |
---|
39 | STATE_COLLAPSED, |
---|
40 | /* Indicates that this object no longer contains a backing widget */ |
---|
41 | STATE_DEFUNCT, |
---|
42 | /* Indicates the user can change the contents of this object */ |
---|
43 | STATE_EDITABLE, |
---|
44 | /* Indicates that this object is enabled */ |
---|
45 | STATE_ENABLED, |
---|
46 | /* Indicates this object allows progressive disclosure of its children */ |
---|
47 | STATE_EXPANDABLE, |
---|
48 | /* Indicates this object its expanded */ |
---|
49 | STATE_EXPANDED, |
---|
50 | /* |
---|
51 | * Indicates this object can accept keyboard focus, which means all |
---|
52 | * events resulting from typing on the keyboard will normally be passed |
---|
53 | * to it when it has focus |
---|
54 | */ |
---|
55 | STATE_FOCUSABLE, |
---|
56 | /* Indicates this object currently has the keyboard focus */ |
---|
57 | STATE_FOCUSED, |
---|
58 | /* Indicates that the object has an associated tooltip */ |
---|
59 | STATE_HAS_TOOLTIP, |
---|
60 | /* Indicates the orientation of thsi object is horizontal */ |
---|
61 | STATE_HORIZONTAL, |
---|
62 | /* Indicates this object is minimized and is represented only by an icon */ |
---|
63 | STATE_ICONIFIED, |
---|
64 | /* |
---|
65 | * Indicates something must be done with this object before the user can |
---|
66 | * interact with an object in a different window. |
---|
67 | */ |
---|
68 | STATE_MODAL, |
---|
69 | /* Indicates this (text) object can contain multiple lines of text */ |
---|
70 | STATE_MULTI_LINE, |
---|
71 | /* |
---|
72 | * Indicates this object allows more than one of its children to be |
---|
73 | * selected at the same time |
---|
74 | */ |
---|
75 | STATE_MULTISELECTABLE, |
---|
76 | /* Indicates this object paints every pixel within its rectangular region. */ |
---|
77 | STATE_OPAQUE, |
---|
78 | /* Indicates this object is currently pressed */ |
---|
79 | STATE_PRESSED, |
---|
80 | /* Indicates the size of this object is not fixed */ |
---|
81 | STATE_RESIZABLE, |
---|
82 | /* |
---|
83 | * Indicates this object is the child of an object that allows its |
---|
84 | * children to be selected and that this child is one of those children |
---|
85 | * that can be selected. |
---|
86 | */ |
---|
87 | STATE_SELECTABLE, |
---|
88 | /* |
---|
89 | * Indicates this object is the child of an object that allows its |
---|
90 | * children to be selected and that this child is one of those children |
---|
91 | * that has been selected. |
---|
92 | */ |
---|
93 | STATE_SELECTED, |
---|
94 | /* Indicates this object is sensitive */ |
---|
95 | STATE_SENSITIVE, |
---|
96 | /* |
---|
97 | * Indicates this object, the object's parent, the object's parent's |
---|
98 | * parent, and so on, are all visible |
---|
99 | */ |
---|
100 | STATE_SHOWING, |
---|
101 | /* Indicates this (text) object can contain only a single line of text */ |
---|
102 | STATE_SINGLE_LINE, |
---|
103 | /* Indicates that this object's index within parent information may be invalid */ |
---|
104 | STATE_STALE, |
---|
105 | /* Indicates this object is transient */ |
---|
106 | STATE_TRANSIENT, |
---|
107 | /* Indicates the orientation of this object is vertical */ |
---|
108 | STATE_VERTICAL, |
---|
109 | /* Indicates this object is visible */ |
---|
110 | STATE_VISIBLE, |
---|
111 | STATE_LAST_DEFINED |
---|
112 | }; |
---|
113 | |
---|
114 | typedef sequence <StateType> StateSeq; |
---|
115 | |
---|
116 | interface StateSet : Bonobo::Unknown { |
---|
117 | boolean contains (in StateType state); |
---|
118 | void add (in StateType state); |
---|
119 | void remove (in StateType state); |
---|
120 | boolean equals (in StateSet stateSet); |
---|
121 | /* returns a 'difference set' */ |
---|
122 | StateSet compare (in StateSet compareState); |
---|
123 | boolean isEmpty (); |
---|
124 | |
---|
125 | /* Private */ |
---|
126 | StateSeq getStates (); |
---|
127 | |
---|
128 | /** |
---|
129 | * unImplemented: |
---|
130 | * |
---|
131 | * placeholders for future expansion. |
---|
132 | */ |
---|
133 | void unImplemented (); |
---|
134 | void unImplemented2 (); |
---|
135 | }; |
---|
136 | }; |
---|
137 | |
---|
138 | #endif |
---|