summaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/widgets/simplewidgets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/accessible/widgets/simplewidgets.cpp')
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index f83c9fe30e..28661f0fc3 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -474,6 +474,13 @@ int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterfa
return QAccessibleWidget::navigate(rel, entry, target);
}
+void *QAccessibleDisplay::interface_cast(QAccessible::InterfaceType t)
+{
+ if (t == QAccessible::ImageInterface)
+ return static_cast<QAccessibleImageInterface*>(this);
+ return QAccessibleWidget::interface_cast(t);
+}
+
/*! \internal */
QString QAccessibleDisplay::imageDescription()
{
@@ -614,6 +621,15 @@ QVariant QAccessibleLineEdit::invokeMethod(QAccessible::Method method,
}
}
+void *QAccessibleLineEdit::interface_cast(QAccessible::InterfaceType t)
+{
+ if (t == QAccessible::TextInterface)
+ return static_cast<QAccessibleTextInterface*>(this);
+ else if (t == QAccessible::EditableTextInterface)
+ return static_cast<QAccessibleEditableTextInterface*>(this);
+ return QAccessibleWidget::interface_cast(t);
+}
+
void QAccessibleLineEdit::addSelection(int startOffset, int endOffset)
{
setSelection(0, startOffset, endOffset);
@@ -743,6 +759,13 @@ QAccessibleProgressBar::QAccessibleProgressBar(QWidget *o)
Q_ASSERT(progressBar());
}
+void *QAccessibleProgressBar::interface_cast(QAccessible::InterfaceType t)
+{
+ if (t == QAccessible::ValueInterface)
+ return static_cast<QAccessibleValueInterface*>(this);
+ return QAccessibleDisplay::interface_cast(t);
+}
+
QVariant QAccessibleProgressBar::currentValue()
{
return progressBar()->value();