QAccessibleTextInterface Class

The QAccessibleTextInterface class implements support for text handling. More...

Header: #include <QAccessibleTextInterface>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Public Functions

virtual ~QAccessibleTextInterface()
virtual void addSelection(int startOffset, int endOffset) = 0
virtual QString attributes(int offset, int *startOffset, int *endOffset) const = 0
virtual int characterCount() const = 0
virtual QRect characterRect(int offset) const = 0
virtual int cursorPosition() const = 0
virtual int offsetAtPoint(const QPoint &point) const = 0
virtual void removeSelection(int selectionIndex) = 0
virtual void scrollToSubstring(int startIndex, int endIndex) = 0
virtual void selection(int selectionIndex, int *startOffset, int *endOffset) const = 0
virtual int selectionCount() const = 0
virtual void setCursorPosition(int position) = 0
virtual void setSelection(int selectionIndex, int startOffset, int endOffset) = 0
virtual QString text(int startOffset, int endOffset) const = 0
virtual QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
virtual QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const
virtual QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

Detailed Description

This interface corresponds to the IAccessibleText interface. It should be implemented for widgets that display more text than a plain label. Labels should be represented by only QAccessibleInterface and return their text as name (QAccessibleInterface::text() with QAccessible::Name as type). The QAccessibleTextInterface is typically for text that a screen reader might want to read line by line, and for widgets that support text selection and input. This interface is, for example, implemented for QLineEdit.

IAccessible2 Specification

Member Function Documentation

[virtual] QAccessibleTextInterface::~QAccessibleTextInterface()

Destroys the QAccessibleTextInterface.

[pure virtual] void QAccessibleTextInterface::addSelection(int startOffset, int endOffset)

Select the text from startOffset to endOffset. The startOffset is the first character that will be selected. The endOffset is the first character that will not be selected.

When the object supports multiple selections (e.g. in a word processor), this adds a new selection, otherwise it replaces the previous selection.

The selection will be endOffset - startOffset characters long.

[pure virtual] QString QAccessibleTextInterface::attributes(int offset, int *startOffset, int *endOffset) const

Returns the text attributes at the position offset. In addition the range of the attributes is returned in startOffset and endOffset.

[pure virtual] int QAccessibleTextInterface::characterCount() const

Returns the length of the text (total size including spaces).

[pure virtual] QRect QAccessibleTextInterface::characterRect(int offset) const

Returns the position and size of the character at position offset in screen coordinates.

[pure virtual] int QAccessibleTextInterface::cursorPosition() const

Returns the current cursor position.

See also setCursorPosition().

[pure virtual] int QAccessibleTextInterface::offsetAtPoint(const QPoint &point) const

Returns the offset of the character at the point in screen coordinates.

[pure virtual] void QAccessibleTextInterface::removeSelection(int selectionIndex)

Clears the selection with index selectionIndex.

[pure virtual] void QAccessibleTextInterface::scrollToSubstring(int startIndex, int endIndex)

Ensures that the text between startIndex and endIndex is visible.

[pure virtual] void QAccessibleTextInterface::selection(int selectionIndex, int *startOffset, int *endOffset) const

Returns a selection. The size of the selection is returned in startOffset and endOffset. If there is no selection both startOffset and endOffset are nullptr.

The accessibility APIs support multiple selections. For most widgets though, only one selection is supported with selectionIndex equal to 0.

See also setSelection().

[pure virtual] int QAccessibleTextInterface::selectionCount() const

Returns the number of selections in this text.

[pure virtual] void QAccessibleTextInterface::setCursorPosition(int position)

Moves the cursor to position.

See also cursorPosition().

[pure virtual] void QAccessibleTextInterface::setSelection(int selectionIndex, int startOffset, int endOffset)

Set the selection selectionIndex to the range from startOffset to endOffset.

See also selection(), addSelection(), and removeSelection().

[pure virtual] QString QAccessibleTextInterface::text(int startOffset, int endOffset) const

Returns the text from startOffset to endOffset. The startOffset is the first character that will be returned. The endOffset is the first character that will not be returned.

[virtual] QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

Returns the text item of type boundaryType that is right after offset offset and sets startOffset and endOffset values to the start and end positions of that item; returns an empty string if there is no such an item. Sets startOffset and endOffset values to -1 on error.

This default implementation is provided for small text edits. A word processor or text editor should provide their own efficient implementations. This function makes no distinction between paragraphs and lines.

Note: this function can not take the cursor position into account. By convention an offset of -2 means that this function should use the cursor position as offset. Thus an offset of -2 must be converted to the cursor position before calling this function. An offset of -1 is used for the text length and custom implementations of this function have to return the result as if the length was passed in as offset.

[virtual] QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

Returns the text item of type boundaryType at offset offset and sets startOffset and endOffset values to the start and end positions of that item; returns an empty string if there is no such an item. Sets startOffset and endOffset values to -1 on error.

This default implementation is provided for small text edits. A word processor or text editor should provide their own efficient implementations. This function makes no distinction between paragraphs and lines.

Note: this function can not take the cursor position into account. By convention an offset of -2 means that this function should use the cursor position as offset. Thus an offset of -2 must be converted to the cursor position before calling this function. An offset of -1 is used for the text length and custom implementations of this function have to return the result as if the length was passed in as offset.

[virtual] QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int *startOffset, int *endOffset) const

Returns the text item of type boundaryType that is close to offset offset and sets startOffset and endOffset values to the start and end positions of that item; returns an empty string if there is no such an item. Sets startOffset and endOffset values to -1 on error.

This default implementation is provided for small text edits. A word processor or text editor should provide their own efficient implementations. This function makes no distinction between paragraphs and lines.

Note: this function can not take the cursor position into account. By convention an offset of -2 means that this function should use the cursor position as offset. Thus an offset of -2 must be converted to the cursor position before calling this function. An offset of -1 is used for the text length and custom implementations of this function have to return the result as if the length was passed in as offset.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qaccessibletextinterface.html