From: Marco Bubke Date: Wed, 24 Aug 2011 13:47:35 +0000 (+0200) Subject: Move QSGViewPrivate to qsgview_p.h X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=59440312401f7fc26d4b60a5c3966154c8b43f27;p=konrad%2Fqtdeclarative.git Move QSGViewPrivate to qsgview_p.h For the qml designer we need access to the private class. Change-Id: I2f368daf8e79baa433d11b69a29ef37d53a18a36 Reviewed-on: http://codereview.qt.nokia.com/3508 Reviewed-by: Thomas Hartmann Reviewed-by: Gunnar Sletta --- diff --git a/src/declarative/items/items.pri b/src/declarative/items/items.pri index 848c782..9880dd8 100644 --- a/src/declarative/items/items.pri +++ b/src/declarative/items/items.pri @@ -53,6 +53,7 @@ HEADERS += \ $$PWD/qsgtranslate_p.h \ $$PWD/qsgclipnode_p.h \ $$PWD/qsgview.h \ + $$PWD/qsgview_p.h \ $$PWD/qsganimation_p.h \ $$PWD/qsganimation_p_p.h \ $$PWD/qsgstateoperations_p.h \ diff --git a/src/declarative/items/qsgview.cpp b/src/declarative/items/qsgview.cpp index 416b803..e2fb42e 100644 --- a/src/declarative/items/qsgview.cpp +++ b/src/declarative/items/qsgview.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qsgview.h" +#include "qsgview_p.h" #include "qsgcanvas_p.h" #include "qsgitem_p.h" @@ -52,43 +53,13 @@ #include #include + // XXX todo - This whole class should probably be merged with QDeclarativeView for // maximum seamlessness QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(frameRateDebug, QML_SHOW_FRAMERATE) -class QSGViewPrivate : public QSGCanvasPrivate, - public QSGItemChangeListener -{ - Q_DECLARE_PUBLIC(QSGView) -public: - QSGViewPrivate(); - ~QSGViewPrivate(); - - void execute(); - void itemGeometryChanged(QSGItem *item, const QRectF &newGeometry, const QRectF &oldGeometry); - void initResize(); - void updateSize(); - void setRootObject(QObject *); - - void init(); - - QSize rootObjectSize() const; - - QPointer root; - - QUrl source; - - QDeclarativeEngine engine; - QDeclarativeComponent *component; - QBasicTimer resizetimer; - - QSGView::ResizeMode resizeMode; - QSize initialSize; - QElapsedTimer frameTimer; -}; - void QSGViewPrivate::init() { q_func()->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred); diff --git a/src/declarative/items/qsgview_p.h b/src/declarative/items/qsgview_p.h new file mode 100644 index 0000000..8b2ee88 --- /dev/null +++ b/src/declarative/items/qsgview_p.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSGVIEW_P_H +#define QSGVIEW_P_H + +#include "qsgview.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "qsgitemchangelistener_p.h" + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class QDeclarativeContext; +class QDeclarativeError; +class QSGItem; +class QDeclarativeComponent; + +class QSGViewPrivate : public QSGCanvasPrivate, + public QSGItemChangeListener +{ + Q_DECLARE_PUBLIC(QSGView) +public: + static QSGViewPrivate* get(QSGView *view) { return view->d_func(); } + static const QSGViewPrivate* get(const QSGView *view) { return view->d_func(); } + + QSGViewPrivate(); + ~QSGViewPrivate(); + + void execute(); + void itemGeometryChanged(QSGItem *item, const QRectF &newGeometry, const QRectF &oldGeometry); + void initResize(); + void updateSize(); + void setRootObject(QObject *); + + void init(); + + QSize rootObjectSize() const; + + QPointer root; + + QUrl source; + + QDeclarativeEngine engine; + QDeclarativeComponent *component; + QBasicTimer resizetimer; + + QSGView::ResizeMode resizeMode; + QSize initialSize; + QElapsedTimer frameTimer; +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QSGVIEW_P_H