From 18d34fef04c540ec3ef3e29e55d545f7f5afdaf8 Mon Sep 17 00:00:00 2001 From: Marco Bubke <marco.bubke@digia.com> Date: Thu, 27 Sep 2012 16:31:03 +0200 Subject: [PATCH] QmlDesigner.NodeInstances: Share NodeInstanceClientProxy between puppets Change-Id: I49ffa49e45d12950150bedfa8452de4c89674ef8 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> --- .../qml/qmlpuppet/instances/instances.pri | 5 + .../instances/nodeinstanceclientproxy.cpp | 0 .../instances/nodeinstanceclientproxy.h | 0 .../qml2puppet/instances/instances.pri | 2 - .../qml/qmlpuppet/qml2puppet/qml2puppet.pro | 1 + .../qmlpuppet/instances/instances.pri | 2 - .../instances/nodeinstanceclientproxy.h | 120 ------------------ .../qml/qmlpuppet/qmlpuppet/qmlpuppet.pri | 1 + 8 files changed, 7 insertions(+), 124 deletions(-) create mode 100644 share/qtcreator/qml/qmlpuppet/instances/instances.pri rename share/qtcreator/qml/qmlpuppet/{qml2puppet => }/instances/nodeinstanceclientproxy.cpp (100%) rename share/qtcreator/qml/qmlpuppet/{qml2puppet => }/instances/nodeinstanceclientproxy.h (100%) delete mode 100644 share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceclientproxy.h diff --git a/share/qtcreator/qml/qmlpuppet/instances/instances.pri b/share/qtcreator/qml/qmlpuppet/instances/instances.pri new file mode 100644 index 00000000000..daf1d3ed51b --- /dev/null +++ b/share/qtcreator/qml/qmlpuppet/instances/instances.pri @@ -0,0 +1,5 @@ +INCLUDEPATH += $$PWD/ + +HEADERS += $$PWD/nodeinstanceclientproxy.h + +SOURCES += $$PWD/nodeinstanceclientproxy.cpp diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceclientproxy.cpp b/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceclientproxy.cpp similarity index 100% rename from share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceclientproxy.cpp rename to share/qtcreator/qml/qmlpuppet/instances/nodeinstanceclientproxy.cpp diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceclientproxy.h b/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceclientproxy.h similarity index 100% rename from share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceclientproxy.h rename to share/qtcreator/qml/qmlpuppet/instances/nodeinstanceclientproxy.h diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/instances.pri b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/instances.pri index 8dc3d80a4b6..5cb63be7393 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/instances.pri +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/instances.pri @@ -11,7 +11,6 @@ HEADERS += $$PWD/dummycontextobject.h HEADERS += $$PWD/childrenchangeeventfilter.h HEADERS += $$PWD/componentnodeinstance.h HEADERS += $$PWD/dummynodeinstance.h -HEADERS += $$PWD/nodeinstanceclientproxy.h HEADERS += $$PWD/nodeinstancemetaobject.h HEADERS += $$PWD/nodeinstanceserver.h HEADERS += $$PWD/nodeinstancesignalspy.h @@ -33,7 +32,6 @@ SOURCES += $$PWD/dummycontextobject.cpp SOURCES += $$PWD/childrenchangeeventfilter.cpp SOURCES += $$PWD/componentnodeinstance.cpp SOURCES += $$PWD/dummynodeinstance.cpp -SOURCES += $$PWD/nodeinstanceclientproxy.cpp SOURCES += $$PWD/nodeinstancemetaobject.cpp SOURCES += $$PWD/nodeinstanceserver.cpp SOURCES += $$PWD/nodeinstancesignalspy.cpp diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pro b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pro index 4d0ebb4c0ce..dbdeb2b9c7d 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pro +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pro @@ -15,6 +15,7 @@ include(../../../../../qtcreator.pri) DESTDIR = $$[QT_INSTALL_BINS] include(../../../../../src/rpath.pri) +include (../instances/instances.pri) include (instances/instances.pri) include (../commands/commands.pri) include (../container/container.pri) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/instances.pri b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/instances.pri index 19dd955dadc..ff2d2b91b0d 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/instances.pri +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/instances.pri @@ -13,7 +13,6 @@ HEADERS += $$PWD/dummycontextobject.h HEADERS += $$PWD/childrenchangeeventfilter.h HEADERS += $$PWD/componentnodeinstance.h HEADERS += $$PWD/dummynodeinstance.h -HEADERS += $$PWD/nodeinstanceclientproxy.h HEADERS += $$PWD/nodeinstancemetaobject.h HEADERS += $$PWD/nodeinstanceserver.h HEADERS += $$PWD/nodeinstancesignalspy.h @@ -37,7 +36,6 @@ SOURCES += $$PWD/dummycontextobject.cpp SOURCES += $$PWD/childrenchangeeventfilter.cpp SOURCES += $$PWD/componentnodeinstance.cpp SOURCES += $$PWD/dummynodeinstance.cpp -SOURCES += $$PWD/nodeinstanceclientproxy.cpp SOURCES += $$PWD/nodeinstancemetaobject.cpp SOURCES += $$PWD/nodeinstanceserver.cpp SOURCES += $$PWD/nodeinstancesignalspy.cpp diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceclientproxy.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceclientproxy.h deleted file mode 100644 index 54b56d02677..00000000000 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceclientproxy.h +++ /dev/null @@ -1,120 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: http://www.qt-project.org/ -** -** -** 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. -** -** 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. -** -** -**************************************************************************/ - -#ifndef NODEINSTANCECLIENTPROXY_H -#define NODEINSTANCECLIENTPROXY_H - -#include "nodeinstanceclientinterface.h" - -#include <QObject> -#include <QHash> -#include <QWeakPointer> - -QT_BEGIN_NAMESPACE -class QLocalSocket; -QT_END_NAMESPACE - -namespace QmlDesigner { - -class NodeInstanceServerInterface; -class CreateSceneCommand; -class CreateInstancesCommand; -class ClearSceneCommand; -class ReparentInstancesCommand; -class ChangeFileUrlCommand; -class ChangeValuesCommand; -class ChangeAuxiliaryCommand; -class ChangeBindingsCommand; -class ChangeIdsCommand; -class RemoveInstancesCommand; -class RemovePropertiesCommand; -class CompleteComponentCommand; -class ChangeStateCommand; -class ChangeNodeSourceCommand; - - -class NodeInstanceClientProxy : public QObject, public NodeInstanceClientInterface -{ - Q_OBJECT - -public: - NodeInstanceClientProxy(QObject *parent = 0); - - void informationChanged(const InformationChangedCommand &command); - void valuesChanged(const ValuesChangedCommand &command); - void pixmapChanged(const PixmapChangedCommand &command); - void childrenChanged(const ChildrenChangedCommand &command); - void statePreviewImagesChanged(const StatePreviewImageChangedCommand &command); - void componentCompleted(const ComponentCompletedCommand &command); - void token(const TokenCommand &command); - - void flush(); - void synchronizeWithClientProcess(); - qint64 bytesToWrite() const; - -protected: - void initializeSocket(); - void writeCommand(const QVariant &command); - void dispatchCommand(const QVariant &command); - NodeInstanceServerInterface *nodeInstanceServer() const; - void setNodeInstanceServer(NodeInstanceServerInterface *nodeInstanceServer); - - void createInstances(const CreateInstancesCommand &command); - void changeFileUrl(const ChangeFileUrlCommand &command); - void createScene(const CreateSceneCommand &command); - void clearScene(const ClearSceneCommand &command); - void removeInstances(const RemoveInstancesCommand &command); - void removeProperties(const RemovePropertiesCommand &command); - void changePropertyBindings(const ChangeBindingsCommand &command); - void changePropertyValues(const ChangeValuesCommand &command); - void changeAuxiliaryValues(const ChangeAuxiliaryCommand &command); - void reparentInstances(const ReparentInstancesCommand &command); - void changeIds(const ChangeIdsCommand &command); - void changeState(const ChangeStateCommand &command); - void completeComponent(const CompleteComponentCommand &command); - void changeNodeSource(const ChangeNodeSourceCommand &command); - void removeSharedMemory(const RemoveSharedMemoryCommand &command); - void redirectToken(const TokenCommand &command); - -private slots: - void readDataStream(); - -private: - QLocalSocket *m_socket; - NodeInstanceServerInterface *m_nodeInstanceServer; - quint32 m_blockSize; - quint32 m_writeCommandCounter; - quint32 m_lastReadCommandCounter; - int m_synchronizeId; -}; - -} // namespace QmlDesigner - -#endif // NODEINSTANCECLIENTPROXY_H diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri b/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri index 4d92c176829..30944a7ae32 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/qmlpuppet.pri @@ -16,6 +16,7 @@ greaterThan(QT_MAJOR_VERSION, 4) { DEFINES += QWEAKPOINTER_ENABLE_ARROW +include (../instances/instances.pri) include (instances/instances.pri) include (../commands/commands.pri) include (../container/container.pri) -- GitLab