diff -r 56cd8111b7f7 -r 41300fa6a67c src/3rdparty/phonon/mmf/objectdump_symbian.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/3rdparty/phonon/mmf/objectdump_symbian.cpp Tue Feb 02 00:43:10 2010 +0200
@@ -0,0 +1,160 @@
+/* This file is part of the KDE project.
+
+Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+
+This library is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 2.1 or 3 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this library. If not, see .
+
+*/
+
+#include
+#include
+#include
+#include "objectdump_symbian.h"
+
+#include // to access QWExtra
+
+QT_BEGIN_NAMESPACE
+
+namespace ObjectDump
+{
+namespace Symbian
+{
+
+QList QAnnotatorWidget::annotation(const QObject& object)
+{
+ QList result;
+
+ const QWidget* widget = qobject_cast(&object);
+ if (widget) {
+
+ const QWExtra* extra = qt_widget_private(const_cast(widget))->extraData();
+
+ if (extra) {
+
+ QByteArray array;
+ QTextStream stream(&array);
+
+ stream << "widget (Symbian): ";
+ stream << "activated " << extra->activated << ' ';
+ stream << "nativePaintMode " << extra->nativePaintMode << ' ';
+
+ stream.flush();
+ result.append(array);
+ }
+ }
+
+ return result;
+}
+
+QList QAnnotatorControl::annotation(const QObject& object)
+{
+ QList result;
+
+ const QWidget* widget = qobject_cast(&object);
+ if (widget) {
+
+ const CCoeControl* control = widget->effectiveWinId();
+ if (control) {
+
+ QByteArray array;
+ QTextStream stream(&array);
+
+ stream << "control: " << control << ' ';
+ stream << "parent " << control->Parent() << ' ';
+
+ if (control->IsVisible())
+ stream << "visible ";
+ else
+ stream << "invisible ";
+
+ stream << control->Position().iX << ',' << control->Position().iY << ' ';
+ stream << control->Size().iWidth << 'x' << control->Size().iHeight;
+
+ if (control->OwnsWindow())
+ stream << " ownsWindow ";
+
+ stream.flush();
+ result.append(array);
+ }
+ }
+
+ return result;
+}
+
+QList QAnnotatorWindow::annotation(const QObject& object)
+{
+ QList result;
+
+ const QWidget* widget = qobject_cast(&object);
+ if (widget) {
+
+ const CCoeControl* control = widget->effectiveWinId();
+
+ if (control) {
+ RDrawableWindow *const window = control->DrawableWindow();
+ if(window) {
+ QByteArray array;
+ QTextStream stream(&array);
+
+ stream << "window: ";
+
+ // Server-side address of CWsWindow object
+ // This is useful for correlation with the window tree dumped by the window
+ // server (see RWsSession::LogCommand).
+ // Cast to a void pointer so that log output is in hexadecimal format.
+ stream << "srv " << reinterpret_cast(window->WsHandle()) << ' ';
+
+ stream << "group " << window->WindowGroupId() << ' ';
+
+ // Client-side handle to the parent window.
+ // Cast to a void pointer so that log output is in hexadecimal format.
+ stream << "parent " << reinterpret_cast(window->Parent()) << ' ';
+
+ stream << window->Position().iX << ',' << window->Position().iY << ' ';
+ stream << '(' << window->AbsPosition().iX << ',' << window->AbsPosition().iY << ") ";
+ stream << window->Size().iWidth << 'x' << window->Size().iHeight << ' ';
+
+ const TDisplayMode displayMode = window->DisplayMode();
+ stream << "mode " << displayMode << ' ';
+
+ stream << "ord " << window->OrdinalPosition();
+
+ stream.flush();
+ result.append(array);
+ }
+ }
+ }
+
+ return result;
+}
+
+} // namespace Symbian
+
+void addDefaultAnnotators_sys(QDumper& dumper)
+{
+ dumper.addAnnotator(new Symbian::QAnnotatorWidget);
+ dumper.addAnnotator(new Symbian::QAnnotatorControl);
+ dumper.addAnnotator(new Symbian::QAnnotatorWindow);
+}
+
+void addDefaultAnnotators_sys(QVisitor& visitor)
+{
+ visitor.addAnnotator(new Symbian::QAnnotatorWidget);
+ visitor.addAnnotator(new Symbian::QAnnotatorControl);
+ visitor.addAnnotator(new Symbian::QAnnotatorWindow);
+}
+
+} // namespace ObjectDump
+
+QT_END_NAMESPACE
+