1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
|
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __com_sun_star_accessibility_AccessibleEventId_idl__
#define __com_sun_star_accessibility_AccessibleEventId_idl__
module com { module sun { module star { module accessibility {
/** These constants identify the type of <type>AccessibleEventObject</type>
objects.
<p>The <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain, where
applicable and not otherwise stated, the old and new value of the
property in question.</p>
@see AccessibleEventObject
@see XAccessibleEventListener
@since OOo 1.1.2
*/
published constants AccessibleEventId
{
/** Use this event type to indicate a change of the name string
of an accessible object. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
name before and after the change.
*/
const short NAME_CHANGED = 1;
/** Use this event type to indicate a change of the description string
of an accessible object. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
description before and after the change.
*/
const short DESCRIPTION_CHANGED = 2;
/** The change of the number or attributes of actions of an accessible
object is signaled by events of this type.
<p>The <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new number of actions.
*/
const short ACTION_CHANGED = 3;
/** State changes are signaled with this event type. Use one event for
every state that is set or reset. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new value respectively. To set a state put the state id
into the <member>AccessibleEventObject::NewValue</member> field and
leave <member>AccessibleEventObject::OldValue</member> empty. To
reset a state put the state id into the
<member>AccessibleEventObject::OldValue</member> field and leave
<member>AccessibleEventObject::NewValue</member> empty.
*/
const short STATE_CHANGED = 4;
/** Constant used to determine when the active descendant of a component
has changed. The active descendant is used in objects with
transient children. The <member>AccessibleEventObject::NewValue</member>
contains the now active object. The
<member>AccessibleEventObject::OldValue</member> contains the
previously active child. Empty references indicate that no child
has been respectively is currently active.
*/
const short ACTIVE_DESCENDANT_CHANGED = 5;
/** This event indicates a change of the bounding rectangle of an
accessible object with respect only to its size or relative
position. If the absolute position changes but not the relative
position then its is not necessary to send an event.
<p>Use this event rather than the
<const>VISIBLE_DATA_EVENT</const> when really only the
(relative) bounding box of an accessible object has changed. It is
much more specific than the later one and reduces the number of
calls an AT-Tool has to make to retrieve all affected data.</p>
<p>The <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> remain empty. Use
a call to the <member>XAccessibleComponent::getBounds()</member>
method to determine the new bounding box.</p>
*/
const short BOUNDRECT_CHANGED = 6;
/** A child event indicates the addition of a new or the removal of an
existing child. The contents of the
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields determines
which of both has taken place.
<p>If a new child has been added then
the <member>AccessibleEventObject::NewValue</member> contains a
reference to this new object and
<member>AccessibleEventObject::OldValue</member> remains empty.</p>
<p>If a child has been removed then the
<member>AccessibleEventObject::OldValue</member> contains a
reference to this object and
<member>AccessibleEventObject::NewValue</member> remains empty.</p>
<p>If a child has been added and a another one has been removed
don't set both fields at the same. Send separate events
instead.</p>
<p>Note that a child event is sent after a child has been added or
removed. Especially in the case of a removal this means that the
removed object does not have a parent anymore.</p>
*/
const short CHILD = 7;
/** Use this event to tell the listeners to re-retrieve the whole set of
children. This should be used by a parent object which exchanges all
or most of its children. It is a short form of first sending one
<const>CHILD</const> event for every old child indicating that
this child is about to be removed and then sending one
<const>CHILD</const> for every new child indicating that this
child has been added to the list of children.
<p>When this API is used by Java or Gnome AT-Tools then a bridge can
generate the events described above automatically.</p>
*/
const short INVALIDATE_ALL_CHILDREN = 8;
/** Events of this type indicate changes of the selection. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields remain empty.
*/
const short SELECTION_CHANGED = 9;
/** A visibile data event indicates the change of the visual appearance
of an accessible object. This includes for example most of the
attributes available over the <type>XAccessibleComponent</type> and
<type>XAccessibleExtendedComponent</type> interfaces. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields are left empty.
*/
const short VISIBLE_DATA_CHANGED = 10;
/** This constant indicates changes of the value of an
<type>XAccessibleValue</type> interface. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> field contain the
old and new value as a number. Its exact type is implementation
dependant but has to be the same as is returned by the
<member>XAccessibleValue::getCurrentValue</member> function.
*/
const short VALUE_CHANGED = 11;
/** Identifies the change of a relation set: The content flow has
changed.
<p>Not used: The <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain
refrences to the old and new predecessor. Note that both references
my be <NULL/> to indicate that a flow to the sending object has not
existed or does not exist anymore.</p>
*/
const short CONTENT_FLOWS_FROM_RELATION_CHANGED = 12;
/** Identifies the change of a relation set: The content flow has
changed.
<p>Not used: The <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain
refrences to the old and new successor. Note that both references
my be <NULL/> to indicate that a flow from the sending object has not
existed or does not exist anymore.</p>
*/
const short CONTENT_FLOWS_TO_RELATION_CHANGED = 13;
/** Identifies the change of a relation set: The target object that is
doing the controlling has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new controlling objects.
*/
const short CONTROLLED_BY_RELATION_CHANGED = 14;
/** Identifies the change of a relation set: The controller for the
target object has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new number of controlled objects.
*/
const short CONTROLLER_FOR_RELATION_CHANGED = 15;
/** Identifies the change of a relation set: The target group for a
label has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new number labeled objects.
*/
const short LABEL_FOR_RELATION_CHANGED = 16;
/** Identifies the change of a relation set: The objects that are doing
the labeling have changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new accessible label.
*/
const short LABELED_BY_RELATION_CHANGED = 17;
/** Identifies the change of a relation set: The group membership has
changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new number of members.
*/
const short MEMBER_OF_RELATION_CHANGED = 18;
/** Identifies the change of a relation set: The sub-window-of relation
has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new accessible parent window objects.
*/
const short SUB_WINDOW_OF_RELATION_CHANGED = 19;
/** Events of this type are sent when the caret has moved to a new
position. The old and new position can be found in the
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields.
*/
const short CARET_CHANGED = 20;
/** Events of this type signal changes of the selection. The old or new
selection is <em>not</em> available through the event object. You
have to query the <type>XAccessibleText</type> interface of the
event source for this information. The type of content of the
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields is not
specified at the moment. This may change in the future.
*/
const short TEXT_SELECTION_CHANGED = 21;
/** Use this id to indicate general text changes, i.e. changes to text
that is exposed through the <type>XAccessibleText</type> and
<type>XAccessibleEditableText</type> interfaces.
<p>The affected text ranges are represented by <type
scope="com::sun::star::accessibility">TextSegment</type> structures.<p>
<p>The content of the <member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> expresses the type
of text change: <ul> <li>Insertion: the
<member>AccessibleEventObject::NewValue</member> field specifies the
inserted text after the insertion, the
<member>AccessibleEventObject::OldValue</member> field remains
empty.</li> <li>Deletion: the
<member>AccessibleEventObject::OldValue</member> field specifies the
deleted text before the deletion, the
<member>AccessibleEventObject::NewValue</member> field remains
empty.</li> <li>Update/Replace/Modification: the
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields specify the
modified text before respectively after the modification.</li>
<li>Unknown: when the type of text change or the place where it took
place can not be determined by the event broadcaster then both
fields remain empty. In this case the whole text may have changed
and the listener should refetch the text completely.</li> </ol>
<p>When broadcasting an event allways prefer the first three cases
to the last one. Use it only as a last resort.</p>
<p> Text ranges should be as small as possible but, of course,
include all the text that is involved in a modification. That means
that when two or more discontiguous text ranges are inserted,
deleted, or otherwise modified the two fields of the event have to
cover all the effected text ranges as well as the text in
between.</p>
*/
const short TEXT_CHANGED = 22;
/** This entry is reserved for future extension. Don't use it right now.
*/
const short TEXT_ATTRIBUTE_CHANGED = 23;
/** Constant used to indicate that a hypertext element has received
focus. The <member>AccessibleEventObject::OldValue</member> field
contains the start index of previously focused element. The
<member>AccessibleEventObject::NewValue</member> field holds the
start index in the document of the current element that has focus. A
value of -1 indicates that an element does not or did not have
focus.
*/
const short HYPERTEXT_CHANGED = 24;
/** Constant used to indicate that the table caption has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new accessible objects representing the table caption.
*/
const short TABLE_CAPTION_CHANGED = 25;
/** Constant used to indicate that the column description has changed.
The <member>AccessibleEventObject::NewValue</member> field contains
the column index. The
<member>AccessibleEventObject::OldValue</member> is left empty.
*/
const short TABLE_COLUMN_DESCRIPTION_CHANGED = 26;
/** Constant used to indicate that the column header has changed. The
<member>AccessibleEventObject::OldValue</member> is empty, the
<member>AccessibleEventObject::NewValue</member> field contains an
<type>AccessibleTableModelChange</type> representing the header
change.
*/
const short TABLE_COLUMN_HEADER_CHANGED = 27;
/** Constant used to indicate that the table data has changed. The
<member>AccessibleEventObject::OldValue</member> is empty, the
<member>AccessibleEventObject::NewValue</member> field contains an
<type>AccessibleTableModelChange</type> representing the data
change.
*/
const short TABLE_MODEL_CHANGED = 28;
/** Constant used to indicate that the row description has changed. The
<member>AccessibleEventObject::NewValue</member> field contains the
row index. The <member>AccessibleEventObject::OldValue</member> is
left empty.
*/
const short TABLE_ROW_DESCRIPTION_CHANGED = 29;
/** Constant used to indicate that the row header has changed. The
<member>AccessibleEventObject::OldValue</member> is empty, the
<member>AccessibleEventObject::NewValue</member> field contains an
<type>AccessibleTableModelChange</type> representing the header
change.
*/
const short TABLE_ROW_HEADER_CHANGED = 30;
/** Constant used to indicate that the table summary has changed. The
<member>AccessibleEventObject::OldValue</member> and
<member>AccessibleEventObject::NewValue</member> fields contain the
old and new accessible objects representing the table summary.
*/
const short TABLE_SUMMARY_CHANGED = 31;
/** Constant used to indicate that a list box entry has been expanded.
<member>AccessibleEventObject::OldValue</member> is empty.
<member>AccessibleEventObject::NewValue</member> contains the expanded list box entry.
@since OOo 3.2
*/
const short LISTBOX_ENTRY_EXPANDED = 32;
/** Constant used to indicate that a list box entry has been collapsed.
<member>AccessibleEventObject::OldValue</member> is empty.
<member>AccessibleEventObject::NewValue</member> contains the collapsed list box entry.
@since OOo 3.2
*/
const short LISTBOX_ENTRY_COLLAPSED = 33;
};
}; }; }; };
#endif
|