summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2011-11-30 09:48:51 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-30 12:12:08 +0100
commit84e66f69ae2a2e0b70c8e51c93b6991bf3437e6d (patch)
tree64ec87aefef2c5749bd13b27a3501a3ce42b96ab /src/widgets
parent55c3799bd32d6fd8ec4b5fa26ebe3e5fdbbc91b3 (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/widgets')
-rw-r--r--src/widgets/accessible/qaccessiblewidget.cpp7
-rw-r--r--src/widgets/accessible/qaccessiblewidget.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp
index 9afb45c45e..30b21d3146 100644
--- a/src/widgets/accessible/qaccessiblewidget.cpp
+++ b/src/widgets/accessible/qaccessiblewidget.cpp
@@ -875,6 +875,13 @@ QColor QAccessibleWidget::backgroundColor() const
return widget()->palette().color(widget()->backgroundRole());
}
+void *QAccessibleWidget::interface_cast(QAccessible::InterfaceType t)
+{
+ if (t == QAccessible::ActionInterface)
+ return static_cast<QAccessibleActionInterface*>(this);
+ return 0;
+}
+
QT_END_NAMESPACE
#endif //QT_NO_ACCESSIBILITY
diff --git a/src/widgets/accessible/qaccessiblewidget.h b/src/widgets/accessible/qaccessiblewidget.h
index 87edf75f0e..cc86c46581 100644
--- a/src/widgets/accessible/qaccessiblewidget.h
+++ b/src/widgets/accessible/qaccessiblewidget.h
@@ -56,7 +56,6 @@ class QAccessibleWidgetPrivate;
class Q_WIDGETS_EXPORT QAccessibleWidget : public QAccessibleObject, public QAccessibleActionInterface
{
- Q_ACCESSIBLE_OBJECT
public:
explicit QAccessibleWidget(QWidget *o, Role r = Client, const QString& name = QString());
@@ -79,6 +78,7 @@ public:
QColor foregroundColor() const;
QColor backgroundColor() const;
+ void *interface_cast(QAccessible::InterfaceType t);
// QAccessibleActionInterface
QStringList actionNames() const;