diff options
author | Jan-Arve Saether <jan-arve.saether@nokia.com> | 2011-11-30 09:48:51 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-30 12:12:08 +0100 |
commit | 84e66f69ae2a2e0b70c8e51c93b6991bf3437e6d (patch) | |
tree | 64ec87aefef2c5749bd13b27a3501a3ce42b96ab /src/plugins/accessible/widgets/simplewidgets.cpp | |
parent | 55c3799bd32d6fd8ec4b5fa26ebe3e5fdbbc91b3 (diff) |
Fix casting. Casting is now done through the virtual interface_cast.
Change interface_cast to return void* to avoid using virtual
inheritance.
Get rid of the magic Q_ACCESSIBLE_OBJECT macro.
Change-Id: I94b824aef53f2ba657d39d406b387c8681d47ee4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'src/plugins/accessible/widgets/simplewidgets.cpp')
-rw-r--r-- | src/plugins/accessible/widgets/simplewidgets.cpp | 23 |
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(); |