From 6f9fb98886c592060fb8c17520c49947659d0817 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 16 Nov 2011 15:41:35 +0100 Subject: [PATCH] Add debug stream for QAccessibleInterface. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I68fddac5a09bbf092c1e38c411d49dfbf640f27d Reviewed-by: Jan-Arve Sæther --- src/gui/accessible/qaccessible.cpp | 28 ++++++++++++++++++++++++++++ src/gui/accessible/qaccessible.h | 4 ++++ 2 files changed, 32 insertions(+) diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index 2de60e1..2aaf669 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -50,6 +50,7 @@ #include #include "qplatformaccessibility_qpa.h" +#include #include #include #include @@ -1224,6 +1225,33 @@ QAccessible2Interface *QAccessibleInterface::cast_helper(QAccessible2::Interface return interface_cast(t); } +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug d, const QAccessibleInterface *iface) +{ + if (!iface) { + d << "QAccessibleInterface(null)"; + return d; + } + d.nospace(); + d << "QAccessibleInterface(" << hex << (void *) iface << dec; + d << " name=" << iface->text(QAccessible::Name) << " "; + d << "role=" << iface->role() << " "; + if (iface->childCount()) + d << "childc=" << iface->childCount() << " "; + if (iface->object()) { + d << "obj=" << iface->object(); + } + bool invisible = iface->state() & QAccessible::Invisible; + if (invisible) { + d << "invisible"; + } else { + d << "rect=" << iface->rect(); + } + d << ")"; + return d.space(); +} +#endif + QT_END_NAMESPACE #endif diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h index cba50f3..7b9b9e1 100644 --- a/src/gui/accessible/qaccessible.h +++ b/src/gui/accessible/qaccessible.h @@ -447,6 +447,10 @@ inline QAccessibleEvent::QAccessibleEvent(Type atype, int achild) #define QAccessibleInterface_iid "com.trolltech.Qt.QAccessibleInterface" Q_DECLARE_INTERFACE(QAccessibleInterface, QAccessibleInterface_iid) +#ifndef QT_NO_DEBUG_STREAM +Q_GUI_EXPORT QDebug operator<<(QDebug d, const QAccessibleInterface *iface); +#endif + #endif // QT_NO_ACCESSIBILITY QT_END_NAMESPACE -- 2.7.4