michael@0: /*************************************************************************
michael@0: *
michael@0: * File Name (AccessibleEventID.idl)
michael@0: *
michael@0: * IAccessible2 IDL Specification
michael@0: *
michael@0: * Copyright (c) 2007, 2010 Linux Foundation
michael@0: * Copyright (c) 2006 IBM Corporation
michael@0: * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
michael@0: * All rights reserved.
michael@0: *
michael@0: *
michael@0: * Redistribution and use in source and binary forms, with or without
michael@0: * modification, are permitted provided that the following conditions
michael@0: * are met:
michael@0: *
michael@0: * 1. Redistributions of source code must retain the above copyright
michael@0: * notice, this list of conditions and the following disclaimer.
michael@0: *
michael@0: * 2. Redistributions in binary form must reproduce the above
michael@0: * copyright notice, this list of conditions and the following
michael@0: * disclaimer in the documentation and/or other materials
michael@0: * provided with the distribution.
michael@0: *
michael@0: * 3. Neither the name of the Linux Foundation nor the names of its
michael@0: * contributors may be used to endorse or promote products
michael@0: * derived from this software without specific prior written
michael@0: * permission.
michael@0: *
michael@0: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
michael@0: * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
michael@0: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@0: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
michael@0: * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
michael@0: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@0: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
michael@0: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
michael@0: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
michael@0: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
michael@0: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
michael@0: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
michael@0: * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
michael@0: *
michael@0: * This BSD License conforms to the Open Source Initiative "Simplified
michael@0: * BSD License" as published at:
michael@0: * http://www.opensource.org/licenses/bsd-license.php
michael@0: *
michael@0: * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
michael@0: * mark may be used in accordance with the Linux Foundation Trademark
michael@0: * Policy to indicate compliance with the IAccessible2 specification.
michael@0: *
michael@0: ************************************************************************/
michael@0:
michael@0: /** %IAccessible2 specific event constants
michael@0:
michael@0: This enum defines the event IDs fired by %IAccessible2 objects. The event IDs
michael@0: are in addition to those used by MSAA.
michael@0: */
michael@0: enum IA2EventID {
michael@0:
michael@0: /** The change of the number or attributes of actions of an accessible
michael@0: object is signaled by events of this type.
michael@0: */
michael@0: IA2_EVENT_ACTION_CHANGED = 0x101,
michael@0:
michael@0: /** Deprecated. The active descendant of a component has changed.
michael@0:
michael@0: Note: This event constant is misspelled and thus is deprecated and will be
michael@0: removed in a later version. Please use the correctly spelled version which
michael@0: follows.
michael@0: */
michael@0: IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
michael@0:
michael@0: /** The active descendant of a component has changed. The active descendant
michael@0: is used in objects with transient children.
michael@0:
michael@0: Note: Due to the fact that MSAA's WinEvents don't allow the active child index
michael@0: to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages
michael@0: descendants scheme can't be used. Instead the active child object has to fire
michael@0: MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
michael@0: added to provide for event specific data to be passed with the event. At that
michael@0: time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
michael@0: IA2_STATE_MANAGES_DESCENDANTS state would be useful.
michael@0: */
michael@0: IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
michael@0:
michael@0: /** The document wide attributes of the document object have changed.
michael@0: */
michael@0: IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
michael@0:
michael@0: /** The contents of the document have changed.
michael@0: */
michael@0: IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
michael@0:
michael@0: /** The loading of the document has completed.
michael@0: */
michael@0: IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
michael@0:
michael@0: /** The loading of the document was interrupted.
michael@0: */
michael@0: IA2_EVENT_DOCUMENT_LOAD_STOPPED,
michael@0:
michael@0: /** The document contents are being reloaded.
michael@0: */
michael@0: IA2_EVENT_DOCUMENT_RELOAD,
michael@0:
michael@0: /** The ending index of this link within the containing string has changed.
michael@0: */
michael@0: IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
michael@0:
michael@0: /** The number of anchors associated with this hyperlink object has changed.
michael@0: */
michael@0: IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
michael@0:
michael@0: /** The hyperlink selected state changed from selected to unselected or
michael@0: from unselected to selected.
michael@0: */
michael@0: IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
michael@0:
michael@0: /** One of the links associated with the hypertext object has been activated.
michael@0: */
michael@0: IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
michael@0:
michael@0: /** One of the links associated with the hypertext object has been selected.
michael@0: */
michael@0: IA2_EVENT_HYPERTEXT_LINK_SELECTED,
michael@0:
michael@0: /** The starting index of this link within the containing string has changed.
michael@0: */
michael@0: IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
michael@0:
michael@0: /** Focus has changed from one hypertext object to another, or focus moved
michael@0: from a non-hypertext object to a hypertext object, or focus moved from a
michael@0: hypertext object to a non-hypertext object.
michael@0: */
michael@0: IA2_EVENT_HYPERTEXT_CHANGED,
michael@0:
michael@0: /** The number of hyperlinks associated with a hypertext object changed
michael@0: */
michael@0: IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
michael@0:
michael@0: /** An object's attributes changed.
michael@0: Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
michael@0: */
michael@0: IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
michael@0:
michael@0: /** A slide changed in a presentation document or a page boundary was
michael@0: crossed in a word processing document.
michael@0: */
michael@0: IA2_EVENT_PAGE_CHANGED,
michael@0:
michael@0: /** The caret moved from one section to the next.
michael@0: */
michael@0: IA2_EVENT_SECTION_CHANGED,
michael@0:
michael@0: /** A table caption changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_CAPTION_CHANGED,
michael@0:
michael@0: /** A table's column description changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
michael@0:
michael@0: /** A table's column header changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
michael@0:
michael@0: /** A table's data changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_MODEL_CHANGED,
michael@0:
michael@0: /** A table's row description changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
michael@0:
michael@0: /** A table's row header changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
michael@0:
michael@0: /** A table's summary changed.
michael@0: */
michael@0: IA2_EVENT_TABLE_SUMMARY_CHANGED,
michael@0:
michael@0: /** A text object's attributes changed.
michael@0: Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
michael@0: */
michael@0: IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
michael@0:
michael@0: /** The caret has moved to a new position.
michael@0: */
michael@0: IA2_EVENT_TEXT_CARET_MOVED,
michael@0:
michael@0: /** Deprecated. This event is equivalent to ::IA2_EVENT_TEXT_UPDATED.
michael@0: */
michael@0: IA2_EVENT_TEXT_CHANGED,
michael@0:
michael@0: /** The caret moved from one column to the next.
michael@0: */
michael@0: IA2_EVENT_TEXT_COLUMN_CHANGED,
michael@0:
michael@0: /** Text was inserted.
michael@0: */
michael@0: IA2_EVENT_TEXT_INSERTED,
michael@0:
michael@0: /** Text was removed.
michael@0: */
michael@0: IA2_EVENT_TEXT_REMOVED,
michael@0:
michael@0: /** This event indicates general text changes, i.e. changes to text that are
michael@0: exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI
michael@0: which does not have an equivalent event, servers can alternatively fire
michael@0: ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED.
michael@0: */
michael@0: IA2_EVENT_TEXT_UPDATED,
michael@0:
michael@0: /** The text selection changed. Later versions of Microsoft development environments
michael@0: have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers
michael@0: should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise.
michael@0: Clients should be prepared to respond to either event.
michael@0:
michael@0: */
michael@0: IA2_EVENT_TEXT_SELECTION_CHANGED,
michael@0:
michael@0: /** A visible data event indicates the change of the visual appearance
michael@0: of an accessible object. This includes for example most of the
michael@0: attributes available via the IAccessibleComponent interface.
michael@0: */
michael@0: IA2_EVENT_VISIBLE_DATA_CHANGED
michael@0:
michael@0: };