aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/quick/qaccessiblequickitem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/accessible/quick/qaccessiblequickitem.h')
-rw-r--r--src/plugins/accessible/quick/qaccessiblequickitem.h55
1 files changed, 39 insertions, 16 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickitem.h b/src/plugins/accessible/quick/qaccessiblequickitem.h
index 0d31749ee0..46f573cc75 100644
--- a/src/plugins/accessible/quick/qaccessiblequickitem.h
+++ b/src/plugins/accessible/quick/qaccessiblequickitem.h
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_ACCESSIBILITY
-class QAccessibleQuickItem : public QQmlAccessible
+class QAccessibleQuickItem : public QQmlAccessible, public QAccessibleValueInterface, public QAccessibleTextInterface
{
public:
QAccessibleQuickItem(QQuickItem *item);
@@ -72,28 +72,51 @@ public:
bool isAccessible() const;
-protected:
- QQuickItem *item() const { return static_cast<QQuickItem*>(object()); }
-};
-
-QRect itemScreenRect(QQuickItem *item);
-
-
-class QAccessibleQuickItemValueInterface: public QAccessibleQuickItem, public QAccessibleValueInterface
-{
-public:
- QAccessibleQuickItemValueInterface(QQuickItem *item) : QAccessibleQuickItem(item)
- {}
-
- void *interface_cast(QAccessible::InterfaceType t);
-
+ // Value Interface
QVariant currentValue() const;
void setCurrentValue(const QVariant &value);
QVariant maximumValue() const;
QVariant minimumValue() const;
QVariant minimumStepSize() const;
+
+
+ // Text Interface
+ // selection (ignored for now)
+ void selection(int selectionIndex, int *startOffset, int *endOffset) const { *startOffset = 0; *endOffset = 0; }
+ int selectionCount() const { return 0; }
+ void addSelection(int startOffset, int endOffset) {}
+ void removeSelection(int selectionIndex) {}
+ void setSelection(int selectionIndex, int startOffset, int endOffset) {}
+
+ // cursor
+ int cursorPosition() const { return 0; }
+ void setCursorPosition(int position) {}
+
+ // text
+ QString text(int startOffset, int endOffset) const { return text(QAccessible::Name).mid(startOffset, endOffset - startOffset); }
+// QString textBeforeOffset(int offset, QAccessible2::BoundaryType boundaryType,
+// int *startOffset, int *endOffset) const;
+// QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
+// int *startOffset, int *endOffset) const;
+// QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
+// int *startOffset, int *endOffset) const;
+ int characterCount() const { return text(QAccessible::Name).count(); }
+
+ // character <-> geometry
+ QRect characterRect(int offset) const { return QRect(); }
+ int offsetAtPoint(const QPoint &point) const { return -1; }
+
+ void scrollToSubstring(int startIndex, int endIndex) {}
+ QString attributes(int offset, int *startOffset, int *endOffset) const { return QString(); }
+
+protected:
+ QQuickItem *item() const { return static_cast<QQuickItem*>(object()); }
+ void *interface_cast(QAccessible::InterfaceType t);
};
+QRect itemScreenRect(QQuickItem *item);
+
+
#endif // QT_NO_ACCESSIBILITY
QT_END_NAMESPACE