![JAR search and dependency download from the Maven repository](/logo.png)
org.eclipse.swt.accessibility.Accessible Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.swt.accessibility;
import org.eclipse.swt.SWTException;
import org.eclipse.swt.widgets.Control;
/**
* Instances of this class provide a bridge between application
* code and assistive technology clients. Many platforms provide
* default accessible behavior for most widgets, and this class
* allows that default behavior to be overridden. Applications
* can get the default Accessible object for a control by sending
* it getAccessible
, and then add an accessible listener
* to override simple items like the name and help string, or they
* can add an accessible control listener to override complex items.
* As a rule of thumb, an application would only want to use the
* accessible control listener to implement accessibility for a
* custom control.
*
* @see Control#getAccessible
* @see AccessibleListener
* @see AccessibleEvent
* @see AccessibleControlListener
* @see AccessibleControlEvent
* @see Accessibility snippets
* @see Sample code and further information
*
* @since 1.4
*/
public class Accessible {
Control control;
/**
* Constructs a new instance of this class given its parent.
*
* @param parent the Accessible parent, which must not be null
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the parent is null
*
*
* @see Control#getAccessible
*
*/
public Accessible(Accessible parent) {
}
Accessible(Control control) {
this.control = control;
}
/**
* Invokes platform specific functionality to allocate a new accessible object.
*
* IMPORTANT: This method is not part of the public
* API for Accessible
. It is marked public only so that it
* can be shared within the packages provided by SWT. It is not
* available on all platforms, and should never be called from
* application code.
*
*
* @param control the control to get the accessible object for
* @return the platform specific accessible object
*
* @noreference This method is not intended to be referenced by clients.
*/
public static Accessible internal_new_Accessible(Control control) {
return new Accessible(control);
}
/**
* Adds the listener to the collection of listeners who will
* be notified when an accessible client asks for certain strings,
* such as name, description, help, or keyboard shortcut. The
* listener is notified by sending it one of the messages defined
* in the AccessibleListener
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for a name, description, help, or keyboard shortcut string
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleListener
* @see #removeAccessibleListener
*/
public void addAccessibleListener(AccessibleListener listener) {
}
/**
* Removes the listener from the collection of listeners who will
* be notified when an accessible client asks for certain strings,
* such as name, description, help, or keyboard shortcut.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for a name, description, help, or keyboard shortcut string
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleListener
* @see #addAccessibleListener
*/
public void removeAccessibleListener(AccessibleListener listener) {
}
/**
* Adds the listener to the collection of listeners who will
* be notified when an accessible client asks for custom control
* specific information. The listener is notified by sending it
* one of the messages defined in the AccessibleControlListener
* interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for custom control specific information
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleControlListener
* @see #removeAccessibleControlListener
*/
public void addAccessibleControlListener(AccessibleControlListener listener) {
}
/**
* Removes the listener from the collection of listeners who will
* be notified when an accessible client asks for custom control
* specific information.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for custom control specific information
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleControlListener
* @see #addAccessibleControlListener
*/
public void removeAccessibleControlListener(AccessibleControlListener listener) {
}
/**
* Adds the listener to the collection of listeners who will
* be notified when an accessible client asks for custom text control
* specific information. The listener is notified by sending it
* one of the messages defined in the AccessibleTextListener
* and AccessibleTextExtendedListener
interfaces.
*
* @param listener the listener that should be notified when the receiver
* is asked for custom text control specific information
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTextListener
* @see AccessibleTextExtendedListener
* @see #removeAccessibleTextListener
*
*/
public void addAccessibleTextListener (AccessibleTextListener listener) {
}
/**
* Removes the listener from the collection of listeners who will
* be notified when an accessible client asks for custom text control
* specific information.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for custom text control specific information
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTextListener
* @see AccessibleTextExtendedListener
* @see #addAccessibleTextListener
*
*/
public void removeAccessibleTextListener (AccessibleTextListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleAction
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleAction
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleActionListener
* @see #removeAccessibleActionListener
*
*/
public void addAccessibleActionListener(AccessibleActionListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleEditableText
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleEditableText
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleEditableTextListener
* @see #removeAccessibleEditableTextListener
*
*/
public void addAccessibleEditableTextListener(AccessibleEditableTextListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleHyperlink
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleHyperlink
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleHyperlinkListener
* @see #removeAccessibleHyperlinkListener
*
*/
public void addAccessibleHyperlinkListener(AccessibleHyperlinkListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleTable
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleTable
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTableListener
* @see #removeAccessibleTableListener
*
*/
public void addAccessibleTableListener(AccessibleTableListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleTableCell
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleTableCell
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTableCellListener
* @see #removeAccessibleTableCellListener
*
*/
public void addAccessibleTableCellListener(AccessibleTableCellListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleValue
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleValue
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleValueListener
* @see #removeAccessibleValueListener
*
*/
public void addAccessibleValueListener(AccessibleValueListener listener) {
}
/**
* Adds the listener to the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleAttribute
interface.
*
* @param listener the listener that should be notified when the receiver
* is asked for AccessibleAttribute
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleAttributeListener
* @see #removeAccessibleAttributeListener
*
*/
public void addAccessibleAttributeListener(AccessibleAttributeListener listener) {
}
/**
* Adds a relation with the specified type and target
* to the receiver's set of relations.
*
* @param type an ACC
constant beginning with RELATION_* indicating the type of relation
* @param target the accessible that is the target for this relation
*
*/
public void addRelation(int type, Accessible target) {
}
/**
* Disposes of the operating system resources associated with
* the receiver, and removes the receiver from its parent's
* list of children.
*
* This method should be called when an accessible that was created
* with the public constructor Accessible(Accessible parent)
* is no longer needed. You do not need to call this when the receiver's
* control is disposed, because all Accessible
instances
* associated with a control are released when the control is disposed.
* It is also not necessary to call this for instances of Accessible
* that were retrieved with Control.getAccessible()
.
*
*
*/
public void dispose () {
}
/**
* Returns the control for this Accessible object.
*
* @return the receiver's control
*/
public Control getControl() {
return control;
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleAction
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleAction
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleActionListener
* @see #addAccessibleActionListener
*
*/
public void removeAccessibleActionListener(AccessibleActionListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleEditableText
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleEditableText
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleEditableTextListener
* @see #addAccessibleEditableTextListener
*
*/
public void removeAccessibleEditableTextListener(AccessibleEditableTextListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleHyperlink
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleHyperlink
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleHyperlinkListener
* @see #addAccessibleHyperlinkListener
*
*/
public void removeAccessibleHyperlinkListener(AccessibleHyperlinkListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleTable
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleTable
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTableListener
* @see #addAccessibleTableListener
*
*/
public void removeAccessibleTableListener(AccessibleTableListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleTableCell
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleTableCell
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleTableCellListener
* @see #addAccessibleTableCellListener
*
*/
public void removeAccessibleTableCellListener(AccessibleTableCellListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleValue
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleValue
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleValueListener
* @see #addAccessibleValueListener
*
*/
public void removeAccessibleValueListener(AccessibleValueListener listener) {
}
/**
* Removes the listener from the collection of listeners that will be
* notified when an accessible client asks for any of the properties
* defined in the AccessibleAttribute
interface.
*
* @param listener the listener that should no longer be notified when the receiver
* is asked for AccessibleAttribute
interface properties
*
* @exception IllegalArgumentException
* - ERROR_NULL_ARGUMENT - if the listener is null
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see AccessibleAttributeListener
* @see #addAccessibleAttributeListener
*
*/
public void removeAccessibleAttributeListener(AccessibleAttributeListener listener) {
}
/**
* Removes the relation with the specified type and target
* from the receiver's set of relations.
*
* @param type an ACC
constant beginning with RELATION_* indicating the type of relation
* @param target the accessible that is the target for this relation
*
*/
public void removeRelation(int type, Accessible target) {
}
/**
* Sends a message with event-specific data to accessible clients
* indicating that something has changed within a custom control.
*
* @param event an ACC
constant beginning with EVENT_* indicating the message to send
* @param eventData an object containing event-specific data, or null if there is no event-specific data
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see ACC#EVENT_ACTION_CHANGED
* @see ACC#EVENT_ATTRIBUTE_CHANGED
* @see ACC#EVENT_DESCRIPTION_CHANGED
* @see ACC#EVENT_DOCUMENT_LOAD_COMPLETE
* @see ACC#EVENT_DOCUMENT_LOAD_STOPPED
* @see ACC#EVENT_DOCUMENT_RELOAD
* @see ACC#EVENT_HYPERLINK_ACTIVATED
* @see ACC#EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED
* @see ACC#EVENT_HYPERLINK_END_INDEX_CHANGED
* @see ACC#EVENT_HYPERLINK_SELECTED_LINK_CHANGED
* @see ACC#EVENT_HYPERLINK_START_INDEX_CHANGED
* @see ACC#EVENT_HYPERTEXT_LINK_COUNT_CHANGED
* @see ACC#EVENT_HYPERTEXT_LINK_SELECTED
* @see ACC#EVENT_LOCATION_CHANGED
* @see ACC#EVENT_NAME_CHANGED
* @see ACC#EVENT_PAGE_CHANGED
* @see ACC#EVENT_SECTION_CHANGED
* @see ACC#EVENT_SELECTION_CHANGED
* @see ACC#EVENT_STATE_CHANGED
* @see ACC#EVENT_TABLE_CAPTION_CHANGED
* @see ACC#EVENT_TABLE_CHANGED
* @see ACC#EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
* @see ACC#EVENT_TABLE_COLUMN_HEADER_CHANGED
* @see ACC#EVENT_TABLE_ROW_DESCRIPTION_CHANGED
* @see ACC#EVENT_TABLE_ROW_HEADER_CHANGED
* @see ACC#EVENT_TABLE_SUMMARY_CHANGED
* @see ACC#EVENT_TEXT_ATTRIBUTE_CHANGED
* @see ACC#EVENT_TEXT_CARET_MOVED
* @see ACC#EVENT_TEXT_CHANGED
* @see ACC#EVENT_TEXT_COLUMN_CHANGED
* @see ACC#EVENT_TEXT_SELECTION_CHANGED
* @see ACC#EVENT_VALUE_CHANGED
*
*/
public void sendEvent(int event, Object eventData) {
}
/**
* Sends a message to accessible clients that the child selection
* within a custom container control has changed.
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
*/
public void selectionChanged () {
}
/**
* Sends a message to accessible clients that the text
* caret has moved within a custom control.
*
* @param index the new caret index within the control
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
*/
public void textCaretMoved (int index) {
}
/**
* Sends a message to accessible clients that the text
* within a custom control has changed.
*
* @param type the type of change, one of ACC.TEXT_INSERT
* or ACC.TEXT_DELETE
* @param startIndex the text index within the control where the insertion or deletion begins
* @param length the non-negative length in characters of the insertion or deletion
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
* @see ACC#TEXT_INSERT
* @see ACC#TEXT_DELETE
*
*/
public void textChanged (int type, int startIndex, int length) {
}
/**
* Sends a message to accessible clients that the text
* selection has changed within a custom control.
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*
*/
public void textSelectionChanged () {
}
/**
* Sends a message to accessible clients indicating that the focus
* has changed within a custom control.
*
* @param childID an identifier specifying a child of the control
*
* @exception SWTException
* - ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed
* - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control
*
*/
public void setFocus(int childID) {
}
/**
* Invokes platform specific functionality to dispose an accessible object.
*
* IMPORTANT: This method is not part of the public
* API for Accessible
. It is marked public only so that it
* can be shared within the packages provided by SWT. It is not
* available on all platforms, and should never be called from
* application code.
*
*
* @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_Accessible() {
}
/**
* Invokes platform specific functionality to handle a window message.
*
* IMPORTANT: This method is not part of the public
* API for Accessible
. It is marked public only so that it
* can be shared within the packages provided by SWT. It is not
* available on all platforms, and should never be called from
* application code.
*
*
* @noreference This method is not intended to be referenced by clients.
*/
public int internal_WM_GETOBJECT (int wParam, int lParam) {
return 0;
}
}