Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qaccessiblequicktextedit.cpp
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
6
7QT_BEGIN_NAMESPACE
8
9#if QT_CONFIG(accessibility)
10
11QAccessibleQuickTextEdit::QAccessibleQuickTextEdit(QQuickTextEdit *textEdit)
12 : QAccessibleQuickItem(textEdit)
13{
14}
15
16void QAccessibleQuickTextEdit::removeSelection(int selectionIndex)
17{
18 if (selectionCount() == 1 && selectionIndex == 0) {
19 const int cursorPos = textEdit()->cursorPosition();
20 textEdit()->select(cursorPos, cursorPos);
21 }
22}
23
24void QAccessibleQuickTextEdit::setSelection(int selectionIndex, int startOffset, int endOffset)
25{
26 if (selectionIndex == 0)
27 textEdit()->select(startOffset, endOffset);
28}
29
30void *QAccessibleQuickTextEdit::interface_cast(QAccessible::InterfaceType type)
31{
32 // Expose EditableTextInterface based on actual text edit's editability.
33 // Base class QAccessibleQuickItem::interface_cast() handles TextInterface
34 // automatically for role() == EditableText|StaticText|Heading.
35 if ((type == QAccessible::EditableTextInterface) && !textEdit()->isReadOnly())
36 return static_cast<QAccessibleEditableTextInterface *>(this);
37 return QAccessibleQuickItem::interface_cast(type);
38}
39
40void QAccessibleQuickTextEdit::deleteText(int startOffset, int endOffset)
41{
42 textEdit()->remove(startOffset, endOffset);
43}
44
45void QAccessibleQuickTextEdit::insertText(int offset, const QString &text)
46{
47 textEdit()->insert(offset, text);
48}
49
50void QAccessibleQuickTextEdit::replaceText(int startOffset, int endOffset, const QString &text)
51{
52 textEdit()->remove(startOffset, endOffset);
53 textEdit()->insert(startOffset, text);
54}
55
56#endif // accessibility
57
58QT_END_NAMESPACE