1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_accessibility_AccessibleEventId_idl__
20 #define __com_sun_star_accessibility_AccessibleEventId_idl__
22 module com
{ module sun
{ module star
{ module accessibility
{
24 /** These constants identify the type of AccessibleEventObject
27 <p>The AccessibleEventObject::OldValue and
28 AccessibleEventObject::NewValue fields contain, where
29 applicable and not otherwise stated, the old and new value of the
30 property in question.</p>
32 @see AccessibleEventObject
33 @see XAccessibleEventListener
37 constants AccessibleEventId
39 /** Use this event type to indicate a change of the name string
40 of an accessible object. The
41 AccessibleEventObject::OldValue and
42 AccessibleEventObject::NewValue fields contain the
43 name before and after the change.
45 const short NAME_CHANGED
= 1;
47 /** Use this event type to indicate a change of the description string
48 of an accessible object. The
49 AccessibleEventObject::OldValue and
50 AccessibleEventObject::NewValue fields contain the
51 description before and after the change.
53 const short DESCRIPTION_CHANGED
= 2;
55 /** The change of the number or attributes of actions of an accessible
56 object is signaled by events of this type.
57 <p>The AccessibleEventObject::OldValue and
58 AccessibleEventObject::NewValue fields contain the
59 old and new number of actions.
61 const short ACTION_CHANGED
= 3;
63 /** State changes are signaled with this event type. Use one event for
64 every state that is set or reset. The
65 AccessibleEventObject::OldValue and
66 AccessibleEventObject::NewValue fields contain the
67 old and new value respectively. To set a state put the state id
68 into the AccessibleEventObject::NewValue field and
69 leave AccessibleEventObject::OldValue empty. To
70 reset a state put the state id into the
71 AccessibleEventObject::OldValue field and leave
72 AccessibleEventObject::NewValue empty.
74 const short STATE_CHANGED
= 4;
76 /** Constant used to determine when the active descendant of a component
77 has changed. The active descendant is used in objects with
78 transient children. The AccessibleEventObject::NewValue
79 contains the now active object. The
80 AccessibleEventObject::OldValue contains the
81 previously active child. Empty references indicate that no child
82 has been respectively is currently active.
84 const short ACTIVE_DESCENDANT_CHANGED
= 5;
86 /** This event indicates a change of the bounding rectangle of an
87 accessible object with respect only to its size or relative
88 position. If the absolute position changes but not the relative
89 position then its is not necessary to send an event.
91 <p>Use this event rather than the
92 VISIBLE_DATA_EVENT when really only the
93 (relative) bounding box of an accessible object has changed. It is
94 much more specific than the later one and reduces the number of
95 calls an AT-Tool has to make to retrieve all affected data.</p>
97 <p>The AccessibleEventObject::OldValue and
98 AccessibleEventObject::NewValue remain empty. Use
99 a call to the XAccessibleComponent::getBounds()
100 method to determine the new bounding box.</p>
102 const short BOUNDRECT_CHANGED
= 6;
104 /** A child event indicates the addition of a new or the removal of an
105 existing child. The contents of the
106 AccessibleEventObject::OldValue and
107 AccessibleEventObject::NewValue fields determines
108 which of both has taken place.
110 <p>If a new child has been added then
111 the AccessibleEventObject::NewValue contains a
112 reference to this new object and
113 AccessibleEventObject::OldValue remains empty.</p>
115 <p>If a child has been removed then the
116 AccessibleEventObject::OldValue contains a
117 reference to this object and
118 AccessibleEventObject::NewValue remains empty.</p>
120 <p>If a child has been added and a another one has been removed
121 don't set both fields at the same. Send separate events
124 <p>Note that a child event is sent after a child has been added or
125 removed. Especially in the case of a removal this means that the
126 removed object does not have a parent anymore.</p>
128 const short CHILD
= 7;
130 /** Use this event to tell the listeners to re-retrieve the whole set of
131 children. This should be used by a parent object which exchanges all
132 or most of its children. It is a short form of first sending one
133 CHILD event for every old child indicating that
134 this child is about to be removed and then sending one
135 CHILD for every new child indicating that this
136 child has been added to the list of children.
138 <p>When this API is used by Java or Gnome AT-Tools then a bridge can
139 generate the events described above automatically.</p>
141 const short INVALIDATE_ALL_CHILDREN
= 8;
143 /** Events of this type indicate changes of the selection. The
144 AccessibleEventObject::OldValue and
145 AccessibleEventObject::NewValue fields remain empty.
147 const short SELECTION_CHANGED
= 9;
149 /** A visible data event indicates the change of the visual appearance
150 of an accessible object. This includes for example most of the
151 attributes available over the XAccessibleComponent and
152 XAccessibleExtendedComponent interfaces. The
153 AccessibleEventObject::OldValue and
154 AccessibleEventObject::NewValue fields are left empty.
156 const short VISIBLE_DATA_CHANGED
= 10;
158 /** This constant indicates changes of the value of an
159 XAccessibleValue interface. The
160 AccessibleEventObject::OldValue and
161 AccessibleEventObject::NewValue field contain the
162 old and new value as a number. Its exact type is implementation
163 dependent but has to be the same as is returned by the
164 XAccessibleValue::getCurrentValue() function.
167 const short VALUE_CHANGED
= 11;
169 /** Identifies the change of a relation set: The content flow has
172 <p>Not used: The AccessibleEventObject::OldValue and
173 AccessibleEventObject::NewValue fields contain
174 references to the old and new predecessor. Note that both references
175 my be `NULL` to indicate that a flow to the sending object has not
176 existed or does not exist anymore.</p>
178 const short CONTENT_FLOWS_FROM_RELATION_CHANGED
= 12;
180 /** Identifies the change of a relation set: The content flow has
183 <p>Not used: The AccessibleEventObject::OldValue and
184 AccessibleEventObject::NewValue fields contain
185 references to the old and new successor. Note that both references
186 my be `NULL` to indicate that a flow from the sending object has not
187 existed or does not exist anymore.</p>
189 const short CONTENT_FLOWS_TO_RELATION_CHANGED
= 13;
191 /** Identifies the change of a relation set: The target object that is
192 doing the controlling has changed. The
193 AccessibleEventObject::OldValue and
194 AccessibleEventObject::NewValue fields contain the
195 old and new controlling objects.
197 const short CONTROLLED_BY_RELATION_CHANGED
= 14;
199 /** Identifies the change of a relation set: The controller for the
200 target object has changed. The
201 AccessibleEventObject::OldValue and
202 AccessibleEventObject::NewValue fields contain the
203 old and new number of controlled objects.
205 const short CONTROLLER_FOR_RELATION_CHANGED
= 15;
207 /** Identifies the change of a relation set: The target group for a
208 label has changed. The
209 AccessibleEventObject::OldValue and
210 AccessibleEventObject::NewValue fields contain the
211 old and new number labeled objects.
213 const short LABEL_FOR_RELATION_CHANGED
= 16;
215 /** Identifies the change of a relation set: The objects that are doing
216 the labeling have changed. The
217 AccessibleEventObject::OldValue and
218 AccessibleEventObject::NewValue fields contain the
219 old and new accessible label.
221 const short LABELED_BY_RELATION_CHANGED
= 17;
223 /** Identifies the change of a relation set: The group membership has
225 AccessibleEventObject::OldValue and
226 AccessibleEventObject::NewValue fields contain the
227 old and new number of members.
229 const short MEMBER_OF_RELATION_CHANGED
= 18;
231 /** Identifies the change of a relation set: The sub-window-of relation
233 AccessibleEventObject::OldValue and
234 AccessibleEventObject::NewValue fields contain the
235 old and new accessible parent window objects.
237 const short SUB_WINDOW_OF_RELATION_CHANGED
= 19;
239 /** Events of this type are sent when the caret has moved to a new
240 position. The old and new position can be found in the
241 AccessibleEventObject::OldValue and
242 AccessibleEventObject::NewValue fields.
244 const short CARET_CHANGED
= 20;
246 /** Events of this type signal changes of the selection. The old or new
247 selection is <em>not</em> available through the event object. You
248 have to query the XAccessibleText interface of the
249 event source for this information. The type of content of the
250 AccessibleEventObject::OldValue and
251 AccessibleEventObject::NewValue fields is not
252 specified at the moment. This may change in the future.
254 const short TEXT_SELECTION_CHANGED
= 21;
256 /** Use this id to indicate general text changes, i.e. changes to text
257 that is exposed through the XAccessibleText and
258 XAccessibleEditableText interfaces.
260 <p>The affected text ranges are represented by
261 com::sun::star::accessibility::TextSegment structures.<p>
263 <p>The content of the AccessibleEventObject::OldValue and
264 AccessibleEventObject::NewValue expresses the type
265 of text change: <ul> <li>Insertion: the
266 AccessibleEventObject::NewValue field specifies the
267 inserted text after the insertion, the
268 AccessibleEventObject::OldValue field remains
269 empty.</li> <li>Deletion: the
270 AccessibleEventObject::OldValue field specifies the
271 deleted text before the deletion, the
272 AccessibleEventObject::NewValue field remains
273 empty.</li> <li>Update/Replace/Modification: the
274 AccessibleEventObject::OldValue and
275 AccessibleEventObject::NewValue fields specify the
276 modified text before respectively after the modification.</li>
277 <li>Unknown: when the type of text change or the place where it took
278 place can not be determined by the event broadcaster then both
279 fields remain empty. In this case the whole text may have changed
280 and the listener should refetch the text completely.</li> </ul>
282 <p>When broadcasting an event always prefer the first three cases
283 to the last one. Use it only as a last resort.</p>
285 <p> Text ranges should be as small as possible but, of course,
286 include all the text that is involved in a modification. That means
287 that when two or more discontinuous text ranges are inserted,
288 deleted, or otherwise modified the two fields of the event have to
289 cover all the affected text ranges as well as the text in
292 const short TEXT_CHANGED
= 22;
295 /** This entry is reserved for future extension. Don't use it right now.
297 const short TEXT_ATTRIBUTE_CHANGED
= 23;
299 /** Constant used to indicate that a hypertext element has received
300 focus. The AccessibleEventObject::OldValue field
301 contains the start index of previously focused element. The
302 AccessibleEventObject::NewValue field holds the
303 start index in the document of the current element that has focus. A
304 value of -1 indicates that an element does not or did not have
307 const short HYPERTEXT_CHANGED
= 24;
308 /** Constant used to indicate that the table caption has changed. The
309 AccessibleEventObject::OldValue and
310 AccessibleEventObject::NewValue fields contain the
311 old and new accessible objects representing the table caption.
313 const short TABLE_CAPTION_CHANGED
= 25;
315 /** Constant used to indicate that the column description has changed.
316 The AccessibleEventObject::NewValue field contains
317 the column index. The
318 AccessibleEventObject::OldValue is left empty.
320 const short TABLE_COLUMN_DESCRIPTION_CHANGED
= 26;
322 /** Constant used to indicate that the column header has changed. The
323 AccessibleEventObject::OldValue is empty, the
324 AccessibleEventObject::NewValue field contains an
325 AccessibleTableModelChange representing the header
328 const short TABLE_COLUMN_HEADER_CHANGED
= 27;
330 /** Constant used to indicate that the table data has changed. The
331 AccessibleEventObject::OldValue is empty, the
332 AccessibleEventObject::NewValue field contains an
333 AccessibleTableModelChange representing the data
336 const short TABLE_MODEL_CHANGED
= 28;
338 /** Constant used to indicate that the row description has changed. The
339 AccessibleEventObject::NewValue field contains the
340 row index. The AccessibleEventObject::OldValue is
343 const short TABLE_ROW_DESCRIPTION_CHANGED
= 29;
345 /** Constant used to indicate that the row header has changed. The
346 AccessibleEventObject::OldValue is empty, the
347 AccessibleEventObject::NewValue field contains an
348 AccessibleTableModelChange representing the header
351 const short TABLE_ROW_HEADER_CHANGED
= 30;
353 /** Constant used to indicate that the table summary has changed. The
354 AccessibleEventObject::OldValue and
355 AccessibleEventObject::NewValue fields contain the
356 old and new accessible objects representing the table summary.
358 const short TABLE_SUMMARY_CHANGED
= 31;
360 /** Constant used to indicate that a list box entry has been expanded.
361 AccessibleEventObject::OldValue is empty.
362 AccessibleEventObject::NewValue contains the expanded list box entry.
366 const short LISTBOX_ENTRY_EXPANDED
= 32;
368 /** Constant used to indicate that a list box entry has been collapsed.
369 AccessibleEventObject::OldValue is empty.
370 AccessibleEventObject::NewValue contains the collapsed list box entry.
374 const short LISTBOX_ENTRY_COLLAPSED
= 33;
376 /** Constant used to determine when the active descendant of a component
377 has been removed but unlike ACTIVE_DECENDANT_CHANGED the decendant
378 that is to be removed does not have focus. The active descendant
379 is used in objects with transient children.
381 <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
382 <p>AccessibleEventObject::NewValue is empty.</p>
384 @since LibreOffice 4.3
386 const short ACTIVE_DESCENDANT_CHANGED_NOFOCUS
= 34;
388 /** An item in a container has been added to a already present selection
390 Example: a second list item has been selected in a listbox.
392 <p>AccessibleEventObject::OldValue is empty.</p>
393 <p>AccessibleEventObject::NewValue contains the item to be added.</p>
395 @since LibreOffice 4.3
397 const short SELECTION_CHANGED_ADD
= 35;
399 /** An item in a container has been removed from the selection.
401 <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
402 <p>AccessibleEventObject::NewValue is empty.</p>
404 @since LibreOffice 4.3
406 const short SELECTION_CHANGED_REMOVE
= 36;
408 /** Multiple items in a container object have been added or removed
411 <p>AccessibleEventObject::OldValue and
412 AccessibleEventObject::NewValue is empty.</p>
414 @since LibreOffice 4.3
416 const short SELECTION_CHANGED_WITHIN
= 37;
418 /** A change of page or slide.
420 @since LibreOffice 4.3
422 const short PAGE_CHANGED
= 38;
424 /** The cursor has moved to/from a section
426 @since LibreOffice 4.3
428 const short SECTION_CHANGED
= 39;
430 /** The cursor has moved to/from a section
432 @since LibreOffice 4.3
434 const short COLUMN_CHANGED
= 40;
436 /** Constant used to indicate that the role of an accessible object has
439 @since LibreOffice 4.3
441 const short ROLE_CHANGED
=41;
448 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */