summaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/widgets/qaccessiblewidgets.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/accessible/widgets/qaccessiblewidgets.h')
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.h59
1 files changed, 44 insertions, 15 deletions
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h
index dba645570a..e403465ba3 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.h
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h
@@ -48,6 +48,7 @@
#ifndef QT_NO_ACCESSIBILITY
#include <QtCore/QPointer>
+#include <QtCore/QPair>
QT_BEGIN_NAMESPACE
@@ -63,19 +64,16 @@ class QAbstractItemView;
class QDockWidget;
class QDockWidgetLayout;
class QMainWindow;
+class QTextCursor;
+class QTextDocument;
-#ifndef QT_NO_TEXTEDIT
-class QAccessibleTextEdit : public QAccessibleWidget, public QAccessibleTextInterface,
- public QAccessibleEditableTextInterface
+#ifndef QT_NO_CURSOR
+class QAccessibleTextWidget : public QAccessibleWidget,
+ public QAccessibleTextInterface,
+ public QAccessibleEditableTextInterface
{
public:
- explicit QAccessibleTextEdit(QWidget *o);
-
- QString text(QAccessible::Text t) const;
- void setText(QAccessible::Text t, const QString &text);
- QAccessible::State state() const;
-
- void *interface_cast(QAccessible::InterfaceType t);
+ QAccessibleTextWidget(QWidget *o, QAccessible::Role r = QAccessible::EditableText, const QString &name = QString());
// QAccessibleTextInterface
void addSelection(int startOffset, int endOffset);
@@ -86,17 +84,17 @@ public:
int offsetAtPoint(const QPoint &point) const;
void selection(int selectionIndex, int *startOffset, int *endOffset) const;
QString text(int startOffset, int endOffset) const;
- QString textBeforeOffset (int offset, QAccessible2::BoundaryType boundaryType,
- int *startOffset, int *endOffset) const;
+ QString textBeforeOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ int *startOffset, int *endOffset) const;
QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
- int *startOffset, int *endOffset) const;
+ int *startOffset, int *endOffset) const;
QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
- int *startOffset, int *endOffset) const;
+ int *startOffset, int *endOffset) const;
void removeSelection(int selectionIndex);
void setCursorPosition(int position);
void setSelection(int selectionIndex, int startOffset, int endOffset);
int characterCount() const;
- void scrollToSubstring(int startIndex, int endIndex);
+
// QAccessibleEditableTextInterface
void deleteText(int startOffset, int endOffset);
@@ -104,8 +102,39 @@ public:
void replaceText(int startOffset, int endOffset, const QString &text);
protected:
+ QTextCursor textCursorForRange(int startOffset, int endOffset) const;
+ QPair<int, int> getBoundaries(int offset, QAccessible2::BoundaryType boundaryType) const;
+ virtual QPoint scrollBarsCurrentPosition() const;
+ virtual QTextCursor textCursor() const = 0;
+ virtual void setTextCursor(const QTextCursor &) = 0;
+ virtual QTextDocument *textDocument() const = 0;
+ virtual QWidget *viewport() const = 0;
+};
+#endif //QT_NO_CURSOR
+
+#ifndef QT_NO_TEXTEDIT
+class QAccessibleTextEdit : public QAccessibleTextWidget
+{
+public:
+ explicit QAccessibleTextEdit(QWidget *o);
+
+ QString text(QAccessible::Text t) const;
+ void setText(QAccessible::Text t, const QString &text);
+ QAccessible::State state() const;
+
+ void *interface_cast(QAccessible::InterfaceType t);
+
+ // QAccessibleTextInterface
+ void scrollToSubstring(int startIndex, int endIndex);
+
+protected:
QTextEdit *textEdit() const;
+ QPoint scrollBarsCurrentPosition() const;
+ QTextCursor textCursor() const;
+ void setTextCursor(const QTextCursor &textCursor);
+ QTextDocument *textDocument() const;
+ QWidget *viewport() const;
private:
int childOffset;
};