Class Accessible
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.-
Constructor Summary
ConstructorDescriptionAccessible
(Accessible parent) Constructs a new instance of this class given its parent. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAction
interface.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAttribute
interface.void
Adds the listener to the collection of listeners who will be notified when an accessible client asks for custom control specific information.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleEditableText
interface.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleHyperlink
interface.void
addAccessibleListener
(AccessibleListener listener) 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.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTableCell
interface.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTable
interface.void
Adds the listener to the collection of listeners who will be notified when an accessible client asks for custom text control specific information.void
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleValue
interface.void
addRelation
(int type, Accessible target) Adds a relation with the specified type and target to the receiver's set of relations.void
dispose()
Disposes of the operating system resources associated with the receiver, and removes the receiver from its parent's list of children.Returns the control for this Accessible object.void
Invokes platform specific functionality to dispose an accessible object.static Accessible
internal_new_Accessible
(Control control) Invokes platform specific functionality to allocate a new accessible object.int
internal_WM_GETOBJECT
(int wParam, int lParam) Invokes platform specific functionality to handle a window message.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAction
interface.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAttribute
interface.void
Removes the listener from the collection of listeners who will be notified when an accessible client asks for custom control specific information.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleEditableText
interface.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleHyperlink
interface.void
removeAccessibleListener
(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.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTableCell
interface.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTable
interface.void
Removes the listener from the collection of listeners who will be notified when an accessible client asks for custom text control specific information.void
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleValue
interface.void
removeRelation
(int type, Accessible target) Removes the relation with the specified type and target from the receiver's set of relations.void
Sends a message to accessible clients that the child selection within a custom container control has changed.void
Sends a message with event-specific data to accessible clients indicating that something has changed within a custom control.void
setFocus
(int childID) Sends a message to accessible clients indicating that the focus has changed within a custom control.void
textCaretMoved
(int index) Sends a message to accessible clients that the text caret has moved within a custom control.void
textChanged
(int type, int startIndex, int length) Sends a message to accessible clients that the text within a custom control has changed.void
Sends a message to accessible clients that the text selection has changed within a custom control.
-
Constructor Details
-
Accessible
Constructs a new instance of this class given its parent.- Parameters:
parent
- the Accessible parent, which must not be null- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parent is null
- See Also:
-
-
Method Details
-
internal_new_Accessible
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.- Parameters:
control
- the control to get the accessible object for- Returns:
- the platform specific accessible object
-
addAccessibleListener
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 theAccessibleListener
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked for a name, description, help, or keyboard shortcut string- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleListener
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.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked for a name, description, help, or keyboard shortcut string- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleControlListener
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 theAccessibleControlListener
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked for custom control specific information- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleControlListener
Removes the listener from the collection of listeners who will be notified when an accessible client asks for custom control specific information.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked for custom control specific information- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleTextListener
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 theAccessibleTextListener
andAccessibleTextExtendedListener
interfaces.- Parameters:
listener
- the listener that should be notified when the receiver is asked for custom text control specific information- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleTextListener
Removes the listener from the collection of listeners who will be notified when an accessible client asks for custom text control specific information.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked for custom text control specific information- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleActionListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAction
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleAction
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleEditableTextListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleEditableText
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleEditableText
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleHyperlinkListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleHyperlink
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleHyperlink
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleTableListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTable
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleTable
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleTableCellListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTableCell
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleTableCell
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleValueListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleValue
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleValue
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addAccessibleAttributeListener
Adds the listener to the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAttribute
interface.- Parameters:
listener
- the listener that should be notified when the receiver is asked forAccessibleAttribute
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
addRelation
Adds a relation with the specified type and target to the receiver's set of relations.- Parameters:
type
- anACC
constant beginning with RELATION_* indicating the type of relationtarget
- the accessible that is the target for this relation
-
dispose
public void dispose()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 allAccessible
instances associated with a control are released when the control is disposed. It is also not necessary to call this for instances ofAccessible
that were retrieved withControl.getAccessible()
. -
getControl
Returns the control for this Accessible object.- Returns:
- the receiver's control
-
removeAccessibleActionListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAction
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleAction
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleEditableTextListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleEditableText
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleEditableText
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleHyperlinkListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleHyperlink
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleHyperlink
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleTableListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTable
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleTable
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleTableCellListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleTableCell
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleTableCell
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleValueListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleValue
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleValue
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeAccessibleAttributeListener
Removes the listener from the collection of listeners that will be notified when an accessible client asks for any of the properties defined in theAccessibleAttribute
interface.- Parameters:
listener
- the listener that should no longer be notified when the receiver is asked forAccessibleAttribute
interface properties- Throws:
IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener is null
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 Also:
-
removeRelation
Removes the relation with the specified type and target from the receiver's set of relations.- Parameters:
type
- anACC
constant beginning with RELATION_* indicating the type of relationtarget
- the accessible that is the target for this relation
-
sendEvent
Sends a message with event-specific data to accessible clients indicating that something has changed within a custom control.- Parameters:
event
- anACC
constant beginning with EVENT_* indicating the message to sendeventData
- an object containing event-specific data, or null if there is no event-specific data- Throws:
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 Also:
-
ACC.EVENT_ACTION_CHANGED
ACC.EVENT_ATTRIBUTE_CHANGED
ACC.EVENT_DESCRIPTION_CHANGED
ACC.EVENT_DOCUMENT_LOAD_COMPLETE
ACC.EVENT_DOCUMENT_LOAD_STOPPED
ACC.EVENT_DOCUMENT_RELOAD
ACC.EVENT_HYPERLINK_ACTIVATED
ACC.EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED
ACC.EVENT_HYPERLINK_END_INDEX_CHANGED
ACC.EVENT_HYPERLINK_SELECTED_LINK_CHANGED
ACC.EVENT_HYPERLINK_START_INDEX_CHANGED
ACC.EVENT_HYPERTEXT_LINK_COUNT_CHANGED
ACC.EVENT_HYPERTEXT_LINK_SELECTED
ACC.EVENT_LOCATION_CHANGED
ACC.EVENT_NAME_CHANGED
ACC.EVENT_PAGE_CHANGED
ACC.EVENT_SECTION_CHANGED
ACC.EVENT_SELECTION_CHANGED
ACC.EVENT_STATE_CHANGED
ACC.EVENT_TABLE_CAPTION_CHANGED
ACC.EVENT_TABLE_CHANGED
ACC.EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
ACC.EVENT_TABLE_COLUMN_HEADER_CHANGED
ACC.EVENT_TABLE_ROW_DESCRIPTION_CHANGED
ACC.EVENT_TABLE_ROW_HEADER_CHANGED
ACC.EVENT_TABLE_SUMMARY_CHANGED
ACC.EVENT_TEXT_ATTRIBUTE_CHANGED
ACC.EVENT_TEXT_CARET_MOVED
ACC.EVENT_TEXT_CHANGED
ACC.EVENT_TEXT_COLUMN_CHANGED
ACC.EVENT_TEXT_SELECTION_CHANGED
ACC.EVENT_VALUE_CHANGED
-
selectionChanged
public void selectionChanged()Sends a message to accessible clients that the child selection within a custom container control has changed.- Throws:
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
-
textCaretMoved
public void textCaretMoved(int index) Sends a message to accessible clients that the text caret has moved within a custom control.- Parameters:
index
- the new caret index within the control- Throws:
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
-
textChanged
public void textChanged(int type, int startIndex, int length) Sends a message to accessible clients that the text within a custom control has changed.- Parameters:
type
- the type of change, one ofACC.TEXT_INSERT
orACC.TEXT_DELETE
startIndex
- the text index within the control where the insertion or deletion beginslength
- the non-negative length in characters of the insertion or deletion- Throws:
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 Also:
-
textSelectionChanged
public void textSelectionChanged()Sends a message to accessible clients that the text selection has changed within a custom control.- Throws:
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
-
setFocus
public void setFocus(int childID) Sends a message to accessible clients indicating that the focus has changed within a custom control.- Parameters:
childID
- an identifier specifying a child of the control- Throws:
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
-
internal_dispose_Accessible
public void internal_dispose_Accessible()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. -
internal_WM_GETOBJECT
public int internal_WM_GETOBJECT(int wParam, int lParam) 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.
-