aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2011-06-09 15:50:48 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-06-09 16:07:28 +0200
commitd103bb7a60e488c816cb5618d4e763d50251385f (patch)
treeb4be67870390c352c4203d507177efc43ea36604
parent74f1c2e2772d6581423e3961e824f5ca589a514c (diff)
QmlDesigner.NodeInstances: Support for Qt five scene graph
QmlPuppet only supported GraphicsView. There is now Qml2Puppet which is supporting the new Qt Scene Graph. Change-Id: Ia0a06639cf6852192e84f7bfc2bea60532890b08 Reviewed-on: http://codereview.qt.nokia.com/433 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp1
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp1
-rw-r--r--src/plugins/qmldesigner/designercore/designercore.pri91
-rw-r--r--src/plugins/qmldesigner/designercore/exceptions/invalidnodeinstanceexception.cpp68
-rw-r--r--src/plugins/qmldesigner/designercore/exceptions/noanchoringpossibleexception.cpp49
-rw-r--r--src/plugins/qmldesigner/designercore/include/invalidnodeinstanceexception.h51
-rw-r--r--src/plugins/qmldesigner/designercore/include/invalidnodestateexception.h53
-rw-r--r--src/plugins/qmldesigner/designercore/include/noanchoringpossibleexception.h53
-rw-r--r--src/plugins/qmldesigner/designercore/include/nodeinstanceview.h2
-rw-r--r--src/plugins/qmldesigner/designercore/instances/addimportcommand.cpp66
-rw-r--r--src/plugins/qmldesigner/designercore/instances/addimportcommand.h60
-rw-r--r--src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.cpp38
-rw-r--r--src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.h50
-rw-r--r--src/plugins/qmldesigner/designercore/instances/instances.pri111
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp124
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h1
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp6
-rw-r--r--src/tools/qmlpuppet/commands/changeauxiliarycommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changeauxiliarycommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/changebindingscommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changebindingscommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changebindingscommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changebindingscommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/changefileurlcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changefileurlcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changefileurlcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changefileurlcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/changeidscommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changeidscommand.cpp)29
-rw-r--r--src/tools/qmlpuppet/commands/changeidscommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changeidscommand.h)29
-rw-r--r--src/tools/qmlpuppet/commands/changenodesourcecommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changenodesourcecommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/changestatecommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changestatecommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changestatecommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changestatecommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/changevaluescommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/changevaluescommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/changevaluescommand.h (renamed from src/plugins/qmldesigner/designercore/instances/changevaluescommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/childrenchangedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/childrenchangedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/clearscenecommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/clearscenecommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/clearscenecommand.h (renamed from src/plugins/qmldesigner/designercore/instances/clearscenecommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/commands.pri46
-rw-r--r--src/tools/qmlpuppet/commands/completecomponentcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/completecomponentcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/completecomponentcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/completecomponentcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/componentcompletedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/componentcompletedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/createinstancescommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/createinstancescommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/createinstancescommand.h (renamed from src/plugins/qmldesigner/designercore/instances/createinstancescommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/createscenecommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/createscenecommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/createscenecommand.h (renamed from src/plugins/qmldesigner/designercore/instances/createscenecommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/informationchangedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/informationchangedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/informationchangedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/informationchangedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/pixmapchangedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/pixmapchangedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/removeinstancescommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/removeinstancescommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/removeinstancescommand.h (renamed from src/plugins/qmldesigner/designercore/instances/removeinstancescommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/removepropertiescommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/removepropertiescommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/removepropertiescommand.h (renamed from src/plugins/qmldesigner/designercore/instances/removepropertiescommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/reparentinstancescommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/reparentinstancescommand.h (renamed from src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/synchronizecommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/synchronizecommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/synchronizecommand.h (renamed from src/plugins/qmldesigner/designercore/instances/synchronizecommand.h)0
-rw-r--r--src/tools/qmlpuppet/commands/valueschangedcommand.cpp (renamed from src/plugins/qmldesigner/designercore/instances/valueschangedcommand.cpp)0
-rw-r--r--src/tools/qmlpuppet/commands/valueschangedcommand.h (renamed from src/plugins/qmldesigner/designercore/instances/valueschangedcommand.h)0
-rw-r--r--src/tools/qmlpuppet/container/addimportcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/addimportcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/addimportcontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/addimportcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/container.pri21
-rw-r--r--src/tools/qmlpuppet/container/idcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/idcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/idcontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/idcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/imagecontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/imagecontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/imagecontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/imagecontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/informationcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/informationcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/informationcontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/informationcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/instancecontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/instancecontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/instancecontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/instancecontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/propertyabstractcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/propertyabstractcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/propertyabstractcontainer.h (renamed from src/plugins/qmldesigner/designercore/include/propertyabstractcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/propertybindingcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/propertybindingcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/propertybindingcontainer.h (renamed from src/plugins/qmldesigner/designercore/include/propertybindingcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/container/propertyvaluecontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/propertyvaluecontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/propertyvaluecontainer.h (renamed from src/plugins/qmldesigner/designercore/include/propertyvaluecontainer.h)2
-rw-r--r--src/tools/qmlpuppet/container/reparentcontainer.cpp (renamed from src/plugins/qmldesigner/designercore/instances/reparentcontainer.cpp)0
-rw-r--r--src/tools/qmlpuppet/container/reparentcontainer.h (renamed from src/plugins/qmldesigner/designercore/instances/reparentcontainer.h)0
-rw-r--r--src/tools/qmlpuppet/instances/behaviornodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.cpp)5
-rw-r--r--src/tools/qmlpuppet/instances/behaviornodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/childrenchangeeventfilter.cpp (renamed from src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.cpp)0
-rw-r--r--src/tools/qmlpuppet/instances/childrenchangeeventfilter.h (renamed from src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.h)0
-rw-r--r--src/tools/qmlpuppet/instances/componentnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/componentnodeinstance.cpp)6
-rw-r--r--src/tools/qmlpuppet/instances/componentnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/componentnodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/dummycontextobject.cpp (renamed from src/plugins/qmldesigner/designercore/instances/dummycontextobject.cpp)0
-rw-r--r--src/tools/qmlpuppet/instances/dummycontextobject.h (renamed from src/plugins/qmldesigner/designercore/instances/dummycontextobject.h)0
-rw-r--r--src/tools/qmlpuppet/instances/dummynodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/dummynodeinstance.cpp)4
-rw-r--r--src/tools/qmlpuppet/instances/dummynodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/dummynodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/instances.pri34
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstanceclientproxy.cpp (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.cpp)28
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstanceclientproxy.h (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.h)5
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstancemetaobject.cpp (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp)0
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstancemetaobject.h (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.h)0
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstanceserver.cpp (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp)274
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstanceserver.h (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h)31
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstancesignalspy.cpp (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.cpp)0
-rw-r--r--src/tools/qmlpuppet/instances/nodeinstancesignalspy.h (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.h)0
-rw-r--r--src/tools/qmlpuppet/instances/objectnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp)22
-rw-r--r--src/tools/qmlpuppet/instances/objectnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h)3
-rw-r--r--src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp)5
-rw-r--r--src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/qmlstatenodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.cpp)6
-rw-r--r--src/tools/qmlpuppet/instances/qmlstatenodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/qmltransitionnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.cpp)6
-rw-r--r--src/tools/qmlpuppet/instances/qmltransitionnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/instances/servernodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/servernodeinstance.cpp)24
-rw-r--r--src/tools/qmlpuppet/instances/servernodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/servernodeinstance.h)32
-rw-r--r--src/tools/qmlpuppet/interfaces/commondefines.h (renamed from src/plugins/qmldesigner/designercore/include/commondefines.h)0
-rw-r--r--src/tools/qmlpuppet/interfaces/interfaces.pri7
-rw-r--r--src/tools/qmlpuppet/interfaces/nodeinstanceclientinterface.h (renamed from src/plugins/qmldesigner/designercore/include/nodeinstanceclientinterface.h)0
-rw-r--r--src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.cpp (renamed from src/plugins/qmldesigner/designercore/instances/nodeinstanceserverinterface.cpp)4
-rw-r--r--src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.h (renamed from src/plugins/qmldesigner/designercore/include/nodeinstanceserverinterface.h)2
-rw-r--r--src/tools/qmlpuppet/qml2puppet/Info.plist.in29
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/instances.pri15
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp185
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h94
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp89
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.h81
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp195
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h114
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp132
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h93
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp144
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h91
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.cpp658
-rw-r--r--src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.h170
-rw-r--r--src/tools/qmlpuppet/qml2puppet/main.cpp (renamed from src/plugins/qmldesigner/designercore/exceptions/invalidnodestateexception.cpp)59
-rw-r--r--src/tools/qmlpuppet/qml2puppet/qml2puppet.pro38
-rw-r--r--src/tools/qmlpuppet/qmlpuppet.pro35
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/Info.plist.in (renamed from src/tools/qmlpuppet/Info.plist.in)0
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp)2
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/instances.pri19
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/positionernodeinstance.cpp)4
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/positionernodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp (renamed from src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp)10
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h (renamed from src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.h)0
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp (renamed from src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.cpp)28
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.h (renamed from src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.h)6
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.cpp90
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.h81
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.cpp179
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.h100
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.cpp (renamed from src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.cpp)43
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.h (renamed from src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.h)16
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp (renamed from src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.cpp)23
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h (renamed from src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.h)6
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/main.cpp (renamed from src/tools/qmlpuppet/main.cpp)6
-rw-r--r--src/tools/qmlpuppet/qmlpuppet/qmlpuppet.pro42
-rw-r--r--src/tools/tools.pro8
151 files changed, 3158 insertions, 1177 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
index e619d627ac..8ea38a21b0 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
@@ -50,7 +50,6 @@
#include <cmath>
#include <invalidmodelnodeexception.h>
-#include <invalidnodestateexception.h>
namespace QmlDesigner {
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index bff196f50b..8d5e2a8a22 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -37,7 +37,6 @@
#include <invalididexception.h>
#include <rewritingexception.h>
-#include <invalidnodestateexception.h>
#include <variantproperty.h>
#include <bindingproperty.h>
diff --git a/src/plugins/qmldesigner/designercore/designercore.pri b/src/plugins/qmldesigner/designercore/designercore.pri
index 6996f2ef4c..ae350b06f2 100644
--- a/src/plugins/qmldesigner/designercore/designercore.pri
+++ b/src/plugins/qmldesigner/designercore/designercore.pri
@@ -7,8 +7,13 @@ QT += script \
DEFINES += TEST_EXPORTS
INCLUDEPATH += $$PWD \
$$PWD/include
+
+include (instances/instances.pri)
+include (../../../tools/qmlpuppet/interfaces/interfaces.pri)
+include (../../../tools/qmlpuppet/commands/commands.pri)
+include (../../../tools/qmlpuppet/container/container.pri)
+
SOURCES += $$PWD/model/abstractview.cpp \
- $$PWD/instances/nodeinstanceview.cpp \
$$PWD/model/rewriterview.cpp \
$$PWD/metainfo/metainfo.cpp \
$$PWD/metainfo/metainfoparser.cpp \
@@ -25,15 +30,12 @@ SOURCES += $$PWD/model/abstractview.cpp \
$$PWD/pluginmanager/widgetpluginmanager.cpp \
$$PWD/pluginmanager/widgetpluginpath.cpp \
$$PWD/exceptions/exception.cpp \
- $$PWD/exceptions/invalidnodeinstanceexception.cpp \
$$PWD/exceptions/invalidpropertyexception.cpp \
$$PWD/exceptions/invalidmodelnodeexception.cpp \
$$PWD/exceptions/invalidreparentingexception.cpp \
$$PWD/exceptions/invalidmetainfoexception.cpp \
$$PWD/exceptions/invalidargumentexception.cpp \
- $$PWD/exceptions/noanchoringpossibleexception.cpp \
$$PWD/exceptions/notimplementedexception.cpp \
- $$PWD/exceptions/invalidnodestateexception.cpp \
$$PWD/model/variantparser.cpp \
$$PWD/exceptions/invalidmodelstateexception.cpp \
$$PWD/exceptions/removebasestateexception.cpp \
@@ -73,43 +75,7 @@ SOURCES += $$PWD/model/abstractview.cpp \
$$PWD/model/rewriteactioncompressor.cpp \
$$PWD/model/qmltextgenerator.cpp \
$$PWD/model/modelmerger.cpp \
- $$PWD/exceptions/rewritingexception.cpp \
- $$PWD/instances/declarativedesignercommunicationinterface.cpp \
- $$PWD/instances/createinstancescommand.cpp \
- $$PWD/instances/nodeinstanceserverinterface.cpp \
- $$PWD/instances/nodeinstance.cpp \
- $$PWD/instances/propertyvaluecontainer.cpp \
- $$PWD/instances/childrenchangeeventfilter.cpp \
- $$PWD/instances/propertybindingcontainer.cpp \
- $$PWD/instances/propertyabstractcontainer.cpp \
- $$PWD/instances/createscenecommand.cpp \
- $$PWD/instances/instancecontainer.cpp \
- $$PWD/instances/changefileurlcommand.cpp \
- $$PWD/instances/clearscenecommand.cpp \
- $$PWD/instances/reparentcontainer.cpp \
- $$PWD/instances/reparentinstancescommand.cpp \
- $$PWD/instances/changevaluescommand.cpp \
- $$PWD/instances/changebindingscommand.cpp \
- $$PWD/instances/changeidscommand.cpp \
- $$PWD/instances/idcontainer.cpp \
- $$PWD/instances/synchronizecommand.cpp \
- $$PWD/instances/removeinstancescommand.cpp \
- $$PWD/instances/removepropertiescommand.cpp \
- $$PWD/instances/valueschangedcommand.cpp \
- $$PWD/instances/pixmapchangedcommand.cpp \
- $$PWD/instances/informationchangedcommand.cpp \
- $$PWD/instances/informationcontainer.cpp \
- $$PWD/instances/changestatecommand.cpp \
- $$PWD/instances/nodeinstanceserverproxy.cpp \
- $$PWD/instances/addimportcommand.cpp \
- $$PWD/instances/childrenchangedcommand.cpp \
- $$PWD/instances/statepreviewimagechangedcommand.cpp \
- $$PWD/instances/imagecontainer.cpp \
- $$PWD/instances/completecomponentcommand.cpp \
- $$PWD/instances/componentcompletedcommand.cpp \
- $$PWD/instances/changenodesourcecommand.cpp \
- $$PWD/instances/changeauxiliarycommand.cpp \
- $$PWD/instances/addimportcontainer.cpp
+ $$PWD/exceptions/rewritingexception.cpp
HEADERS += $$PWD/include/corelib_global.h \
$$PWD/include/abstractview.h \
@@ -132,8 +98,6 @@ HEADERS += $$PWD/include/corelib_global.h \
$$PWD/pluginmanager/widgetpluginmanager.h \
$$PWD/pluginmanager/widgetpluginpath.h \
$$PWD/include/exception.h \
- $$PWD/include/invalidnodeinstanceexception.h \
- $$PWD/include/invalidmodelnodeexception.h \
$$PWD/include/invalidreparentingexception.h \
$$PWD/include/invalidmetainfoexception.h \
$$PWD/include/invalidargumentexception.h \
@@ -181,45 +145,8 @@ HEADERS += $$PWD/include/corelib_global.h \
$$PWD/include/modelmerger.h \
$$PWD/include/mathutils.h \
$$PWD/include/customnotifications.h \
- $$PWD/include/rewritingexception.h \
- $$PWD/instances/declarativedesignercommunicationinterface.h \
- $$PWD/instances/createinstancescommand.h \
- $$PWD/include/nodeinstanceserverinterface.h \
- $$PWD/include/nodeinstance.h \
- $$PWD/include/propertyvaluecontainer.h \
- $$PWD/instances/childrenchangeeventfilter.h \
- $$PWD/include/propertybindingcontainer.h \
- $$PWD/include/propertyabstractcontainer.h \
- $$PWD/instances/createscenecommand.h \
- $$PWD/instances/instancecontainer.h \
- $$PWD/instances/changefileurlcommand.h \
- $$PWD/instances/clearscenecommand.h \
- $$PWD/instances/reparentcontainer.h \
- $$PWD/instances/reparentinstancescommand.h \
- $$PWD/instances/synchronizecommand.h \
- $$PWD/instances/changevaluescommand.h \
- $$PWD/instances/changebindingscommand.h \
- $$PWD/instances/changeidscommand.h \
- $$PWD/instances/idcontainer.h \
- $$PWD/instances/removeinstancescommand.h \
- $$PWD/instances/removepropertiescommand.h \
- $$PWD/include/nodeinstanceclientinterface.h \
- $$PWD/instances/valueschangedcommand.h \
- $$PWD/instances/pixmapchangedcommand.h \
- $$PWD/instances/informationchangedcommand.h \
- $$PWD/instances/informationcontainer.h \
- $$PWD/include/commondefines.h \
- $$PWD/instances/changestatecommand.h \
- $$PWD/instances/nodeinstanceserverproxy.h \
- $$PWD/instances/addimportcommand.h \
- $$PWD/instances/childrenchangedcommand.h \
- $$PWD/instances/statepreviewimagechangedcommand.h \
- $$PWD/instances/imagecontainer.h \
- $$PWD/instances/completecomponentcommand.h \
- $$PWD/instances/componentcompletedcommand.h \
- $$PWD/instances/changenodesourcecommand.h \
- $$PWD/instances/changeauxiliarycommand.h \
- $$PWD/instances/addimportcontainer.h
+ $$PWD/include/rewritingexception.h
+
contains(CONFIG, plugin) {
# If core.pri has been included in the qmldesigner plugin
SOURCES += $$PWD/model/basetexteditmodifier.cpp
diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidnodeinstanceexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidnodeinstanceexception.cpp
deleted file mode 100644
index 938e497101..0000000000
--- a/src/plugins/qmldesigner/designercore/exceptions/invalidnodeinstanceexception.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#include "invalidnodeinstanceexception.h"
-
-/*!
-\class QmlDesigner::InvalidNodeInstanceException
-\ingroup CoreExceptions
-\brief Exception for a invalid ndoe instance
-
-
-\see NodeInstance
-*/
-namespace QmlDesigner {
-/*!
-\brief Constructor
-
-\param line use the __LINE__ macro
-\param function use the __FUNCTION__ or the Q_FUNC_INFO macro
-\param file use the __FILE__ macro
-*/
-InvalidNodeInstanceException::InvalidNodeInstanceException(int line,
- const QString &function,
- const QString &file)
- : Exception(line, function, file)
-{
-}
-
-/*!
-\brief Returns the type of this exception
-
-\returns the type as a string
-*/
-QString InvalidNodeInstanceException::type() const
-{
- return "InvalidNodeInstanceException";
-}
-
-}
diff --git a/src/plugins/qmldesigner/designercore/exceptions/noanchoringpossibleexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/noanchoringpossibleexception.cpp
deleted file mode 100644
index fbe1be2084..0000000000
--- a/src/plugins/qmldesigner/designercore/exceptions/noanchoringpossibleexception.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#include "noanchoringpossibleexception.h"
-
-namespace QmlDesigner {
-
-NoAnchoringPossibleException::NoAnchoringPossibleException(int line,
- const QString &function,
- const QString &file)
- : Exception(line,function, file)
-{
-}
-
-
-QString NoAnchoringPossibleException::type() const
-{
- return "NoAnchoringPossibleException";
-}
-} // namespace QKinecticDesigner
diff --git a/src/plugins/qmldesigner/designercore/include/invalidnodeinstanceexception.h b/src/plugins/qmldesigner/designercore/include/invalidnodeinstanceexception.h
deleted file mode 100644
index aac8540de8..0000000000
--- a/src/plugins/qmldesigner/designercore/include/invalidnodeinstanceexception.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#ifndef INVALIDNODEINSTANCEEXCEPTION_H
-#define INVALIDNODEINSTANCEEXCEPTION_H
-
-#include "exception.h"
-
-namespace QmlDesigner {
-
-class CORESHARED_EXPORT InvalidNodeInstanceException : public Exception
-{
-public:
- InvalidNodeInstanceException(int line,
- const QString &function,
- const QString &file);
- QString type() const;
-};
-
-}
-
-#endif // INVALIDNODEINSTANCEEXCEPTION_H
diff --git a/src/plugins/qmldesigner/designercore/include/invalidnodestateexception.h b/src/plugins/qmldesigner/designercore/include/invalidnodestateexception.h
deleted file mode 100644
index 06033a1b74..0000000000
--- a/src/plugins/qmldesigner/designercore/include/invalidnodestateexception.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#ifndef INVALIDNODESTATEEXCEPTION_H
-#define INVALIDNODESTATEEXCEPTION_H
-
-#include <exception.h>
-
-namespace QmlDesigner {
-
-class CORESHARED_EXPORT InvalidNodeStateException : public Exception
-{
-public:
- InvalidNodeStateException(int line,
- const QString &function,
- const QString &file);
-
- QString type() const;
-
-};
-
-} // namespace QmlDesigner
-
-#endif // INVALIDNODESTATEEXCEPTION_H
diff --git a/src/plugins/qmldesigner/designercore/include/noanchoringpossibleexception.h b/src/plugins/qmldesigner/designercore/include/noanchoringpossibleexception.h
deleted file mode 100644
index 78b1b8204a..0000000000
--- a/src/plugins/qmldesigner/designercore/include/noanchoringpossibleexception.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**************************************************************************/
-
-#ifndef NOANCHORINGPOSSIBLEEXCEPTION_H
-#define NOANCHORINGPOSSIBLEEXCEPTION_H
-
-#include "exception.h"
-
-namespace QmlDesigner {
-
-class CORESHARED_EXPORT NoAnchoringPossibleException : public Exception
-{
-public:
- NoAnchoringPossibleException(int line,
- const QString &function,
- const QString &file);
-
- QString type() const;
-
-};
-
-} // namespace QKinecticDesigner
-
-#endif // NOANCHORINGPOSSIBLEEXCEPTION_H
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
index 4eb21e81b4..d006705fc4 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
+++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
@@ -68,7 +68,6 @@ class ChangeBindingsCommand;
class ChangeIdsCommand;
class RemoveInstancesCommand;
class RemovePropertiesCommand;
-class AddImportCommand;
class CompleteComponentCommand;
class CORESHARED_EXPORT NodeInstanceView : public AbstractView, public NodeInstanceClientInterface
@@ -175,7 +174,6 @@ private: // functions
RemoveInstancesCommand createRemoveInstancesCommand(const QList<ModelNode> &nodeList) const;
RemoveInstancesCommand createRemoveInstancesCommand(const ModelNode &node) const;
RemovePropertiesCommand createRemovePropertiesCommand(const QList<AbstractProperty> &propertyList) const;
- AddImportCommand createImportCommand(const Import &import);
void resetHorizontalAnchors(const ModelNode &node);
void resetVerticalAnchors(const ModelNode &node);
diff --git a/src/plugins/qmldesigner/designercore/instances/addimportcommand.cpp b/src/plugins/qmldesigner/designercore/instances/addimportcommand.cpp
deleted file mode 100644
index 94edfcc464..0000000000
--- a/src/plugins/qmldesigner/designercore/instances/addimportcommand.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#include "addimportcommand.h"
-
-namespace QmlDesigner {
-
-AddImportCommand::AddImportCommand()
-{
-}
-
-AddImportCommand::AddImportCommand(const AddImportContainer &container)
- : m_importContainer(container)
-{
-}
-
-AddImportContainer AddImportCommand::import() const
-{
- return m_importContainer;
-}
-
-
-QDataStream &operator<<(QDataStream &out, const AddImportCommand &command)
-{
- out << command.import();
-
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, AddImportCommand &command)
-{
- in >> command.m_importContainer;
-
- return in;
-}
-
-} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/designercore/instances/addimportcommand.h b/src/plugins/qmldesigner/designercore/instances/addimportcommand.h
deleted file mode 100644
index 6f8aadc51a..0000000000
--- a/src/plugins/qmldesigner/designercore/instances/addimportcommand.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#ifndef ADDIMPORTCOMMAND_H
-#define ADDIMPORTCOMMAND_H
-
-#include "addimportcontainer.h"
-
-namespace QmlDesigner {
-
-class AddImportCommand
-{
- friend QDataStream &operator>>(QDataStream &in, AddImportCommand &command);
-public:
- AddImportCommand();
- AddImportCommand(const AddImportContainer &container);
-
- AddImportContainer import() const;
-
-private:
- AddImportContainer m_importContainer;
-};
-
-QDataStream &operator<<(QDataStream &out, const AddImportCommand &command);
-QDataStream &operator>>(QDataStream &in, AddImportCommand &command);
-
-} // namespace QmlDesigner
-
-Q_DECLARE_METATYPE(QmlDesigner::AddImportCommand)
-
-#endif // ADDIMPORTCOMMAND_H
diff --git a/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.cpp b/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.cpp
deleted file mode 100644
index d681dfe105..0000000000
--- a/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#include "declarativedesignercommunicationinterface.h"
-
-DeclarativeDesignerCommunicationInterface::DeclarativeDesignerCommunicationInterface(QObject *parent) :
- QObject(parent)
-{
-}
diff --git a/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.h b/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.h
deleted file mode 100644
index d565300bce..0000000000
--- a/src/plugins/qmldesigner/designercore/instances/declarativedesignercommunicationinterface.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (info@qt.nokia.com)
-**
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
-**
-**************************************************************************/
-
-#ifndef DECLARATIVEDESIGNERCOMMUNICATIONINTERFACE_H
-#define DECLARATIVEDESIGNERCOMMUNICATIONINTERFACE_H
-
-#include <QObject>
-
-class DeclarativeDesignerCommunicationInterface : public QObject
-{
- Q_OBJECT
-public:
- explicit DeclarativeDesignerCommunicationInterface(QObject *parent = 0);
-
-signals:
-
-public slots:
-
-};
-
-#endif // DECLARATIVEDESIGNERCOMMUNICATIONINTERFACE_H
diff --git a/src/plugins/qmldesigner/designercore/instances/instances.pri b/src/plugins/qmldesigner/designercore/instances/instances.pri
index f3b0b6f2a2..d4cc725778 100644
--- a/src/plugins/qmldesigner/designercore/instances/instances.pri
+++ b/src/plugins/qmldesigner/designercore/instances/instances.pri
@@ -1,109 +1,8 @@
INCLUDEPATH += $$PWD/
-INCLUDEPATH += $$PWD/../include
+HEADERS += $$PWD/../include/nodeinstance.h
+HEADERS += $$PWD/nodeinstanceserverproxy.h
-HEADERS += $$PWD/behaviornodeinstance.h
-HEADERS += $$PWD/changeauxiliarycommand.h
-HEADERS += $$PWD/informationnodeinstanceserver.h
-HEADERS += $$PWD/dummycontextobject.h
-HEADERS += $$PWD/rendernodeinstanceserver.h
-HEADERS += $$PWD/synchronizecommand.h
-HEADERS += $$PWD/addimportcontainer.h
-HEADERS += $$PWD/previewnodeinstanceserver.h
-HEADERS += $$PWD/componentcompletedcommand.h
-HEADERS += $$PWD//completecomponentcommand.h
-HEADERS += $$PWDstatepreviewimagechangedcommand.h
-HEADERS += $$PWD//imagecontainer.h
-HEADERS += $$PWD/childrenchangedcommand.h
-HEADERS += $$PWD/addimportcommand.h
-HEADERS += $$PWD/changebindingscommand.h
-HEADERS += $$PWD/changefileurlcommand.h
-HEADERS += $$PWD/changeidscommand.h
-HEADERS += $$PWD/changenodesourcecommand.h
-HEADERS += $$PWD/changestatecommand.h
-HEADERS += $$PWD/changevaluescommand.h
-HEADERS += $$PWD/childrenchangeeventfilter.h
-HEADERS += $$PWD/clearscenecommand.h
-HEADERS += $$PWD/componentnodeinstance.h
-HEADERS += $$PWD/createinstancescommand.h
-HEADERS += $$PWD/createscenecommand.h
-HEADERS += $$PWD/declarativedesignercommunicationinterface.h
-HEADERS += $$PWD/dummynodeinstance.h
-HEADERS += $$PWD/graphicsobjectnodeinstance.h
-HEADERS += $$PWD/idcontainer.h
-HEADERS += $$PWD/informationchangedcommand.h
-HEADERS += $$PWD/informationcontainer.h
-HEADERS += $$PWD/instancecontainer.h
-HEADERS += $$PWD/nodeinstanceclientproxy.h
-HEADERS += $$PWD/nodeinstancemetaobject.h
-HEADERS += $$PWD/nodeinstanceserver.h
-HEADERS += $$PWD/nodeinstancesignalspy.h
-HEADERS += $$PWD/objectnodeinstance.h
-HEADERS += $$PWD/pixmapchangedcommand.h
-HEADERS += $$PWD/positionernodeinstance.h
-HEADERS += $$PWD/qmlgraphicsitemnodeinstance.h
-HEADERS += $$PWD/qmlpropertychangesnodeinstance.h
-HEADERS += $$PWD/qmlstatenodeinstance.h
-HEADERS += $$PWD/qmltransitionnodeinstance.h
-HEADERS += $$PWD/removeinstancescommand.h
-HEADERS += $$PWD/removepropertiescommand.h
-HEADERS += $$PWD/reparentcontainer.h
-HEADERS += $$PWD/reparentinstancescommand.h
-HEADERS += $$PWD/servernodeinstance.h
-HEADERS += $$PWD/valueschangedcommand.h
-HEADERS += $$PWD/../include/nodeinstanceserverinterface.h
-
-
-SOURCES += $$PWD/behaviornodeinstance.cpp
-SOURCES += $$PWD/changeauxiliarycommand.cpp
-SOURCES += $$PWD/informationnodeinstanceserver.cpp
-SOURCES += $$PWD/dummycontextobject.cpp
-SOURCES += $$PWD/rendernodeinstanceserver.cpp
-SOURCES += $$PWD/synchronizecommand.cpp
-SOURCES += $$PWD/addimportcontainer.cpp
-SOURCES += $$PWD/previewnodeinstanceserver.cpp
-SOURCES += $$PWD/componentcompletedcommand.cpp
-SOURCES += $$PWD/completecomponentcommand.cpp
-SOURCES += $$PWD/statepreviewimagechangedcommand.cpp
-SOURCES += $$PWD/imagecontainer.cpp
-SOURCES += $$PWD/childrenchangedcommand.cpp
-SOURCES += $$PWD/addimportcommand.cpp
-SOURCES += $$PWD/changebindingscommand.cpp
-SOURCES += $$PWD/changefileurlcommand.cpp
-SOURCES += $$PWD/changeidscommand.cpp
-SOURCES += $$PWD/changenodesourcecommand.cpp
-SOURCES += $$PWD/changestatecommand.cpp
-SOURCES += $$PWD/changevaluescommand.cpp
-SOURCES += $$PWD/childrenchangeeventfilter.cpp
-SOURCES += $$PWD/clearscenecommand.cpp
-SOURCES += $$PWD/componentnodeinstance.cpp
-SOURCES += $$PWD/createinstancescommand.cpp
-SOURCES += $$PWD/createscenecommand.cpp
-SOURCES += $$PWD/declarativedesignercommunicationinterface.cpp
-SOURCES += $$PWD/dummynodeinstance.cpp
-SOURCES += $$PWD/graphicsobjectnodeinstance.cpp
-SOURCES += $$PWD/idcontainer.cpp
-SOURCES += $$PWD/informationchangedcommand.cpp
-SOURCES += $$PWD/informationcontainer.cpp
-SOURCES += $$PWD/instancecontainer.cpp
-SOURCES += $$PWD/nodeinstanceclientproxy.cpp
-SOURCES += $$PWD/nodeinstancemetaobject.cpp
-SOURCES += $$PWD/nodeinstanceserver.cpp
-SOURCES += $$PWD/nodeinstanceserverinterface.cpp
-SOURCES += $$PWD/nodeinstancesignalspy.cpp
-SOURCES += $$PWD/objectnodeinstance.cpp
-SOURCES += $$PWD/pixmapchangedcommand.cpp
-SOURCES += $$PWD/positionernodeinstance.cpp
-SOURCES += $$PWD/propertyabstractcontainer.cpp
-SOURCES += $$PWD/propertybindingcontainer.cpp
-SOURCES += $$PWD/propertyvaluecontainer.cpp
-SOURCES += $$PWD/qmlgraphicsitemnodeinstance.cpp
-SOURCES += $$PWD/qmlpropertychangesnodeinstance.cpp
-SOURCES += $$PWD/qmlstatenodeinstance.cpp
-SOURCES += $$PWD/qmltransitionnodeinstance.cpp
-SOURCES += $$PWD/removeinstancescommand.cpp
-SOURCES += $$PWD/removepropertiescommand.cpp
-SOURCES += $$PWD/reparentcontainer.cpp
-SOURCES += $$PWD/reparentinstancescommand.cpp
-SOURCES += $$PWD/servernodeinstance.cpp
-SOURCES += $$PWD/valueschangedcommand.cpp
+SOURCES += $$PWD/nodeinstanceserverproxy.cpp
+SOURCES += $$PWD/nodeinstance.cpp
+SOURCES += $$PWD/nodeinstanceview.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
index ad41ccd34a..5cfd01be5c 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
@@ -37,6 +37,7 @@
#include <QProcess>
#include <QCoreApplication>
#include <QUuid>
+#include <QFileInfo>
#include "propertyabstractcontainer.h"
#include "propertyvaluecontainer.h"
@@ -54,7 +55,6 @@
#include "reparentinstancescommand.h"
#include "changeidscommand.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "completecomponentcommand.h"
#include "changenodesourcecommand.h"
@@ -69,10 +69,25 @@
#include "synchronizecommand.h"
#include "nodeinstanceview.h"
-#include "nodeinstanceclientproxy.h"
+
+#include "import.h"
+#include <QMessageBox>
+
namespace QmlDesigner {
+static bool hasQtQuick1(NodeInstanceView *nodeInstanceView)
+{
+ if (nodeInstanceView && nodeInstanceView->model()) {
+ foreach (const Import &import ,nodeInstanceView->model()->imports()) {
+ if (import.url() == "QtQuick" && import.version().toDouble() < 2.0)
+ return true;
+ }
+ }
+
+ return false;
+}
+
NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView, RunModus runModus)
: NodeInstanceServerInterface(nodeInstanceView),
m_localServer(new QLocalServer(this)),
@@ -98,74 +113,84 @@ NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceV
#ifdef Q_OS_MACX
applicationPath += "/qmlpuppet.app/Contents/MacOS";
#endif
- applicationPath += "/qmlpuppet";
+
+ if (hasQtQuick1(nodeInstanceView)) {
+ applicationPath += "/qmlpuppet";
+ } else {
+ applicationPath += "/qml2puppet";
+ }
QByteArray envImportPath = qgetenv("QTCREATOR_QMLPUPPET_PATH");
if (!envImportPath.isEmpty()) {
applicationPath = envImportPath;
}
- m_qmlPuppetEditorProcess = new QProcess;
- connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
- connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetEditorProcess.data(), SLOT(kill()));
- bool fowardQmlpuppetOutput = !qgetenv("FORWARD_QMLPUPPET_OUTPUT").isEmpty();
- if (fowardQmlpuppetOutput)
- m_qmlPuppetEditorProcess->setProcessChannelMode(QProcess::ForwardedChannels);
- m_qmlPuppetEditorProcess->start(applicationPath, QStringList() << socketToken << "editormode" << "-graphicssystem raster");
-
- if (runModus == NormalModus) {
- m_qmlPuppetPreviewProcess = new QProcess;
- connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
- connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetPreviewProcess.data(), SLOT(kill()));
+ if (QFileInfo(applicationPath).exists()) {
+ m_qmlPuppetEditorProcess = new QProcess;
+ connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
+ connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetEditorProcess.data(), SLOT(kill()));
+ bool fowardQmlpuppetOutput = !qgetenv("FORWARD_QMLPUPPET_OUTPUT").isEmpty();
if (fowardQmlpuppetOutput)
- m_qmlPuppetPreviewProcess->setProcessChannelMode(QProcess::ForwardedChannels);
- m_qmlPuppetPreviewProcess->start(applicationPath, QStringList() << socketToken << "previewmode" << "-graphicssystem raster");
+ m_qmlPuppetEditorProcess->setProcessChannelMode(QProcess::ForwardedChannels);
+ m_qmlPuppetEditorProcess->start(applicationPath, QStringList() << socketToken << "editormode" << "-graphicssystem raster");
- m_qmlPuppetRenderProcess = new QProcess;
- connect(m_qmlPuppetRenderProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
- connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetRenderProcess.data(), SLOT(kill()));
- if (fowardQmlpuppetOutput)
- m_qmlPuppetRenderProcess->setProcessChannelMode(QProcess::ForwardedChannels);
- m_qmlPuppetRenderProcess->start(applicationPath, QStringList() << socketToken << "rendermode" << "-graphicssystem raster");
+ if (runModus == NormalModus) {
+ m_qmlPuppetPreviewProcess = new QProcess;
+ connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
+ connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetPreviewProcess.data(), SLOT(kill()));
+ if (fowardQmlpuppetOutput)
+ m_qmlPuppetPreviewProcess->setProcessChannelMode(QProcess::ForwardedChannels);
+ m_qmlPuppetPreviewProcess->start(applicationPath, QStringList() << socketToken << "previewmode" << "-graphicssystem raster");
- }
+ m_qmlPuppetRenderProcess = new QProcess;
+ connect(m_qmlPuppetRenderProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
+ connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetRenderProcess.data(), SLOT(kill()));
+ if (fowardQmlpuppetOutput)
+ m_qmlPuppetRenderProcess->setProcessChannelMode(QProcess::ForwardedChannels);
+ m_qmlPuppetRenderProcess->start(applicationPath, QStringList() << socketToken << "rendermode" << "-graphicssystem raster");
- connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(deleteLater()));
+ }
- m_qmlPuppetEditorProcess->waitForStarted();
+ connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(deleteLater()));
- connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int)), m_qmlPuppetEditorProcess.data(),SLOT(deleteLater()));
+ m_qmlPuppetEditorProcess->waitForStarted();
- if (runModus == NormalModus) {
- m_qmlPuppetPreviewProcess->waitForStarted();
- connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(finished(int)), m_qmlPuppetPreviewProcess.data(),SLOT(deleteLater()));
+ connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int)), m_qmlPuppetEditorProcess.data(),SLOT(deleteLater()));
- m_qmlPuppetRenderProcess->waitForStarted();
- connect(m_qmlPuppetRenderProcess.data(), SIGNAL(finished(int)), m_qmlPuppetRenderProcess.data(),SLOT(deleteLater()));
- }
+ if (runModus == NormalModus) {
+ m_qmlPuppetPreviewProcess->waitForStarted();
+ connect(m_qmlPuppetPreviewProcess.data(), SIGNAL(finished(int)), m_qmlPuppetPreviewProcess.data(),SLOT(deleteLater()));
- if (!m_localServer->hasPendingConnections())
- m_localServer->waitForNewConnection(-1);
+ m_qmlPuppetRenderProcess->waitForStarted();
+ connect(m_qmlPuppetRenderProcess.data(), SIGNAL(finished(int)), m_qmlPuppetRenderProcess.data(),SLOT(deleteLater()));
+ }
- m_firstSocket = m_localServer->nextPendingConnection();
- connect(m_firstSocket.data(), SIGNAL(readyRead()), this, SLOT(readFirstDataStream()));
-
- if (runModus == NormalModus) {
if (!m_localServer->hasPendingConnections())
m_localServer->waitForNewConnection(-1);
- m_secondSocket = m_localServer->nextPendingConnection();
- connect(m_secondSocket.data(), SIGNAL(readyRead()), this, SLOT(readSecondDataStream()));
+ m_firstSocket = m_localServer->nextPendingConnection();
+ connect(m_firstSocket.data(), SIGNAL(readyRead()), this, SLOT(readFirstDataStream()));
- if (!m_localServer->hasPendingConnections())
- m_localServer->waitForNewConnection(-1);
+ if (runModus == NormalModus) {
+ if (!m_localServer->hasPendingConnections())
+ m_localServer->waitForNewConnection(-1);
- m_thirdSocket = m_localServer->nextPendingConnection();
- connect(m_thirdSocket.data(), SIGNAL(readyRead()), this, SLOT(readThirdDataStream()));
+ m_secondSocket = m_localServer->nextPendingConnection();
+ connect(m_secondSocket.data(), SIGNAL(readyRead()), this, SLOT(readSecondDataStream()));
- }
+ if (!m_localServer->hasPendingConnections())
+ m_localServer->waitForNewConnection(-1);
+
+ m_thirdSocket = m_localServer->nextPendingConnection();
+ connect(m_thirdSocket.data(), SIGNAL(readyRead()), this, SLOT(readThirdDataStream()));
+
+ }
- m_localServer->close();
+ m_localServer->close();
+
+ } else {
+ QMessageBox::warning(0, tr("Cannot find qml puppet"), tr("Qml Puppet is a process which runs in the backgound to render the the items. If QtCreator cannot find the puppet something with the installation is wrong."));
+ }
}
NodeInstanceServerProxy::~NodeInstanceServerProxy()
@@ -449,11 +474,6 @@ void NodeInstanceServerProxy::changeState(const ChangeStateCommand &command)
writeCommand(QVariant::fromValue(command));
}
-void NodeInstanceServerProxy::addImport(const AddImportCommand &command)
-{
- writeCommand(QVariant::fromValue(command));
-}
-
void NodeInstanceServerProxy::completeComponent(const CompleteComponentCommand &command)
{
writeCommand(QVariant::fromValue(command));
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h
index 0a65d3d3f0..42b29db73e 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.h
@@ -69,7 +69,6 @@ public:
void reparentInstances(const ReparentInstancesCommand &command);
void changeIds(const ChangeIdsCommand &command);
void changeState(const ChangeStateCommand &command);
- void addImport(const AddImportCommand &command);
void completeComponent(const CompleteComponentCommand &command);
void changeNodeSource(const ChangeNodeSourceCommand &command);
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
index 90fd26ecce..472a179c94 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
@@ -74,7 +74,6 @@
#include "pixmapchangedcommand.h"
#include "informationchangedcommand.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "childrenchangedcommand.h"
#include "imagecontainer.h"
#include "statepreviewimagechangedcommand.h"
@@ -1005,11 +1004,6 @@ RemovePropertiesCommand NodeInstanceView::createRemovePropertiesCommand(const QL
return RemovePropertiesCommand(containerList);
}
-AddImportCommand NodeInstanceView::createImportCommand(const Import &import)
-{
- return AddImportCommand(AddImportContainer(import.url(), import.file(), import.version(), import.alias(), import.importPaths()));
-}
-
void NodeInstanceView::valuesChanged(const ValuesChangedCommand &command)
{
if (!model())
diff --git a/src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.cpp b/src/tools/qmlpuppet/commands/changeauxiliarycommand.cpp
index ce195f801a..ce195f801a 100644
--- a/src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.cpp
+++ b/src/tools/qmlpuppet/commands/changeauxiliarycommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.h b/src/tools/qmlpuppet/commands/changeauxiliarycommand.h
index a81ef92021..a81ef92021 100644
--- a/src/plugins/qmldesigner/designercore/instances/changeauxiliarycommand.h
+++ b/src/tools/qmlpuppet/commands/changeauxiliarycommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/changebindingscommand.cpp b/src/tools/qmlpuppet/commands/changebindingscommand.cpp
index c8ad839057..c8ad839057 100644
--- a/src/plugins/qmldesigner/designercore/instances/changebindingscommand.cpp
+++ b/src/tools/qmlpuppet/commands/changebindingscommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h b/src/tools/qmlpuppet/commands/changebindingscommand.h
index 0174153dc5..0174153dc5 100644
--- a/src/plugins/qmldesigner/designercore/instances/changebindingscommand.h
+++ b/src/tools/qmlpuppet/commands/changebindingscommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/changefileurlcommand.cpp b/src/tools/qmlpuppet/commands/changefileurlcommand.cpp
index c5440ecd6c..c5440ecd6c 100644
--- a/src/plugins/qmldesigner/designercore/instances/changefileurlcommand.cpp
+++ b/src/tools/qmlpuppet/commands/changefileurlcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changefileurlcommand.h b/src/tools/qmlpuppet/commands/changefileurlcommand.h
index 221e7eff7d..221e7eff7d 100644
--- a/src/plugins/qmldesigner/designercore/instances/changefileurlcommand.h
+++ b/src/tools/qmlpuppet/commands/changefileurlcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/changeidscommand.cpp b/src/tools/qmlpuppet/commands/changeidscommand.cpp
index 04c49637b3..c6c4658e34 100644
--- a/src/plugins/qmldesigner/designercore/instances/changeidscommand.cpp
+++ b/src/tools/qmlpuppet/commands/changeidscommand.cpp
@@ -4,29 +4,30 @@
**
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
**
-** Contact: Nokia Corporation (info@qt.nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
+** No Commercial Usage
+**
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** 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.
+** Alternatively, 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
+** 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.
-**
** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
+** Nokia at qt-info@nokia.com.
**
**************************************************************************/
diff --git a/src/plugins/qmldesigner/designercore/instances/changeidscommand.h b/src/tools/qmlpuppet/commands/changeidscommand.h
index fc1612b12e..47e6f927f6 100644
--- a/src/plugins/qmldesigner/designercore/instances/changeidscommand.h
+++ b/src/tools/qmlpuppet/commands/changeidscommand.h
@@ -4,29 +4,30 @@
**
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
**
-** Contact: Nokia Corporation (info@qt.nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
+** No Commercial Usage
+**
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** 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.
+** Alternatively, 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
+** 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.
-**
** If you have questions regarding the use of this file, please contact
-** Nokia at info@qt.nokia.com.
+** Nokia at qt-info@nokia.com.
**
**************************************************************************/
diff --git a/src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.cpp b/src/tools/qmlpuppet/commands/changenodesourcecommand.cpp
index 65b427c21e..65b427c21e 100644
--- a/src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.cpp
+++ b/src/tools/qmlpuppet/commands/changenodesourcecommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.h b/src/tools/qmlpuppet/commands/changenodesourcecommand.h
index 9a04e4811f..9a04e4811f 100644
--- a/src/plugins/qmldesigner/designercore/instances/changenodesourcecommand.h
+++ b/src/tools/qmlpuppet/commands/changenodesourcecommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/changestatecommand.cpp b/src/tools/qmlpuppet/commands/changestatecommand.cpp
index 18dbfb651a..18dbfb651a 100644
--- a/src/plugins/qmldesigner/designercore/instances/changestatecommand.cpp
+++ b/src/tools/qmlpuppet/commands/changestatecommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changestatecommand.h b/src/tools/qmlpuppet/commands/changestatecommand.h
index 1d3e1f61ea..1d3e1f61ea 100644
--- a/src/plugins/qmldesigner/designercore/instances/changestatecommand.h
+++ b/src/tools/qmlpuppet/commands/changestatecommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/changevaluescommand.cpp b/src/tools/qmlpuppet/commands/changevaluescommand.cpp
index 614ced2186..614ced2186 100644
--- a/src/plugins/qmldesigner/designercore/instances/changevaluescommand.cpp
+++ b/src/tools/qmlpuppet/commands/changevaluescommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/changevaluescommand.h b/src/tools/qmlpuppet/commands/changevaluescommand.h
index 96ce13aa72..96ce13aa72 100644
--- a/src/plugins/qmldesigner/designercore/instances/changevaluescommand.h
+++ b/src/tools/qmlpuppet/commands/changevaluescommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.cpp b/src/tools/qmlpuppet/commands/childrenchangedcommand.cpp
index 7559998c81..7559998c81 100644
--- a/src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/childrenchangedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.h b/src/tools/qmlpuppet/commands/childrenchangedcommand.h
index 8441c852a1..8441c852a1 100644
--- a/src/plugins/qmldesigner/designercore/instances/childrenchangedcommand.h
+++ b/src/tools/qmlpuppet/commands/childrenchangedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/clearscenecommand.cpp b/src/tools/qmlpuppet/commands/clearscenecommand.cpp
index 59685d5b9b..59685d5b9b 100644
--- a/src/plugins/qmldesigner/designercore/instances/clearscenecommand.cpp
+++ b/src/tools/qmlpuppet/commands/clearscenecommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/clearscenecommand.h b/src/tools/qmlpuppet/commands/clearscenecommand.h
index 52dbe7e965..52dbe7e965 100644
--- a/src/plugins/qmldesigner/designercore/instances/clearscenecommand.h
+++ b/src/tools/qmlpuppet/commands/clearscenecommand.h
diff --git a/src/tools/qmlpuppet/commands/commands.pri b/src/tools/qmlpuppet/commands/commands.pri
new file mode 100644
index 0000000000..c6c9282d1b
--- /dev/null
+++ b/src/tools/qmlpuppet/commands/commands.pri
@@ -0,0 +1,46 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/synchronizecommand.h
+HEADERS += $$PWD/componentcompletedcommand.h
+HEADERS += $$PWD/completecomponentcommand.h
+HEADERS += $$PWD/statepreviewimagechangedcommand.h
+HEADERS += $$PWD/childrenchangedcommand.h
+HEADERS += $$PWD/changebindingscommand.h
+HEADERS += $$PWD/changefileurlcommand.h
+HEADERS += $$PWD/changeidscommand.h
+HEADERS += $$PWD/changenodesourcecommand.h
+HEADERS += $$PWD/changestatecommand.h
+HEADERS += $$PWD/changevaluescommand.h
+HEADERS += $$PWD/createscenecommand.h
+HEADERS += $$PWD/clearscenecommand.h
+HEADERS += $$PWD/createinstancescommand.h
+HEADERS += $$PWD/informationchangedcommand.h
+HEADERS += $$PWD/pixmapchangedcommand.h
+HEADERS += $$PWD/removeinstancescommand.h
+HEADERS += $$PWD/removepropertiescommand.h
+HEADERS += $$PWD/reparentinstancescommand.h
+HEADERS += $$PWD/valueschangedcommand.h
+HEADERS += $$PWD/changeauxiliarycommand.h
+
+
+SOURCES += $$PWD/synchronizecommand.cpp
+SOURCES += $$PWD/componentcompletedcommand.cpp
+SOURCES += $$PWD/completecomponentcommand.cpp
+SOURCES += $$PWD/statepreviewimagechangedcommand.cpp
+SOURCES += $$PWD/childrenchangedcommand.cpp
+SOURCES += $$PWD/changebindingscommand.cpp
+SOURCES += $$PWD/changefileurlcommand.cpp
+SOURCES += $$PWD/changeidscommand.cpp
+SOURCES += $$PWD/changenodesourcecommand.cpp
+SOURCES += $$PWD/changestatecommand.cpp
+SOURCES += $$PWD/changevaluescommand.cpp
+SOURCES += $$PWD/informationchangedcommand.cpp
+SOURCES += $$PWD/removeinstancescommand.cpp
+SOURCES += $$PWD/removepropertiescommand.cpp
+SOURCES += $$PWD/reparentinstancescommand.cpp
+SOURCES += $$PWD/valueschangedcommand.cpp
+SOURCES += $$PWD/clearscenecommand.cpp
+SOURCES += $$PWD/createinstancescommand.cpp
+SOURCES += $$PWD/createscenecommand.cpp
+SOURCES += $$PWD/pixmapchangedcommand.cpp
+SOURCES += $$PWD/changeauxiliarycommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/completecomponentcommand.cpp b/src/tools/qmlpuppet/commands/completecomponentcommand.cpp
index 2f52f82d2b..2f52f82d2b 100644
--- a/src/plugins/qmldesigner/designercore/instances/completecomponentcommand.cpp
+++ b/src/tools/qmlpuppet/commands/completecomponentcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/completecomponentcommand.h b/src/tools/qmlpuppet/commands/completecomponentcommand.h
index 04af8ae044..04af8ae044 100644
--- a/src/plugins/qmldesigner/designercore/instances/completecomponentcommand.h
+++ b/src/tools/qmlpuppet/commands/completecomponentcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.cpp b/src/tools/qmlpuppet/commands/componentcompletedcommand.cpp
index 0fb0be0f51..0fb0be0f51 100644
--- a/src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/componentcompletedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.h b/src/tools/qmlpuppet/commands/componentcompletedcommand.h
index 95b67efc2f..95b67efc2f 100644
--- a/src/plugins/qmldesigner/designercore/instances/componentcompletedcommand.h
+++ b/src/tools/qmlpuppet/commands/componentcompletedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/createinstancescommand.cpp b/src/tools/qmlpuppet/commands/createinstancescommand.cpp
index dc2aed6260..dc2aed6260 100644
--- a/src/plugins/qmldesigner/designercore/instances/createinstancescommand.cpp
+++ b/src/tools/qmlpuppet/commands/createinstancescommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/createinstancescommand.h b/src/tools/qmlpuppet/commands/createinstancescommand.h
index 737c011157..737c011157 100644
--- a/src/plugins/qmldesigner/designercore/instances/createinstancescommand.h
+++ b/src/tools/qmlpuppet/commands/createinstancescommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/createscenecommand.cpp b/src/tools/qmlpuppet/commands/createscenecommand.cpp
index ed9a72f8b5..ed9a72f8b5 100644
--- a/src/plugins/qmldesigner/designercore/instances/createscenecommand.cpp
+++ b/src/tools/qmlpuppet/commands/createscenecommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/createscenecommand.h b/src/tools/qmlpuppet/commands/createscenecommand.h
index d37487c995..d37487c995 100644
--- a/src/plugins/qmldesigner/designercore/instances/createscenecommand.h
+++ b/src/tools/qmlpuppet/commands/createscenecommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/informationchangedcommand.cpp b/src/tools/qmlpuppet/commands/informationchangedcommand.cpp
index 394a0731b6..394a0731b6 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationchangedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/informationchangedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/informationchangedcommand.h b/src/tools/qmlpuppet/commands/informationchangedcommand.h
index fae3450963..fae3450963 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationchangedcommand.h
+++ b/src/tools/qmlpuppet/commands/informationchangedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.cpp b/src/tools/qmlpuppet/commands/pixmapchangedcommand.cpp
index e5d9b7ac4c..e5d9b7ac4c 100644
--- a/src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/pixmapchangedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.h b/src/tools/qmlpuppet/commands/pixmapchangedcommand.h
index 72ac843bee..72ac843bee 100644
--- a/src/plugins/qmldesigner/designercore/instances/pixmapchangedcommand.h
+++ b/src/tools/qmlpuppet/commands/pixmapchangedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/removeinstancescommand.cpp b/src/tools/qmlpuppet/commands/removeinstancescommand.cpp
index bc0b9a5508..bc0b9a5508 100644
--- a/src/plugins/qmldesigner/designercore/instances/removeinstancescommand.cpp
+++ b/src/tools/qmlpuppet/commands/removeinstancescommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/removeinstancescommand.h b/src/tools/qmlpuppet/commands/removeinstancescommand.h
index 37477f8d32..37477f8d32 100644
--- a/src/plugins/qmldesigner/designercore/instances/removeinstancescommand.h
+++ b/src/tools/qmlpuppet/commands/removeinstancescommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/removepropertiescommand.cpp b/src/tools/qmlpuppet/commands/removepropertiescommand.cpp
index 1ea4650407..1ea4650407 100644
--- a/src/plugins/qmldesigner/designercore/instances/removepropertiescommand.cpp
+++ b/src/tools/qmlpuppet/commands/removepropertiescommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/removepropertiescommand.h b/src/tools/qmlpuppet/commands/removepropertiescommand.h
index f00ee1679d..f00ee1679d 100644
--- a/src/plugins/qmldesigner/designercore/instances/removepropertiescommand.h
+++ b/src/tools/qmlpuppet/commands/removepropertiescommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.cpp b/src/tools/qmlpuppet/commands/reparentinstancescommand.cpp
index 4f5b6a381c..4f5b6a381c 100644
--- a/src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.cpp
+++ b/src/tools/qmlpuppet/commands/reparentinstancescommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.h b/src/tools/qmlpuppet/commands/reparentinstancescommand.h
index 252db8334f..252db8334f 100644
--- a/src/plugins/qmldesigner/designercore/instances/reparentinstancescommand.h
+++ b/src/tools/qmlpuppet/commands/reparentinstancescommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.cpp b/src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.cpp
index 4d6e37cf1d..4d6e37cf1d 100644
--- a/src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.h b/src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.h
index 63ec0c7e07..63ec0c7e07 100644
--- a/src/plugins/qmldesigner/designercore/instances/statepreviewimagechangedcommand.h
+++ b/src/tools/qmlpuppet/commands/statepreviewimagechangedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/synchronizecommand.cpp b/src/tools/qmlpuppet/commands/synchronizecommand.cpp
index d684c7e09d..d684c7e09d 100644
--- a/src/plugins/qmldesigner/designercore/instances/synchronizecommand.cpp
+++ b/src/tools/qmlpuppet/commands/synchronizecommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/synchronizecommand.h b/src/tools/qmlpuppet/commands/synchronizecommand.h
index 5380677066..5380677066 100644
--- a/src/plugins/qmldesigner/designercore/instances/synchronizecommand.h
+++ b/src/tools/qmlpuppet/commands/synchronizecommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/valueschangedcommand.cpp b/src/tools/qmlpuppet/commands/valueschangedcommand.cpp
index 0e29b55f7c..0e29b55f7c 100644
--- a/src/plugins/qmldesigner/designercore/instances/valueschangedcommand.cpp
+++ b/src/tools/qmlpuppet/commands/valueschangedcommand.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/valueschangedcommand.h b/src/tools/qmlpuppet/commands/valueschangedcommand.h
index aba5bbd233..aba5bbd233 100644
--- a/src/plugins/qmldesigner/designercore/instances/valueschangedcommand.h
+++ b/src/tools/qmlpuppet/commands/valueschangedcommand.h
diff --git a/src/plugins/qmldesigner/designercore/instances/addimportcontainer.cpp b/src/tools/qmlpuppet/container/addimportcontainer.cpp
index 178191b7d9..178191b7d9 100644
--- a/src/plugins/qmldesigner/designercore/instances/addimportcontainer.cpp
+++ b/src/tools/qmlpuppet/container/addimportcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/addimportcontainer.h b/src/tools/qmlpuppet/container/addimportcontainer.h
index e039235347..e039235347 100644
--- a/src/plugins/qmldesigner/designercore/instances/addimportcontainer.h
+++ b/src/tools/qmlpuppet/container/addimportcontainer.h
diff --git a/src/tools/qmlpuppet/container/container.pri b/src/tools/qmlpuppet/container/container.pri
new file mode 100644
index 0000000000..8889196708
--- /dev/null
+++ b/src/tools/qmlpuppet/container/container.pri
@@ -0,0 +1,21 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/addimportcontainer.h
+HEADERS += $$PWD/imagecontainer.h
+HEADERS += $$PWD/idcontainer.h
+HEADERS += $$PWD/informationcontainer.h
+HEADERS += $$PWD/instancecontainer.h
+HEADERS += $$PWD/reparentcontainer.h
+HEADERS += $$PWD/propertyabstractcontainer.h
+HEADERS += $$PWD/propertybindingcontainer.h
+HEADERS += $$PWD/propertyvaluecontainer.h
+
+SOURCES += $$PWD/addimportcontainer.cpp
+SOURCES += $$PWD/imagecontainer.cpp
+SOURCES += $$PWD/idcontainer.cpp
+SOURCES += $$PWD/informationcontainer.cpp
+SOURCES += $$PWD/instancecontainer.cpp
+SOURCES += $$PWD/reparentcontainer.cpp
+SOURCES += $$PWD/propertyabstractcontainer.cpp
+SOURCES += $$PWD/propertybindingcontainer.cpp
+SOURCES += $$PWD/propertyvaluecontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/idcontainer.cpp b/src/tools/qmlpuppet/container/idcontainer.cpp
index 6c71251541..6c71251541 100644
--- a/src/plugins/qmldesigner/designercore/instances/idcontainer.cpp
+++ b/src/tools/qmlpuppet/container/idcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/idcontainer.h b/src/tools/qmlpuppet/container/idcontainer.h
index b37530f70a..b37530f70a 100644
--- a/src/plugins/qmldesigner/designercore/instances/idcontainer.h
+++ b/src/tools/qmlpuppet/container/idcontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/imagecontainer.cpp b/src/tools/qmlpuppet/container/imagecontainer.cpp
index 10be2301c5..10be2301c5 100644
--- a/src/plugins/qmldesigner/designercore/instances/imagecontainer.cpp
+++ b/src/tools/qmlpuppet/container/imagecontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/imagecontainer.h b/src/tools/qmlpuppet/container/imagecontainer.h
index a9767032c6..a9767032c6 100644
--- a/src/plugins/qmldesigner/designercore/instances/imagecontainer.h
+++ b/src/tools/qmlpuppet/container/imagecontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/informationcontainer.cpp b/src/tools/qmlpuppet/container/informationcontainer.cpp
index 7339a207ba..7339a207ba 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationcontainer.cpp
+++ b/src/tools/qmlpuppet/container/informationcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/informationcontainer.h b/src/tools/qmlpuppet/container/informationcontainer.h
index 54bc98e823..54bc98e823 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationcontainer.h
+++ b/src/tools/qmlpuppet/container/informationcontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/instancecontainer.cpp b/src/tools/qmlpuppet/container/instancecontainer.cpp
index 57a1838576..57a1838576 100644
--- a/src/plugins/qmldesigner/designercore/instances/instancecontainer.cpp
+++ b/src/tools/qmlpuppet/container/instancecontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/instancecontainer.h b/src/tools/qmlpuppet/container/instancecontainer.h
index b80bec5d39..b80bec5d39 100644
--- a/src/plugins/qmldesigner/designercore/instances/instancecontainer.h
+++ b/src/tools/qmlpuppet/container/instancecontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/propertyabstractcontainer.cpp b/src/tools/qmlpuppet/container/propertyabstractcontainer.cpp
index 9ebf023089..9ebf023089 100644
--- a/src/plugins/qmldesigner/designercore/instances/propertyabstractcontainer.cpp
+++ b/src/tools/qmlpuppet/container/propertyabstractcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/include/propertyabstractcontainer.h b/src/tools/qmlpuppet/container/propertyabstractcontainer.h
index ab2cef8ce7..ab2cef8ce7 100644
--- a/src/plugins/qmldesigner/designercore/include/propertyabstractcontainer.h
+++ b/src/tools/qmlpuppet/container/propertyabstractcontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/propertybindingcontainer.cpp b/src/tools/qmlpuppet/container/propertybindingcontainer.cpp
index 032a6e7351..032a6e7351 100644
--- a/src/plugins/qmldesigner/designercore/instances/propertybindingcontainer.cpp
+++ b/src/tools/qmlpuppet/container/propertybindingcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/include/propertybindingcontainer.h b/src/tools/qmlpuppet/container/propertybindingcontainer.h
index aefe1ab54a..aefe1ab54a 100644
--- a/src/plugins/qmldesigner/designercore/include/propertybindingcontainer.h
+++ b/src/tools/qmlpuppet/container/propertybindingcontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/propertyvaluecontainer.cpp b/src/tools/qmlpuppet/container/propertyvaluecontainer.cpp
index 0840381ffe..0840381ffe 100644
--- a/src/plugins/qmldesigner/designercore/instances/propertyvaluecontainer.cpp
+++ b/src/tools/qmlpuppet/container/propertyvaluecontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/include/propertyvaluecontainer.h b/src/tools/qmlpuppet/container/propertyvaluecontainer.h
index 904ea42dcf..1a1ec3d395 100644
--- a/src/plugins/qmldesigner/designercore/include/propertyvaluecontainer.h
+++ b/src/tools/qmlpuppet/container/propertyvaluecontainer.h
@@ -38,8 +38,6 @@
#include <QVariant>
#include <QString>
-#include "commondefines.h"
-
namespace QmlDesigner {
diff --git a/src/plugins/qmldesigner/designercore/instances/reparentcontainer.cpp b/src/tools/qmlpuppet/container/reparentcontainer.cpp
index cc5ec5e1a6..cc5ec5e1a6 100644
--- a/src/plugins/qmldesigner/designercore/instances/reparentcontainer.cpp
+++ b/src/tools/qmlpuppet/container/reparentcontainer.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/reparentcontainer.h b/src/tools/qmlpuppet/container/reparentcontainer.h
index b6e130e9c9..b6e130e9c9 100644
--- a/src/plugins/qmldesigner/designercore/instances/reparentcontainer.h
+++ b/src/tools/qmlpuppet/container/reparentcontainer.h
diff --git a/src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.cpp b/src/tools/qmlpuppet/instances/behaviornodeinstance.cpp
index 63b87a8418..a89da2510b 100644
--- a/src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/behaviornodeinstance.cpp
@@ -34,8 +34,6 @@
#include <private/qdeclarativebehavior_p.h>
-#include "invalidnodeinstanceexception.h"
-
namespace QmlDesigner {
namespace Internal {
@@ -49,8 +47,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(QObject *object)
{
QDeclarativeBehavior* behavior = qobject_cast<QDeclarativeBehavior*>(object);
- if (behavior == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(behavior);
Pointer instance(new BehaviorNodeInstance(behavior));
diff --git a/src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.h b/src/tools/qmlpuppet/instances/behaviornodeinstance.h
index 3405c5d3a5..3405c5d3a5 100644
--- a/src/plugins/qmldesigner/designercore/instances/behaviornodeinstance.h
+++ b/src/tools/qmlpuppet/instances/behaviornodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.cpp b/src/tools/qmlpuppet/instances/childrenchangeeventfilter.cpp
index 443228b636..443228b636 100644
--- a/src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.cpp
+++ b/src/tools/qmlpuppet/instances/childrenchangeeventfilter.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.h b/src/tools/qmlpuppet/instances/childrenchangeeventfilter.h
index 457e1d74d6..457e1d74d6 100644
--- a/src/plugins/qmldesigner/designercore/instances/childrenchangeeventfilter.h
+++ b/src/tools/qmlpuppet/instances/childrenchangeeventfilter.h
diff --git a/src/plugins/qmldesigner/designercore/instances/componentnodeinstance.cpp b/src/tools/qmlpuppet/instances/componentnodeinstance.cpp
index 2ca11bf573..6fae496a17 100644
--- a/src/plugins/qmldesigner/designercore/instances/componentnodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/componentnodeinstance.cpp
@@ -32,10 +32,11 @@
#include "componentnodeinstance.h"
-#include <invalidnodeinstanceexception.h>
#include <QDeclarativeComponent>
#include <QDeclarativeContext>
+#include <QtDebug>
+
namespace QmlDesigner {
namespace Internal {
@@ -55,8 +56,7 @@ ComponentNodeInstance::Pointer ComponentNodeInstance::create(QObject *object)
{
QDeclarativeComponent *component = qobject_cast<QDeclarativeComponent *>(object);
- if (component == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(component);
Pointer instance(new ComponentNodeInstance(component));
diff --git a/src/plugins/qmldesigner/designercore/instances/componentnodeinstance.h b/src/tools/qmlpuppet/instances/componentnodeinstance.h
index 32c4b34414..32c4b34414 100644
--- a/src/plugins/qmldesigner/designercore/instances/componentnodeinstance.h
+++ b/src/tools/qmlpuppet/instances/componentnodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/dummycontextobject.cpp b/src/tools/qmlpuppet/instances/dummycontextobject.cpp
index feeb4bcfe2..feeb4bcfe2 100644
--- a/src/plugins/qmldesigner/designercore/instances/dummycontextobject.cpp
+++ b/src/tools/qmlpuppet/instances/dummycontextobject.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/dummycontextobject.h b/src/tools/qmlpuppet/instances/dummycontextobject.h
index 63843fd1ab..63843fd1ab 100644
--- a/src/plugins/qmldesigner/designercore/instances/dummycontextobject.h
+++ b/src/tools/qmlpuppet/instances/dummycontextobject.h
diff --git a/src/plugins/qmldesigner/designercore/instances/dummynodeinstance.cpp b/src/tools/qmlpuppet/instances/dummynodeinstance.cpp
index 5f487470a3..cf17278c25 100644
--- a/src/plugins/qmldesigner/designercore/instances/dummynodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/dummynodeinstance.cpp
@@ -32,10 +32,6 @@
#include "dummynodeinstance.h"
-#include <nodemetainfo.h>
-
-#include <invalidnodeinstanceexception.h>
-
namespace QmlDesigner {
namespace Internal {
diff --git a/src/plugins/qmldesigner/designercore/instances/dummynodeinstance.h b/src/tools/qmlpuppet/instances/dummynodeinstance.h
index 424aecd3d4..424aecd3d4 100644
--- a/src/plugins/qmldesigner/designercore/instances/dummynodeinstance.h
+++ b/src/tools/qmlpuppet/instances/dummynodeinstance.h
diff --git a/src/tools/qmlpuppet/instances/instances.pri b/src/tools/qmlpuppet/instances/instances.pri
new file mode 100644
index 0000000000..af88d6bd73
--- /dev/null
+++ b/src/tools/qmlpuppet/instances/instances.pri
@@ -0,0 +1,34 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/behaviornodeinstance.h
+
+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
+HEADERS += $$PWD/objectnodeinstance.h
+HEADERS += $$PWD/qmlpropertychangesnodeinstance.h
+HEADERS += $$PWD/qmlstatenodeinstance.h
+HEADERS += $$PWD/qmltransitionnodeinstance.h
+HEADERS += $$PWD/servernodeinstance.h
+
+
+SOURCES += $$PWD/behaviornodeinstance.cpp
+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
+SOURCES += $$PWD/objectnodeinstance.cpp
+SOURCES += $$PWD/qmlpropertychangesnodeinstance.cpp
+SOURCES += $$PWD/qmlstatenodeinstance.cpp
+SOURCES += $$PWD/qmltransitionnodeinstance.cpp
+SOURCES += $$PWD/servernodeinstance.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.cpp b/src/tools/qmlpuppet/instances/nodeinstanceclientproxy.cpp
index 700161c840..ad10cdc57c 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.cpp
+++ b/src/tools/qmlpuppet/instances/nodeinstanceclientproxy.cpp
@@ -37,9 +37,7 @@
#include <QCoreApplication>
#include <QStringList>
-#include "informationnodeinstanceserver.h"
-#include "previewnodeinstanceserver.h"
-#include "rendernodeinstanceserver.h"
+#include "nodeinstanceserverinterface.h"
#include "propertyabstractcontainer.h"
#include "propertyvaluecontainer.h"
@@ -57,7 +55,6 @@
#include "reparentinstancescommand.h"
#include "changeidscommand.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "completecomponentcommand.h"
#include "synchronizecommand.h"
@@ -80,14 +77,10 @@ NodeInstanceClientProxy::NodeInstanceClientProxy(QObject *parent)
m_lastReadCommandCounter(0),
m_synchronizeId(-1)
{
- if (QCoreApplication::arguments().at(2) == QLatin1String("previewmode")) {
- m_nodeInstanceServer = new PreviewNodeInstanceServer(this);
- } else if (QCoreApplication::arguments().at(2) == QLatin1String("editormode")) {
- m_nodeInstanceServer = new InformationNodeInstanceServer(this);
- } else if (QCoreApplication::arguments().at(2) == QLatin1String("rendermode")) {
- m_nodeInstanceServer = new RenderNodeInstanceServer(this);
- }
+}
+void NodeInstanceClientProxy::initializeSocket()
+{
m_socket = new QLocalSocket(this);
connect(m_socket, SIGNAL(readyRead()), this, SLOT(readDataStream()));
connect(m_socket, SIGNAL(error(QLocalSocket::LocalSocketError)), QCoreApplication::instance(), SLOT(quit()));
@@ -200,6 +193,11 @@ NodeInstanceServerInterface *NodeInstanceClientProxy::nodeInstanceServer() const
return m_nodeInstanceServer;
}
+void NodeInstanceClientProxy::setNodeInstanceServer(NodeInstanceServerInterface *nodeInstanceServer)
+{
+ m_nodeInstanceServer = nodeInstanceServer;
+}
+
void NodeInstanceClientProxy::createInstances(const CreateInstancesCommand &command)
{
nodeInstanceServer()->createInstances(command);
@@ -260,11 +258,6 @@ void NodeInstanceClientProxy::changeState(const ChangeStateCommand &command)
nodeInstanceServer()->changeState(command);
}
-void NodeInstanceClientProxy::addImport(const AddImportCommand &command)
-{
- nodeInstanceServer()->addImport(command);
-}
-
void NodeInstanceClientProxy::completeComponent(const CompleteComponentCommand &command)
{
nodeInstanceServer()->completeComponent(command);
@@ -289,7 +282,6 @@ void NodeInstanceClientProxy::dispatchCommand(const QVariant &command)
static const int reparentInstancesCommandType = QMetaType::type("ReparentInstancesCommand");
static const int changeIdsCommandType = QMetaType::type("ChangeIdsCommand");
static const int changeStateCommandType = QMetaType::type("ChangeStateCommand");
- static const int addImportCommandType = QMetaType::type("AddImportCommand");
static const int completeComponentCommandType = QMetaType::type("CompleteComponentCommand");
static const int synchronizeCommandType = QMetaType::type("SynchronizeCommand");
static const int changeNodeSourceCommandType = QMetaType::type("ChangeNodeSourceCommand");
@@ -318,8 +310,6 @@ void NodeInstanceClientProxy::dispatchCommand(const QVariant &command)
changeIds(command.value<ChangeIdsCommand>());
else if (command.userType() == changeStateCommandType)
changeState(command.value<ChangeStateCommand>());
- else if (command.userType() == addImportCommandType)
- addImport(command.value<AddImportCommand>());
else if (command.userType() == completeComponentCommandType)
completeComponent(command.value<CompleteComponentCommand>());
else if (command.userType() == changeNodeSourceCommandType)
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.h b/src/tools/qmlpuppet/instances/nodeinstanceclientproxy.h
index 1fe067d39b..0ee07bf354 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceclientproxy.h
+++ b/src/tools/qmlpuppet/instances/nodeinstanceclientproxy.h
@@ -57,11 +57,11 @@ class ChangeBindingsCommand;
class ChangeIdsCommand;
class RemoveInstancesCommand;
class RemovePropertiesCommand;
-class AddImportCommand;
class CompleteComponentCommand;
class ChangeStateCommand;
class ChangeNodeSourceCommand;
+
class NodeInstanceClientProxy : public QObject, public NodeInstanceClientInterface
{
Q_OBJECT
@@ -81,9 +81,11 @@ public:
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);
@@ -97,7 +99,6 @@ protected:
void reparentInstances(const ReparentInstancesCommand &command);
void changeIds(const ChangeIdsCommand &command);
void changeState(const ChangeStateCommand &command);
- void addImport(const AddImportCommand &command);
void completeComponent(const CompleteComponentCommand &command);
void changeNodeSource(const ChangeNodeSourceCommand &command);
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp b/src/tools/qmlpuppet/instances/nodeinstancemetaobject.cpp
index 646452d339..646452d339 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp
+++ b/src/tools/qmlpuppet/instances/nodeinstancemetaobject.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.h b/src/tools/qmlpuppet/instances/nodeinstancemetaobject.h
index e19490a875..e19490a875 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.h
+++ b/src/tools/qmlpuppet/instances/nodeinstancemetaobject.h
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp b/src/tools/qmlpuppet/instances/nodeinstanceserver.cpp
index 92d284be7a..57c9f7612a 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp
+++ b/src/tools/qmlpuppet/instances/nodeinstanceserver.cpp
@@ -32,11 +32,7 @@
#include "nodeinstanceserver.h"
-#include <QGraphicsItem>
-#include <private/qgraphicsitem_p.h>
-#include <private/qgraphicsscene_p.h>
#include <QDeclarativeEngine>
-#include <QDeclarativeView>
#include <QFileSystemWatcher>
#include <QUrl>
#include <QSet>
@@ -73,7 +69,6 @@
#include "commondefines.h"
#include "childrenchangeeventfilter.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "childrenchangedcommand.h"
#include "completecomponentcommand.h"
#include "componentcompletedcommand.h"
@@ -96,20 +91,18 @@ NodeInstanceServer::NodeInstanceServer(NodeInstanceClientInterface *nodeInstance
{
qmlRegisterType<DummyContextObject>("QmlDesigner", 1, 0, "DummyContextObject");
- m_importList.append("import QtQuick 1.0\n");
connect(m_childrenChangeEventFilter.data(), SIGNAL(childrenChanged(QObject*)), this, SLOT(emitParentChanged(QObject*)));
}
NodeInstanceServer::~NodeInstanceServer()
{
- delete m_declarativeView.data();
}
QList<ServerNodeInstance> NodeInstanceServer::createInstances(const QVector<InstanceContainer> &containerVector)
{
- Q_ASSERT(m_declarativeView);
+ Q_ASSERT(declarativeView() || sgView());
QList<ServerNodeInstance> instanceList;
- foreach(const InstanceContainer &instanceContainer, containerVector) {
+ foreach (const InstanceContainer &instanceContainer, containerVector) {
ServerNodeInstance instance;
if (instanceContainer.nodeSourceType() == InstanceContainer::ComponentSource) {
instance = ServerNodeInstance::create(this, instanceContainer, ServerNodeInstance::WrapAsComponent);
@@ -121,11 +114,7 @@ QList<ServerNodeInstance> NodeInstanceServer::createInstances(const QVector<Ins
instance.internalObject()->installEventFilter(childrenChangeEventFilter());
if (instanceContainer.instanceId() == 0) {
m_rootNodeInstance = instance;
- QGraphicsObject *rootGraphicsObject = qobject_cast<QGraphicsObject*>(instance.internalObject());
- if (rootGraphicsObject) {
- m_declarativeView->scene()->addItem(rootGraphicsObject);
- m_declarativeView->setSceneRect(rootGraphicsObject->boundingRect());
- }
+ resizeCanvasSizeToRootItemSize();
}
foreach (QDeclarativeContext* context, allSubContextsForObject(instance.internalObject()))
@@ -235,7 +224,10 @@ void NodeInstanceServer::stopRenderTimer()
void NodeInstanceServer::createScene(const CreateSceneCommand &command)
{
- initializeDeclarativeView();
+ initializeView(command.imports());
+ QUnifiedTimer::instance()->setSlowdownFactor(0.00001);
+ QUnifiedTimer::instance()->setSlowModeEnabled(true);
+
QList<ServerNodeInstance> instanceList = setupScene(command);
refreshBindings();
@@ -252,8 +244,6 @@ void NodeInstanceServer::clearScene(const ClearSceneCommand &/*command*/)
m_rootNodeInstance.makeInvalid();
m_changedPropertyList.clear();
m_fileUrl.clear();
-
- delete m_declarativeView.data();
}
void NodeInstanceServer::removeInstances(const RemoveInstancesCommand &command)
@@ -262,7 +252,7 @@ void NodeInstanceServer::removeInstances(const RemoveInstancesCommand &command)
if (activeStateInstance().isValid())
activeStateInstance().deactivateState();
- foreach(qint32 instanceId, command.instanceIds()) {
+ foreach (qint32 instanceId, command.instanceIds()) {
removeInstanceRelationsip(instanceId);
}
@@ -276,7 +266,7 @@ void NodeInstanceServer::removeInstances(const RemoveInstancesCommand &command)
void NodeInstanceServer::removeProperties(const RemovePropertiesCommand &command)
{
bool hasDynamicProperties = false;
- foreach(const PropertyAbstractContainer &container, command.properties()) {
+ foreach (const PropertyAbstractContainer &container, command.properties()) {
hasDynamicProperties |= container.isDynamic();
resetInstanceProperty(container);
}
@@ -289,7 +279,7 @@ void NodeInstanceServer::removeProperties(const RemovePropertiesCommand &command
void NodeInstanceServer::reparentInstances(const QVector<ReparentContainer> &containerVector)
{
- foreach(const ReparentContainer &container, containerVector) {
+ foreach (const ReparentContainer &container, containerVector) {
ServerNodeInstance instance = instanceForId(container.instanceId());
if (instance.isValid()) {
instance.reparent(instanceForId(container.oldParentInstanceId()), container.oldParentProperty(), instanceForId(container.newParentInstanceId()), container.newParentProperty());
@@ -324,7 +314,7 @@ void NodeInstanceServer::completeComponent(const CompleteComponentCommand &comma
{
QList<ServerNodeInstance> instanceList;
- foreach(qint32 instanceId, command.instances()) {
+ foreach (qint32 instanceId, command.instances()) {
if (hasInstanceForId(instanceId)) {
ServerNodeInstance instance = instanceForId(instanceId);
instance.doComponentComplete();
@@ -348,7 +338,7 @@ void NodeInstanceServer::changeNodeSource(const ChangeNodeSourceCommand &command
startRenderTimer();
}
-void NodeInstanceServer::addImports(const QVector<AddImportContainer> &containerVector)
+void NodeInstanceServer::setupImports(const QVector<AddImportContainer> &containerVector)
{
foreach (const AddImportContainer &container, containerVector) {
QString importStatement = QString("import ");
@@ -375,7 +365,7 @@ void NodeInstanceServer::addImports(const QVector<AddImportContainer> &container
m_importComponent = new QDeclarativeComponent(engine(), 0);
QString componentString;
- foreach(const QString &importStatement, m_importList)
+ foreach (const QString &importStatement, m_importList)
componentString += QString("%1").arg(importStatement);
componentString += QString("Item {}\n");
@@ -387,9 +377,61 @@ void NodeInstanceServer::addImports(const QVector<AddImportContainer> &container
qDebug() << "QmlDesigner.NodeInstances: import wrong: " << m_importComponent->errorString();
}
-void NodeInstanceServer::addImport(const AddImportCommand &command)
+void NodeInstanceServer::setupFileUrl(const QUrl &fileUrl)
+{
+ if (fileUrl.isEmpty()) {
+ engine()->setBaseUrl(fileUrl);
+ m_fileUrl = fileUrl;
+ }
+}
+
+void NodeInstanceServer::setupDummyData(const QUrl &fileUrl)
{
- addImports(QVector<AddImportContainer>() << command.import());
+ if (!fileUrl.isEmpty()) {
+ QStringList dummyDataDirectoryList = dummyDataDirectories(QFileInfo(fileUrl.toLocalFile()).path());
+ foreach (const QString &dummyDataDirectory, dummyDataDirectoryList)
+ loadDummyDataFiles(dummyDataDirectory);
+ }
+}
+
+QList<ServerNodeInstance> NodeInstanceServer::setupInstances(const CreateSceneCommand &command)
+{
+ QList<ServerNodeInstance> instanceList = createInstances(command.instances());
+ reparentInstances(command.reparentInstances());
+
+ foreach (const IdContainer &container, command.ids()) {
+ if (hasInstanceForId(container.instanceId()))
+ instanceForId(container.instanceId()).setId(container.id());
+ }
+
+ foreach (const PropertyValueContainer &container, command.valueChanges()) {
+ if (container.isDynamic())
+ setInstancePropertyVariant(container);
+ }
+
+ foreach (const PropertyValueContainer &container, command.valueChanges()) {
+ if (!container.isDynamic())
+ setInstancePropertyVariant(container);
+ }
+
+ foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
+ if (container.isDynamic())
+ setInstancePropertyBinding(container);
+ }
+
+ foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
+ if (!container.isDynamic())
+ setInstancePropertyBinding(container);
+ }
+
+ foreach (const PropertyValueContainer &container, command.auxiliaryChanges()) {
+ setInstanceAuxiliaryData(container);
+ }
+
+ foreach (ServerNodeInstance instance, instanceList)
+ instance.doComponentComplete();
+
+ return instanceList;
}
void NodeInstanceServer::changeFileUrl(const ChangeFileUrlCommand &command)
@@ -406,7 +448,7 @@ void NodeInstanceServer::changeFileUrl(const ChangeFileUrlCommand &command)
void NodeInstanceServer::changePropertyValues(const ChangeValuesCommand &command)
{
bool hasDynamicProperties = false;
- foreach(const PropertyValueContainer &container, command.valueChanges()) {
+ foreach (const PropertyValueContainer &container, command.valueChanges()) {
hasDynamicProperties |= container.isDynamic();
setInstancePropertyVariant(container);
}
@@ -429,7 +471,7 @@ void NodeInstanceServer::changeAuxiliaryValues(const ChangeAuxiliaryCommand &com
void NodeInstanceServer::changePropertyBindings(const ChangeBindingsCommand &command)
{
bool hasDynamicProperties = false;
- foreach(const PropertyBindingContainer &container, command.bindingChanges()) {
+ foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
hasDynamicProperties |= container.isDynamic();
setInstancePropertyBinding(container);
}
@@ -442,7 +484,7 @@ void NodeInstanceServer::changePropertyBindings(const ChangeBindingsCommand &com
void NodeInstanceServer::changeIds(const ChangeIdsCommand &command)
{
- foreach(const IdContainer &container, command.ids()) {
+ foreach (const IdContainer &container, command.ids()) {
if (hasInstanceForId(container.instanceId()))
instanceForId(container.instanceId()).setId(container.id());
}
@@ -451,14 +493,6 @@ void NodeInstanceServer::changeIds(const ChangeIdsCommand &command)
startRenderTimer();
}
-QDeclarativeEngine *NodeInstanceServer::engine() const
-{
- if (m_declarativeView)
- return m_declarativeView->engine();
-
- return 0;
-}
-
QDeclarativeContext *NodeInstanceServer::context() const
{
if (m_importComponentObject) {
@@ -468,14 +502,14 @@ QDeclarativeContext *NodeInstanceServer::context() const
}
if (engine())
- return engine()->rootContext();
+ return rootContext();
return 0;
}
-QDeclarativeView *NodeInstanceServer::delcarativeView() const
+QDeclarativeContext *NodeInstanceServer::rootContext() const
{
- return m_declarativeView.data();
+ return engine()->rootContext();
}
const QVector<NodeInstanceServer::InstancePropertyPair> NodeInstanceServer::changedPropertyList() const
@@ -525,12 +559,6 @@ QList<QObject*> NodeInstanceServer::allSubObjectsForObject(QObject *object)
return subChildren;
}
-void NodeInstanceServer::refreshBindings()
-{
- static int counter = 0;
- engine()->rootContext()->setContextProperty(QString("__%1").arg(counter++), 0); // refreshing bindings
-}
-
void NodeInstanceServer::removeAllInstanceRelationships()
{
// prevent destroyed() signals calling back
@@ -601,7 +629,7 @@ void NodeInstanceServer::removeFilePropertyFromFileSystemWatcher(QObject *object
void NodeInstanceServer::refreshLocalFileProperty(const QString &path)
{
if (m_fileSystemWatcherHash.contains(path)) {
- foreach(const ObjectPropertyPair &objectPropertyPair, m_fileSystemWatcherHash) {
+ foreach (const ObjectPropertyPair &objectPropertyPair, m_fileSystemWatcherHash) {
QObject *object = objectPropertyPair.first.data();
QString propertyName = objectPropertyPair.second;
@@ -666,7 +694,7 @@ void NodeInstanceServer::resetInstanceProperty(const PropertyAbstractContainer &
}
if (propertyContainer.isDynamic() && propertyContainer.instanceId() == 0 && engine())
- engine()->rootContext()->setContextProperty(name, QVariant());
+ rootContext()->setContextProperty(name, QVariant());
}
}
@@ -730,7 +758,7 @@ void NodeInstanceServer::setInstancePropertyVariant(const PropertyValueContainer
}
if (valueContainer.isDynamic() && valueContainer.instanceId() == 0 && engine())
- engine()->rootContext()->setContextProperty(name, value);
+ rootContext()->setContextProperty(name, value);
}
}
@@ -788,7 +816,7 @@ ChildrenChangedCommand NodeInstanceServer::createChildrenChangedCommand(const Se
{
QVector<qint32> instanceVector;
- foreach(const ServerNodeInstance &instance, instanceList)
+ foreach (const ServerNodeInstance &instance, instanceList)
instanceVector.append(instance.instanceId());
return ChildrenChangedCommand(parentInstance.instanceId(), instanceVector);
@@ -798,7 +826,7 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand
{
QVector<InformationContainer> informationVector;
- foreach(const ServerNodeInstance &instance, instanceList) {
+ foreach (const ServerNodeInstance &instance, instanceList) {
informationVector.append(InformationContainer(instance.instanceId(), Position, instance.position()));
informationVector.append(InformationContainer(instance.instanceId(), Transform, instance.transform()));
informationVector.append(InformationContainer(instance.instanceId(), SceneTransform, instance.sceneTransform()));
@@ -878,8 +906,8 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<
{
QVector<PropertyValueContainer> valueVector;
- foreach(const ServerNodeInstance &instance, instanceList) {
- foreach(const QString &propertyName, instance.propertyNames()) {
+ foreach (const ServerNodeInstance &instance, instanceList) {
+ foreach (const QString &propertyName, instance.propertyNames()) {
QVariant propertyValue = instance.property(propertyName);
if (supportedVariantType(propertyValue.type()))
valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString()));
@@ -908,7 +936,7 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QVecto
const QString propertyName = property.second;
const ServerNodeInstance instance = property.first;
- if( instance.isValid()) {
+ if ( instance.isValid()) {
QVariant propertyValue = instance.property(propertyName);
if (supportedVariantType(propertyValue.type()))
valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString()));
@@ -923,6 +951,11 @@ QStringList NodeInstanceServer::imports() const
return m_importList;
}
+void NodeInstanceServer::addImportString(const QString &import)
+{
+ m_importList.append(import);
+}
+
QObject *NodeInstanceServer::dummyContextObject() const
{
return m_dummyContextObject.data();
@@ -967,89 +1000,22 @@ PixmapChangedCommand NodeInstanceServer::createPixmapChangedCommand(const QList<
return PixmapChangedCommand(imageVector);
}
-bool NodeInstanceServer::nonInstanceChildIsDirty(QGraphicsObject *graphicsObject) const
-{
- QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(graphicsObject);
- if (d->dirtyChildren) {
- foreach(QGraphicsItem *child, graphicsObject->childItems()) {
- QGraphicsObject *childGraphicsObject = child->toGraphicsObject();
- if (hasInstanceForObject(childGraphicsObject))
- continue;
-
- QGraphicsItemPrivate *childPrivate = QGraphicsItemPrivate::get(child);
- if (childPrivate->dirty || nonInstanceChildIsDirty(childGraphicsObject))
- return true;
- }
- }
-
- return false;
-}
-
-void NodeInstanceServer::resetAllItems()
-{
-// m_declarativeView->scene()->update();
-// m_declarativeView->viewport()->repaint();
- static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(m_declarativeView->scene()))->processDirtyItemsEmitted = true;
-
- foreach (QGraphicsItem *item, m_declarativeView->items())
- static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(m_declarativeView->scene()))->resetDirtyItem(item);
-}
-
-void NodeInstanceServer::initializeDeclarativeView()
-{
- Q_ASSERT(!m_declarativeView.data());
-
- m_declarativeView = new QDeclarativeView;
-#ifndef Q_WS_MAC
- m_declarativeView->setAttribute(Qt::WA_DontShowOnScreen, true);
-#endif
- m_declarativeView->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
- m_declarativeView->show();
-#ifdef Q_WS_MAC
- m_declarativeView->setAttribute(Qt::WA_DontShowOnScreen, true);
-#endif
- QUnifiedTimer::instance()->setSlowdownFactor(0.00001);
- QUnifiedTimer::instance()->setSlowModeEnabled(true);
-}
-
-QImage NodeInstanceServer::renderPreviewImage()
-{
- QSize size = rootNodeInstance().boundingRect().size().toSize();
- size.scale(100, 100, Qt::KeepAspectRatio);
-
- QImage image(size, QImage::Format_ARGB32);
- image.fill(0xFFFFFFFF);
-
- if (m_declarativeView) {
- QPainter painter(&image);
- painter.setRenderHint(QPainter::Antialiasing, true);
- painter.setRenderHint(QPainter::TextAntialiasing, true);
- painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
- painter.setRenderHint(QPainter::HighQualityAntialiasing, true);
- painter.setRenderHint(QPainter::NonCosmeticDefaultPen, true);
-
- m_declarativeView->scene()->render(&painter, image.rect(), rootNodeInstance().boundingRect().toRect(), Qt::IgnoreAspectRatio);
- }
-
- return image;
-}
-
void NodeInstanceServer::loadDummyDataFile(const QFileInfo& qmlFileInfo)
{
QDeclarativeComponent component(engine(), qmlFileInfo.filePath());
QObject *dummyData = component.create();
- if(component.isError()) {
+ if (component.isError()) {
QList<QDeclarativeError> errors = component.errors();
foreach (const QDeclarativeError &error, errors) {
qWarning() << error;
}
}
- QVariant oldDummyDataObject = m_declarativeView->rootContext()->contextProperty(qmlFileInfo.completeBaseName());
+ QVariant oldDummyDataObject = rootContext()->contextProperty(qmlFileInfo.completeBaseName());
if (dummyData) {
qWarning() << "Loaded dummy data:" << qmlFileInfo.filePath();
- m_declarativeView->rootContext()->setContextProperty(qmlFileInfo.completeBaseName(), dummyData);
+ rootContext()->setContextProperty(qmlFileInfo.completeBaseName(), dummyData);
dummyData->setParent(this);
m_dummyObjectList.append(DummyPair(qmlFileInfo.completeBaseName(), dummyData));
}
@@ -1073,7 +1039,7 @@ void NodeInstanceServer::loadDummyContextObjectFile(const QFileInfo& qmlFileInfo
QDeclarativeComponent component(engine(), qmlFileInfo.filePath());
m_dummyContextObject = component.create();
- if(component.isError()) {
+ if (component.isError()) {
QList<QDeclarativeError> errors = component.errors();
foreach (const QDeclarativeError &error, errors) {
qWarning() << error;
@@ -1105,7 +1071,7 @@ void NodeInstanceServer::loadDummyDataFiles(const QString& directory)
}
}
-QStringList dummyDataDirectories(const QString& directoryPath)
+QStringList NodeInstanceServer::dummyDataDirectories(const QString& directoryPath)
{
QStringList dummyDataDirectoryList;
QDir directory(directoryPath);
@@ -1120,64 +1086,6 @@ QStringList dummyDataDirectories(const QString& directoryPath)
}
}
-QList<ServerNodeInstance> NodeInstanceServer::setupScene(const CreateSceneCommand &command)
-{
- if (!command.fileUrl().isEmpty()) {
- engine()->setBaseUrl(command.fileUrl());
- m_fileUrl = command.fileUrl();
- }
-
- addImports(command.imports());
-
- if (!command.fileUrl().isEmpty()) {
- QStringList dummyDataDirectoryList = dummyDataDirectories(QFileInfo(command.fileUrl().toLocalFile()).path());
- foreach(const QString &dummyDataDirectory, dummyDataDirectoryList)
- loadDummyDataFiles(dummyDataDirectory);
- }
-
- static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(m_declarativeView->scene()))->processDirtyItemsEmitted = true;
-
- QList<ServerNodeInstance> instanceList = createInstances(command.instances());
- reparentInstances(command.reparentInstances());
-
- foreach (const IdContainer &container, command.ids()) {
- if (hasInstanceForId(container.instanceId()))
- instanceForId(container.instanceId()).setId(container.id());
- }
-
- foreach (const PropertyValueContainer &container, command.valueChanges()) {
- if (container.isDynamic())
- setInstancePropertyVariant(container);
- }
-
- foreach (const PropertyValueContainer &container, command.valueChanges()) {
- if (!container.isDynamic())
- setInstancePropertyVariant(container);
- }
-
- foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
- if (container.isDynamic())
- setInstancePropertyBinding(container);
- }
-
- foreach (const PropertyBindingContainer &container, command.bindingChanges()) {
- if (!container.isDynamic())
- setInstancePropertyBinding(container);
- }
-
- foreach (const PropertyValueContainer &container, command.auxiliaryChanges()) {
- setInstanceAuxiliaryData(container);
- }
-
- foreach (ServerNodeInstance instance, instanceList)
- instance.doComponentComplete();
-
- m_declarativeView->scene()->setSceneRect(rootNodeInstance().boundingRect());
-
- return instanceList;
-}
-
-
}
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h b/src/tools/qmlpuppet/instances/nodeinstanceserver.h
index 24f275c800..cb49bd50f2 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.h
+++ b/src/tools/qmlpuppet/instances/nodeinstanceserver.h
@@ -44,6 +44,7 @@
QT_BEGIN_NAMESPACE
class QFileSystemWatcher;
class QDeclarativeView;
+class QSGView;
class QDeclarativeEngine;
class QGraphicsObject;
class QFileInfo;
@@ -89,7 +90,6 @@ public:
void removeProperties(const RemovePropertiesCommand &command);
void reparentInstances(const ReparentInstancesCommand &command);
void changeState(const ChangeStateCommand &command);
- void addImport(const AddImportCommand &command);
void completeComponent(const CompleteComponentCommand &command);
void changeNodeSource(const ChangeNodeSourceCommand &command);
@@ -99,7 +99,7 @@ public:
ServerNodeInstance instanceForObject(QObject *object) const;
bool hasInstanceForObject(QObject *object) const;
- QDeclarativeEngine *engine() const;
+ virtual QDeclarativeEngine *engine() const = 0;
QDeclarativeContext *context() const;
void removeAllInstanceRelationships();
@@ -131,7 +131,7 @@ public slots:
protected:
QList<ServerNodeInstance> createInstances(const QVector<InstanceContainer> &container);
void reparentInstances(const QVector<ReparentContainer> &containerVector);
- void addImports(const QVector<AddImportContainer> &container);
+ void addImportString(const QString &import);
Internal::ChildrenChangeEventFilter *childrenChangeEventFilter();
void resetInstanceProperty(const PropertyAbstractContainer &propertyContainer);
@@ -147,9 +147,8 @@ protected:
void timerEvent(QTimerEvent *);
- bool nonInstanceChildIsDirty(QGraphicsObject *graphicsObject) const;
virtual void collectItemChangesAndSendChangeCommands() = 0;
- void resetAllItems();
+
ValuesChangedCommand createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const;
ValuesChangedCommand createValuesChangedCommand(const QVector<InstancePropertyPair> &propertyList) const;
@@ -167,27 +166,38 @@ protected:
int renderTimerInterval() const;
void setSlowRenderTimerInterval(int timerInterval);
- void initializeDeclarativeView();
- QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command);
+ virtual void initializeView(const QVector<AddImportContainer> &importVector) = 0;
+ virtual QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command) = 0;
void loadDummyDataFiles(const QString& directory);
void loadDummyDataFile(const QFileInfo& fileInfo);
void loadDummyContextObjectFile(const QFileInfo& fileInfo);
- QImage renderPreviewImage();
+ static QStringList dummyDataDirectories(const QString& directoryPath);
void setTimerId(int timerId);
int timerId() const;
- QDeclarativeView *delcarativeView() const;
+ virtual QDeclarativeView *declarativeView() const = 0;
+ virtual QSGView *sgView() const = 0;
+ QDeclarativeContext *rootContext() const;
+
+
const QVector<InstancePropertyPair> changedPropertyList() const;
void clearChangedPropertyList();
- void refreshBindings();
+ virtual void refreshBindings() = 0;
void setupDummysForContext(QDeclarativeContext *context);
+ void setupFileUrl(const QUrl &fileUrl);
+ void setupImports(const QVector<AddImportContainer> &container);
+ void setupDummyData(const QUrl &fileUrl);
+ QList<ServerNodeInstance> setupInstances(const CreateSceneCommand &command);
+
QList<QDeclarativeContext*> allSubContextsForObject(QObject *object);
static QList<QObject*> allSubObjectsForObject(QObject *object);
+ virtual void resizeCanvasSizeToRootItemSize() = 0;
+
private:
ServerNodeInstance m_rootNodeInstance;
ServerNodeInstance m_activeStateInstance;
@@ -197,7 +207,6 @@ private:
QList<QPair<QString, QWeakPointer<QObject> > > m_dummyObjectList;
QWeakPointer<QFileSystemWatcher> m_fileSystemWatcher;
QWeakPointer<QFileSystemWatcher> m_dummdataFileSystemWatcher;
- QWeakPointer<QDeclarativeView> m_declarativeView;
QWeakPointer<Internal::ChildrenChangeEventFilter> m_childrenChangeEventFilter;
QUrl m_fileUrl;
NodeInstanceClientInterface *m_nodeInstanceClient;
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.cpp b/src/tools/qmlpuppet/instances/nodeinstancesignalspy.cpp
index cc7164adcd..cc7164adcd 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.cpp
+++ b/src/tools/qmlpuppet/instances/nodeinstancesignalspy.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.h b/src/tools/qmlpuppet/instances/nodeinstancesignalspy.h
index 0f5a06788c..0f5a06788c 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstancesignalspy.h
+++ b/src/tools/qmlpuppet/instances/nodeinstancesignalspy.h
diff --git a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp b/src/tools/qmlpuppet/instances/objectnodeinstance.cpp
index 49f0830e58..d4d6204c7b 100644
--- a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/objectnodeinstance.cpp
@@ -32,17 +32,7 @@
#include "objectnodeinstance.h"
-#include "qmlgraphicsitemnodeinstance.h"
-#include "graphicsobjectnodeinstance.h"
-#include <invalidreparentingexception.h>
-#include <invalidnodeinstanceexception.h>
-#include <notimplementedexception.h>
-#include <noanchoringpossibleexception.h>
-
-#include <variantproperty.h>
-#include <nodelistproperty.h>
-#include <metainfo.h>
#include <QEvent>
#include <QGraphicsScene>
@@ -158,6 +148,11 @@ void ObjectNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Poi
m_signalSpy.setObjectNodeInstance(objectNodeInstance);
}
+void ObjectNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance)
+{
+ initializePropertyWatcher(objectNodeInstance);
+}
+
void ObjectNodeInstance::setId(const QString &id)
{
if (!m_id.isEmpty() && context()) {
@@ -197,6 +192,11 @@ bool ObjectNodeInstance::isPositioner() const
return false;
}
+bool ObjectNodeInstance::isSGItem() const
+{
+ return false;
+}
+
bool ObjectNodeInstance::equalGraphicsItem(QGraphicsItem * /*item*/) const
{
return false;
@@ -620,7 +620,7 @@ QList<ServerNodeInstance> ObjectNodeInstance::stateInstances() const
return QList<ServerNodeInstance>();
}
-void ObjectNodeInstance::setNodeSource(const QString &source)
+void ObjectNodeInstance::setNodeSource(const QString & /*source*/)
{
}
diff --git a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h b/src/tools/qmlpuppet/instances/objectnodeinstance.h
index 69d2f1a26f..4cc3fd155f 100644
--- a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h
+++ b/src/tools/qmlpuppet/instances/objectnodeinstance.h
@@ -88,6 +88,7 @@ public:
NodeInstanceServer *nodeInstanceServer() const;
void setNodeInstanceServer(NodeInstanceServer *server);
virtual void initializePropertyWatcher(const Pointer &objectNodeInstance);
+ virtual void initialize(const Pointer &objectNodeInstance);
virtual void paint(QPainter *painter);
virtual QImage renderImage() const;
@@ -104,7 +105,7 @@ public:
virtual bool isGraphicsObject() const;
virtual bool isTransition() const;
virtual bool isPositioner() const;
-
+ virtual bool isSGItem() const;
virtual bool equalGraphicsItem(QGraphicsItem *item) const;
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp b/src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp
index cacf77809b..4f706e4c7c 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp
@@ -36,10 +36,8 @@
#include <QDeclarativeContext>
#include <QDeclarativeExpression>
#include <private/qdeclarativebinding_p.h>
-#include <metainfo.h>
#include <QMutableListIterator>
-#include "invalidnodeinstanceexception.h"
#include <private/qdeclarativestate_p_p.h>
#include <private/qdeclarativepropertychanges_p.h>
@@ -185,8 +183,7 @@ QmlPropertyChangesNodeInstance::Pointer QmlPropertyChangesNodeInstance::create(Q
{
QDeclarativePropertyChanges *propertyChange = qobject_cast<QDeclarativePropertyChanges*>(object);
- if (propertyChange == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(propertyChange);
Pointer instance(new QmlPropertyChangesNodeInstance(propertyChange));
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.h b/src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.h
index 74480420c3..74480420c3 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlpropertychangesnodeinstance.h
+++ b/src/tools/qmlpuppet/instances/qmlpropertychangesnodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.cpp b/src/tools/qmlpuppet/instances/qmlstatenodeinstance.cpp
index 63ce0d5c97..7ee19733c6 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/qmlstatenodeinstance.cpp
@@ -31,15 +31,12 @@
**************************************************************************/
#include "qmlstatenodeinstance.h"
-#include "nodeabstractproperty.h"
#include <private/qdeclarativestategroup_p.h>
#include "qmlpropertychangesnodeinstance.h"
#include <private/qdeclarativestateoperations_p.h>
-#include <invalidnodeinstanceexception.h>
-
namespace QmlDesigner {
namespace Internal {
@@ -59,8 +56,7 @@ QmlStateNodeInstance::Pointer
{
QDeclarativeState *stateObject = qobject_cast<QDeclarativeState*>(object);
- if (stateObject == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(stateObject);
Pointer instance(new QmlStateNodeInstance(stateObject));
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.h b/src/tools/qmlpuppet/instances/qmlstatenodeinstance.h
index 4bd8c857b9..4bd8c857b9 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlstatenodeinstance.h
+++ b/src/tools/qmlpuppet/instances/qmlstatenodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.cpp b/src/tools/qmlpuppet/instances/qmltransitionnodeinstance.cpp
index e84866bee6..0694d0d399 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/qmltransitionnodeinstance.cpp
@@ -32,8 +32,6 @@
#include "qmltransitionnodeinstance.h"
#include <private/qdeclarativetransition_p.h>
-#include <nodemetainfo.h>
-#include "invalidnodeinstanceexception.h"
namespace QmlDesigner {
namespace Internal {
@@ -46,8 +44,8 @@ QmlTransitionNodeInstance::QmlTransitionNodeInstance(QDeclarativeTransition *tra
QmlTransitionNodeInstance::Pointer QmlTransitionNodeInstance::create(QObject *object)
{
QDeclarativeTransition *transition = qobject_cast<QDeclarativeTransition*>(object);
- if (transition == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+
+ Q_ASSERT(transition);
Pointer instance(new QmlTransitionNodeInstance(transition));
diff --git a/src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.h b/src/tools/qmlpuppet/instances/qmltransitionnodeinstance.h
index 7b823d0580..7b823d0580 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmltransitionnodeinstance.h
+++ b/src/tools/qmlpuppet/instances/qmltransitionnodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/servernodeinstance.cpp b/src/tools/qmlpuppet/instances/servernodeinstance.cpp
index 1436a357d6..63434ad2ff 100644
--- a/src/plugins/qmldesigner/designercore/instances/servernodeinstance.cpp
+++ b/src/tools/qmlpuppet/instances/servernodeinstance.cpp
@@ -32,20 +32,23 @@
#include "servernodeinstance.h"
#include "objectnodeinstance.h"
-#include "qmlgraphicsitemnodeinstance.h"
#include "dummynodeinstance.h"
#include "componentnodeinstance.h"
#include "qmltransitionnodeinstance.h"
#include "qmlpropertychangesnodeinstance.h"
-#include "positionernodeinstance.h"
#include "behaviornodeinstance.h"
#include "qmlstatenodeinstance.h"
+#if QT_VERSION >= 0x050000
+#include "sgitemnodeinstance.h"
+#else
+#include "qmlgraphicsitemnodeinstance.h"
+#include "positionernodeinstance.h"
+#endif
+
#include "nodeinstanceserver.h"
#include "instancecontainer.h"
-#include <invalidnodeinstanceexception.h>
-
#include <QHash>
#include <QSet>
@@ -171,10 +174,15 @@ Internal::ObjectNodeInstance::Pointer ServerNodeInstance::createInstance(QObject
if (objectToBeWrapped == 0)
instance = Internal::DummyNodeInstance::create();
+#if QT_VERSION >= 0x050000
+ else if (isSubclassOf(objectToBeWrapped, "QSGItem"))
+ instance = Internal::SGItemNodeInstance::create(objectToBeWrapped);
+#else
else if (isSubclassOf(objectToBeWrapped, "QDeclarativeBasePositioner"))
instance = Internal::PositionerNodeInstance::create(objectToBeWrapped);
else if (isSubclassOf(objectToBeWrapped, "QDeclarativeItem"))
instance = Internal::QmlGraphicsItemNodeInstance::create(objectToBeWrapped);
+#endif
else if (isSubclassOf(objectToBeWrapped, "QDeclarativeComponent"))
instance = Internal::ComponentNodeInstance::create(objectToBeWrapped);
else if (isSubclassOf(objectToBeWrapped, "QDeclarativePropertyChanges"))
@@ -216,7 +224,7 @@ ServerNodeInstance ServerNodeInstance::create(NodeInstanceServer *nodeInstanceSe
instance.internalInstance()->setInstanceId(instanceContainer.instanceId());
- instance.internalInstance()->initializePropertyWatcher(instance.m_nodeInstance);
+ instance.internalInstance()->initialize(instance.m_nodeInstance);
//QObject::connect(instance.internalObject(), SIGNAL(destroyed(QObject*)), nodeInstanceView, SLOT(removeIdFromContext(QObject*)));
@@ -521,12 +529,6 @@ void ServerNodeInstance::paintUpdate()
m_nodeInstance->paintUpdate();
}
-
-Internal::QmlGraphicsItemNodeInstance::Pointer ServerNodeInstance::qmlGraphicsItemNodeInstance() const
-{
- return m_nodeInstance.dynamicCast<Internal::QmlGraphicsItemNodeInstance>();
-}
-
QObject *ServerNodeInstance::internalObject() const
{
if (m_nodeInstance.isNull())
diff --git a/src/plugins/qmldesigner/designercore/instances/servernodeinstance.h b/src/tools/qmlpuppet/instances/servernodeinstance.h
index eb0f04d0b5..4e722ee7fe 100644
--- a/src/plugins/qmldesigner/designercore/instances/servernodeinstance.h
+++ b/src/tools/qmlpuppet/instances/servernodeinstance.h
@@ -33,7 +33,6 @@
#ifndef SERVERNODEINSTANCE_H
#define SERVERNODEINSTANCE_H
-#include "corelib_global.h"
#include <QSharedPointer>
#include <QHash>
#include <QRectF>
@@ -52,7 +51,10 @@ QT_END_NAMESPACE
namespace QmlDesigner {
class NodeInstanceServer;
-class PreviewNodeInstanceServer;
+class Qt4NodeInstanceServer;
+class Qt4PreviewNodeInstanceServer;
+class Qt5NodeInstanceServer;
+class Qt5PreviewNodeInstanceServer;
class InstanceContainer;
namespace Internal {
@@ -61,18 +63,23 @@ namespace Internal {
class QmlPropertyChangesNodeInstance;
class GraphicsObjectNodeInstance;
class QmlStateNodeInstance;
+ class SGItemNodeInstance;
}
-class CORESHARED_EXPORT ServerNodeInstance
+class ServerNodeInstance
{
- friend CORESHARED_EXPORT class NodeInstanceServer;
- friend CORESHARED_EXPORT class PreviewNodeInstanceServer;
+ friend class NodeInstanceServer;
+ friend class Qt4NodeInstanceServer;
+ friend class Qt4PreviewNodeInstanceServer;
+ friend class Qt5NodeInstanceServer;
+ friend class Qt5PreviewNodeInstanceServer;
friend class QHash<qint32, ServerNodeInstance>;
- friend CORESHARED_EXPORT uint qHash(const ServerNodeInstance &instance);
- friend CORESHARED_EXPORT bool operator==(const ServerNodeInstance &first, const ServerNodeInstance &second);
- friend CORESHARED_EXPORT QDebug operator<<(QDebug debug, const ServerNodeInstance &instance);
- friend CORESHARED_EXPORT class NodeMetaInfo;
+ friend uint qHash(const ServerNodeInstance &instance);
+ friend bool operator==(const ServerNodeInstance &first, const ServerNodeInstance &second);
+ friend QDebug operator<<(QDebug debug, const ServerNodeInstance &instance);
+ friend class NodeMetaInfo;
friend class QmlDesigner::Internal::QmlGraphicsItemNodeInstance;
+ friend class QmlDesigner::Internal::SGItemNodeInstance;
friend class QmlDesigner::Internal::GraphicsObjectNodeInstance;
friend class QmlDesigner::Internal::ObjectNodeInstance;
friend class QmlDesigner::Internal::QmlPropertyChangesNodeInstance;
@@ -182,7 +189,6 @@ private: // functions
void setId(const QString &id);
static QSharedPointer<Internal::ObjectNodeInstance> createInstance(QObject *objectToBeWrapped);
- QSharedPointer<Internal::QmlGraphicsItemNodeInstance> qmlGraphicsItemNodeInstance() const;
void paintUpdate();
@@ -197,9 +203,9 @@ private: // variables
QSharedPointer<Internal::ObjectNodeInstance> m_nodeInstance;
};
-CORESHARED_EXPORT uint qHash(const ServerNodeInstance &instance);
-CORESHARED_EXPORT bool operator==(const ServerNodeInstance &first, const ServerNodeInstance &second);
-CORESHARED_EXPORT QDebug operator<<(QDebug debug, const ServerNodeInstance &instance);
+uint qHash(const ServerNodeInstance &instance);
+bool operator==(const ServerNodeInstance &first, const ServerNodeInstance &second);
+QDebug operator<<(QDebug debug, const ServerNodeInstance &instance);
}
Q_DECLARE_METATYPE(QmlDesigner::ServerNodeInstance)
diff --git a/src/plugins/qmldesigner/designercore/include/commondefines.h b/src/tools/qmlpuppet/interfaces/commondefines.h
index 1983c4eebc..1983c4eebc 100644
--- a/src/plugins/qmldesigner/designercore/include/commondefines.h
+++ b/src/tools/qmlpuppet/interfaces/commondefines.h
diff --git a/src/tools/qmlpuppet/interfaces/interfaces.pri b/src/tools/qmlpuppet/interfaces/interfaces.pri
new file mode 100644
index 0000000000..4e64200029
--- /dev/null
+++ b/src/tools/qmlpuppet/interfaces/interfaces.pri
@@ -0,0 +1,7 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/nodeinstanceclientinterface.h
+HEADERS += $$PWD/nodeinstanceserverinterface.h
+HEADERS += $$PWD/commondefines.h
+
+SOURCES += $$PWD/nodeinstanceserverinterface.cpp
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceclientinterface.h b/src/tools/qmlpuppet/interfaces/nodeinstanceclientinterface.h
index 77bf3355ef..77bf3355ef 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstanceclientinterface.h
+++ b/src/tools/qmlpuppet/interfaces/nodeinstanceclientinterface.h
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverinterface.cpp b/src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.cpp
index 166860ee32..ce2bb01042 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverinterface.cpp
+++ b/src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.cpp
@@ -56,7 +56,6 @@
#include "informationchangedcommand.h"
#include "pixmapchangedcommand.h"
#include "valueschangedcommand.h"
-#include "addimportcommand.h"
#include "childrenchangedcommand.h"
#include "imagecontainer.h"
#include "statepreviewimagechangedcommand.h"
@@ -144,9 +143,6 @@ void NodeInstanceServerInterface::registerCommands()
qRegisterMetaType<IdContainer>("IdContainer");
qRegisterMetaTypeStreamOperators<IdContainer>("IdContainer");
- qRegisterMetaType<AddImportCommand>("AddImportCommand");
- qRegisterMetaTypeStreamOperators<AddImportCommand>("AddImportCommand");
-
qRegisterMetaType<ChildrenChangedCommand>("ChildrenChangedCommand");
qRegisterMetaTypeStreamOperators<ChildrenChangedCommand>("ChildrenChangedCommand");
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceserverinterface.h b/src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.h
index 677d4189a6..98d1fe3865 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstanceserverinterface.h
+++ b/src/tools/qmlpuppet/interfaces/nodeinstanceserverinterface.h
@@ -53,7 +53,6 @@ class ChangeIdsCommand;
class RemoveInstancesCommand;
class RemovePropertiesCommand;
class ChangeStateCommand;
-class AddImportCommand;
class CompleteComponentCommand;
class ChangeNodeSourceCommand;
@@ -80,7 +79,6 @@ public:
virtual void reparentInstances(const ReparentInstancesCommand &command) = 0;
virtual void changeIds(const ChangeIdsCommand &command) = 0;
virtual void changeState(const ChangeStateCommand &command) = 0;
- virtual void addImport(const AddImportCommand &command) = 0;
virtual void completeComponent(const CompleteComponentCommand &command) = 0;
virtual void changeNodeSource(const ChangeNodeSourceCommand &command) = 0;
diff --git a/src/tools/qmlpuppet/qml2puppet/Info.plist.in b/src/tools/qmlpuppet/qml2puppet/Info.plist.in
new file mode 100644
index 0000000000..b0406b7879
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/Info.plist.in
@@ -0,0 +1,29 @@
+<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
+<plist version=\"1.0\">
+<dict>
+ <key>NSHumanReadableCopyright</key>
+ <string>(C) 2008-2011 Nokia Corporation
+Commercial Usage
+
+Licensees holding valid Qt Commercial licenses may use this file in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
+
+GNU Lesser General Public License Usage
+
+Alternatively, this plugin 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.</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>@TYPEINFO@</string>
+ <key>CFBundleExecutable</key>
+ <string>@EXECUTABLE@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.nokia.qtcreator.qml2puppet</string>
+ <key>CFBundleVersion</key>
+ <string>$$QTCREATOR_VERSION</string>
+ <key>CFBundleShortVersionString</key>
+ <string>$$QTCREATOR_VERSION</string>
+ <key>LSUIElement</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/instances.pri b/src/tools/qmlpuppet/qml2puppet/instances/instances.pri
new file mode 100644
index 0000000000..1eeb3d40b5
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/instances.pri
@@ -0,0 +1,15 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/qt5nodeinstanceserver.h \
+ instances/qt5informationnodeinstanceserver.h \
+ instances/qt5rendernodeinstanceserver.h \
+ instances/qt5previewnodeinstanceserver.h
+HEADERS += $$PWD/qt5nodeinstanceclientproxy.h
+HEADERS += $$PWD/sgitemnodeinstance.h
+
+SOURCES += $$PWD/qt5nodeinstanceserver.cpp \
+ instances/qt5informationnodeinstanceserver.cpp \
+ instances/qt5rendernodeinstanceserver.cpp \
+ instances/qt5previewnodeinstanceserver.cpp
+SOURCES += $$PWD/qt5nodeinstanceclientproxy.cpp
+SOURCES += $$PWD/sgitemnodeinstance.cpp
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
new file mode 100644
index 0000000000..057c821238
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
@@ -0,0 +1,185 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt5informationnodeinstanceserver.h"
+
+#include "servernodeinstance.h"
+#include "childrenchangeeventfilter.h"
+#include "propertyabstractcontainer.h"
+#include "propertybindingcontainer.h"
+#include "propertyvaluecontainer.h"
+#include "instancecontainer.h"
+#include "createinstancescommand.h"
+#include "changefileurlcommand.h"
+#include "clearscenecommand.h"
+#include "reparentinstancescommand.h"
+#include "changevaluescommand.h"
+#include "changebindingscommand.h"
+#include "changeidscommand.h"
+#include "removeinstancescommand.h"
+#include "nodeinstanceclientinterface.h"
+#include "removepropertiescommand.h"
+#include "valueschangedcommand.h"
+#include "informationchangedcommand.h"
+#include "pixmapchangedcommand.h"
+#include "commondefines.h"
+#include "childrenchangeeventfilter.h"
+#include "changestatecommand.h"
+#include "childrenchangedcommand.h"
+#include "completecomponentcommand.h"
+#include "componentcompletedcommand.h"
+#include "createscenecommand.h"
+
+#include "dummycontextobject.h"
+
+namespace QmlDesigner {
+
+Qt5InformationNodeInstanceServer::Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt5NodeInstanceServer(nodeInstanceClient)
+{
+}
+
+void Qt5InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+{
+}
+
+void Qt5InformationNodeInstanceServer::reparentInstances(const ReparentInstancesCommand &command)
+{
+ foreach (const ReparentContainer &container, command.reparentInstances()) {
+ ServerNodeInstance instance = instanceForId(container.instanceId());
+ if (instance.isValid()) {
+ m_parentChangedSet.insert(instance);
+ }
+ }
+
+ NodeInstanceServer::reparentInstances(command);
+}
+
+void Qt5InformationNodeInstanceServer::clearScene(const ClearSceneCommand &command)
+{
+ NodeInstanceServer::clearScene(command);
+
+ m_parentChangedSet.clear();
+ m_completedComponentList.clear();
+}
+
+void Qt5InformationNodeInstanceServer::createScene(const CreateSceneCommand &command)
+{
+ NodeInstanceServer::createScene(command);
+
+ QList<ServerNodeInstance> instanceList;
+ foreach (const InstanceContainer &container, command.instances()) {
+ ServerNodeInstance instance = instanceForId(container.instanceId());
+ if (instance.isValid()) {
+ instanceList.append(instance);
+ }
+ }
+
+ nodeInstanceClient()->informationChanged(createAllInformationChangedCommand(instanceList, true));
+ nodeInstanceClient()->valuesChanged(createValuesChangedCommand(instanceList));
+ sendChildrenChangedCommand(instanceList);
+ nodeInstanceClient()->componentCompleted(createComponentCompletedCommand(instanceList));
+
+}
+
+void Qt5InformationNodeInstanceServer::sendChildrenChangedCommand(const QList<ServerNodeInstance> childList)
+{
+ QSet<ServerNodeInstance> parentSet;
+ QList<ServerNodeInstance> noParentList;
+
+ foreach (const ServerNodeInstance &child, childList) {
+ if (!child.hasParent())
+ noParentList.append(child);
+ else
+ parentSet.insert(child.parent());
+ }
+
+
+ foreach (const ServerNodeInstance &parent, parentSet)
+ nodeInstanceClient()->childrenChanged(createChildrenChangedCommand(parent, parent.childItems()));
+
+ if (!noParentList.isEmpty())
+ nodeInstanceClient()->childrenChanged(createChildrenChangedCommand(ServerNodeInstance(), noParentList));
+
+}
+
+void Qt5InformationNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
+{
+ NodeInstanceServer::completeComponent(command);
+
+ QList<ServerNodeInstance> instanceList;
+ foreach (qint32 instanceId, command.instances()) {
+ ServerNodeInstance instance = instanceForId(instanceId);
+ if (instance.isValid()) {
+ instanceList.append(instance);
+ }
+ }
+
+ m_completedComponentList.append(instanceList);
+
+ nodeInstanceClient()->valuesChanged(createValuesChangedCommand(instanceList));
+ nodeInstanceClient()->informationChanged(createAllInformationChangedCommand(instanceList, true));
+}
+
+} // namespace QmlDesigner
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h b/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h
new file mode 100644
index 0000000000..c0c078fc47
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h
@@ -0,0 +1,94 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QMLDESIGNER_QT5INFORMATIONNODEINSTANCESERVER_H
+#define QMLDESIGNER_QT5INFORMATIONNODEINSTANCESERVER_H
+
+#include "qt5nodeinstanceserver.h"
+
+namespace QmlDesigner {
+
+class Qt5InformationNodeInstanceServer : public Qt5NodeInstanceServer
+{
+ Q_OBJECT
+public:
+ explicit Qt5InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+
+ void reparentInstances(const ReparentInstancesCommand &command);
+ void clearScene(const ClearSceneCommand &command);
+ void createScene(const CreateSceneCommand &command);
+ void completeComponent(const CompleteComponentCommand &command);
+
+protected:
+ void collectItemChangesAndSendChangeCommands();
+ void sendChildrenChangedCommand(const QList<ServerNodeInstance> childList);
+
+private:
+ QSet<ServerNodeInstance> m_parentChangedSet;
+ QList<ServerNodeInstance> m_completedComponentList;
+};
+
+} // namespace QmlDesigner
+
+#endif // QMLDESIGNER_QT5INFORMATIONNODEINSTANCESERVER_H
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp
new file mode 100644
index 0000000000..b66784a9a5
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp
@@ -0,0 +1,89 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt5nodeinstanceclientproxy.h"
+
+#include <QCoreApplication>
+
+#include "qt5informationnodeinstanceserver.h"
+#include "qt5previewnodeinstanceserver.h"
+#include "qt5rendernodeinstanceserver.h"
+
+namespace QmlDesigner {
+
+Qt5NodeInstanceClientProxy::Qt5NodeInstanceClientProxy(QObject *parent) :
+ NodeInstanceClientProxy(parent)
+{
+ if (QCoreApplication::arguments().at(2) == QLatin1String("previewmode")) {
+ setNodeInstanceServer(new Qt5PreviewNodeInstanceServer(this));
+ } else if (QCoreApplication::arguments().at(2) == QLatin1String("editormode")) {
+ setNodeInstanceServer(new Qt5InformationNodeInstanceServer(this));
+ } else if (QCoreApplication::arguments().at(2) == QLatin1String("rendermode")) {
+ setNodeInstanceServer(new Qt5RenderNodeInstanceServer(this));
+ }
+
+ initializeSocket();
+}
+
+} // namespace QmlDesigner
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.h b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.h
new file mode 100644
index 0000000000..2739bddbc9
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.h
@@ -0,0 +1,81 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QMLDESIGNER_QT5NODEINSTANCECLIENTPROXY_H
+#define QMLDESIGNER_QT5NODEINSTANCECLIENTPROXY_H
+
+#include "nodeinstanceclientproxy.h"
+
+namespace QmlDesigner {
+
+class Qt5NodeInstanceClientProxy : public NodeInstanceClientProxy
+{
+ Q_OBJECT
+public:
+ explicit Qt5NodeInstanceClientProxy(QObject *parent = 0);
+};
+
+} // namespace QmlDesigner
+
+#endif // QMLDESIGNER_QT5NODEINSTANCECLIENTPROXY_H
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp
new file mode 100644
index 0000000000..342962670c
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp
@@ -0,0 +1,195 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt5nodeinstanceserver.h"
+
+#if QT_VERSION >= 0x050000
+
+#include <QSGItem>
+#include <QSGView>
+
+#include <designersupportfunctions.h>
+#include <addimportcontainer.h>
+#include <createscenecommand.h>
+
+namespace QmlDesigner {
+
+Qt5NodeInstanceServer::Qt5NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient)
+ : NodeInstanceServer(nodeInstanceClient),
+ m_designerSupport(new DesignerSupport)
+{
+ addImportString("import QtQuick 2.0\n");
+}
+
+Qt5NodeInstanceServer::~Qt5NodeInstanceServer()
+{
+ delete sgView();
+ delete m_designerSupport;
+ m_designerSupport = 0;
+}
+
+QSGView *Qt5NodeInstanceServer::sgView() const
+{
+ return m_sgView.data();
+}
+
+void Qt5NodeInstanceServer::initializeView(const QVector<AddImportContainer> &/*importVector*/)
+{
+ Q_ASSERT(!sgView());
+
+ m_sgView = new QSGView;
+#ifndef Q_WS_MAC
+ sgView()->setAttribute(Qt::WA_DontShowOnScreen, true);
+#endif
+ sgView()->show();
+#ifdef Q_WS_MAC
+ sgView()->setAttribute(Qt::WA_DontShowOnScreen, true);
+#endif
+}
+
+QDeclarativeView *Qt5NodeInstanceServer::declarativeView() const
+{
+ return 0;
+}
+
+QDeclarativeEngine *Qt5NodeInstanceServer::engine() const
+{
+ if (sgView())
+ return sgView()->engine();
+
+ return 0;
+}
+
+void Qt5NodeInstanceServer::resizeCanvasSizeToRootItemSize()
+{
+ if (sgView())
+ sgView()->resize(rootNodeInstance().size().toSize());
+}
+
+void Qt5NodeInstanceServer::resetAllItems()
+{
+
+}
+
+QList<ServerNodeInstance> Qt5NodeInstanceServer::setupScene(const CreateSceneCommand &command)
+{
+ setupFileUrl(command.fileUrl());
+ setupImports(command.imports());
+
+ QList<ServerNodeInstance> instanceList = setupInstances(command);
+
+ sgView()->resize(rootNodeInstance().boundingRect().size().toSize());
+
+ return instanceList;
+}
+
+QList<QSGItem*> subItems(QSGItem *parentItem)
+{
+ QList<QSGItem*> itemList;
+ itemList.append(parentItem->childItems());
+
+ foreach (QSGItem *childItem, parentItem->childItems())
+ itemList.append(subItems(childItem));
+
+ return itemList;
+}
+
+QList<QSGItem*> Qt5NodeInstanceServer::allItems() const
+{
+ QList<QSGItem*> itemList;
+
+ if (sgView()) {
+ itemList.append(sgView()->rootItem());
+ itemList.append(subItems(sgView()->rootItem()));
+ }
+
+ return itemList;
+}
+
+void Qt5NodeInstanceServer::refreshBindings()
+{
+ DesignerSupport::refreshExpressions(context());
+}
+
+DesignerSupport *Qt5NodeInstanceServer::designerSupport() const
+{
+ return m_designerSupport;
+}
+
+void Qt5NodeInstanceServer::createScene(const CreateSceneCommand &command)
+{
+ m_designerSupport = new DesignerSupport;
+ NodeInstanceServer::createScene(command);
+}
+
+void Qt5NodeInstanceServer::clearScene(const ClearSceneCommand &command)
+{
+ NodeInstanceServer::clearScene(command);
+ delete m_designerSupport;
+ m_designerSupport = 0;
+}
+
+} // QmlDesigner
+
+#endif // QT_VERSION
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h
new file mode 100644
index 0000000000..4faa447eee
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h
@@ -0,0 +1,114 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QT5NODEINSTANCESERVER_H
+#define QT5NODEINSTANCESERVER_H
+
+#include <QtGlobal>
+
+#include "nodeinstanceserver.h"
+
+#if QT_VERSION >= 0x050000
+
+QT_BEGIN_NAMESPACE
+class QSGItem;
+class DesignerSupport;
+QT_END_NAMESPACE
+
+namespace QmlDesigner {
+
+class Qt5NodeInstanceServer : public NodeInstanceServer
+{
+ Q_OBJECT
+public:
+ Qt5NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+ ~Qt5NodeInstanceServer();
+
+ QSGView *sgView() const;
+ QDeclarativeView *declarativeView() const;
+ QDeclarativeEngine *engine() const;
+ void refreshBindings();
+
+ DesignerSupport *designerSupport() const;
+
+ void createScene(const CreateSceneCommand &command);
+ void clearScene(const ClearSceneCommand &command);
+
+protected:
+ void initializeView(const QVector<AddImportContainer> &importVector);
+ void resizeCanvasSizeToRootItemSize();
+ void resetAllItems();
+ QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command);
+ QList<QSGItem*> allItems() const;
+
+private:
+ QWeakPointer<QSGView> m_sgView;
+ DesignerSupport *m_designerSupport;
+};
+
+} // QmlDesigner
+
+#endif // QT_VERSION
+
+#endif // QT5NODEINSTANCESERVER_H
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp b/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
new file mode 100644
index 0000000000..e432ba32fa
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp
@@ -0,0 +1,132 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt5previewnodeinstanceserver.h"
+
+#include "nodeinstanceclientinterface.h"
+#include "statepreviewimagechangedcommand.h"
+#include "createscenecommand.h"
+
+namespace QmlDesigner {
+
+Qt5PreviewNodeInstanceServer::Qt5PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt5NodeInstanceServer(nodeInstanceClient)
+{
+}
+
+void Qt5PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
+{
+ initializeView(command.imports());
+ setupScene(command);
+
+ startRenderTimer();
+}
+void Qt5PreviewNodeInstanceServer::startRenderTimer()
+{
+ if (timerId() != 0)
+ killTimer(timerId());
+
+ int timerId = startTimer(renderTimerInterval());
+
+ setTimerId(timerId);
+}
+
+void Qt5PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+{
+ static bool inFunction = false;
+
+ if (!inFunction && nodeInstanceClient()->bytesToWrite() < 10000) {
+ inFunction = true;
+ QVector<ImageContainer> imageContainerVector;
+ imageContainerVector.append(ImageContainer(0, renderPreviewImage()));
+
+ foreach (ServerNodeInstance instance, rootNodeInstance().stateInstances()) {
+ instance.activateState();
+ imageContainerVector.append(ImageContainer(instance.instanceId(), renderPreviewImage()));
+ instance.deactivateState();
+ }
+
+ nodeInstanceClient()->statePreviewImagesChanged(StatePreviewImageChangedCommand(imageContainerVector));
+
+ slowDownRenderTimer();
+ inFunction = false;
+ }
+}
+
+void Qt5PreviewNodeInstanceServer::changeState(const ChangeStateCommand &/*command*/)
+{
+
+}
+
+QImage Qt5PreviewNodeInstanceServer::renderPreviewImage()
+{
+ QSize size = rootNodeInstance().boundingRect().size().toSize();
+ size.scale(100, 100, Qt::KeepAspectRatio);
+
+ QImage image(size, QImage::Format_ARGB32);
+
+ return image;
+}
+
+} // namespace QmlDesigner
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h b/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h
new file mode 100644
index 0000000000..bf60721274
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h
@@ -0,0 +1,93 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QMLDESIGNER_QT5PREVIEWNODEINSTANCESERVER_H
+#define QMLDESIGNER_QT5PREVIEWNODEINSTANCESERVER_H
+
+#include "qt5nodeinstanceserver.h"
+
+namespace QmlDesigner {
+
+class Qt5PreviewNodeInstanceServer : public Qt5NodeInstanceServer
+{
+ Q_OBJECT
+public:
+ explicit Qt5PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+
+ void createScene(const CreateSceneCommand &command);
+ void changeState(const ChangeStateCommand &command);
+
+ QImage renderPreviewImage();
+
+protected:
+ void collectItemChangesAndSendChangeCommands();
+ void startRenderTimer();
+
+private:
+ ServerNodeInstance m_actualState;
+};
+
+} // namespace QmlDesigner
+
+#endif // QMLDESIGNER_QT5PREVIEWNODEINSTANCESERVER_H
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp b/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
new file mode 100644
index 0000000000..debf543334
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
@@ -0,0 +1,144 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt5rendernodeinstanceserver.h"
+
+#include "servernodeinstance.h"
+#include "childrenchangeeventfilter.h"
+#include "propertyabstractcontainer.h"
+#include "propertybindingcontainer.h"
+#include "propertyvaluecontainer.h"
+#include "instancecontainer.h"
+#include "createinstancescommand.h"
+#include "changefileurlcommand.h"
+#include "clearscenecommand.h"
+#include "reparentinstancescommand.h"
+#include "changevaluescommand.h"
+#include "changebindingscommand.h"
+#include "changeidscommand.h"
+#include "removeinstancescommand.h"
+#include "nodeinstanceclientinterface.h"
+#include "removepropertiescommand.h"
+#include "valueschangedcommand.h"
+#include "informationchangedcommand.h"
+#include "pixmapchangedcommand.h"
+#include "commondefines.h"
+#include "childrenchangeeventfilter.h"
+#include "changestatecommand.h"
+#include "childrenchangedcommand.h"
+#include "completecomponentcommand.h"
+#include "componentcompletedcommand.h"
+#include "createscenecommand.h"
+
+#include "dummycontextobject.h"
+
+namespace QmlDesigner {
+
+Qt5RenderNodeInstanceServer::Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt5NodeInstanceServer(nodeInstanceClient)
+{
+}
+
+void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+{
+}
+
+void Qt5RenderNodeInstanceServer::createScene(const CreateSceneCommand &command)
+{
+ NodeInstanceServer::createScene(command);
+
+ QList<ServerNodeInstance> instanceList;
+ foreach (const InstanceContainer &container, command.instances()) {
+ ServerNodeInstance instance = instanceForId(container.instanceId());
+ if (instance.isValid()) {
+ instanceList.append(instance);
+ }
+ }
+
+ nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(instanceList));
+}
+
+void Qt5RenderNodeInstanceServer::clearScene(const ClearSceneCommand &command)
+{
+ NodeInstanceServer::clearScene(command);
+
+ m_dirtyInstanceSet.clear();
+}
+
+void Qt5RenderNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
+{
+ NodeInstanceServer::completeComponent(command);
+
+ QList<ServerNodeInstance> instanceList;
+ foreach (qint32 instanceId, command.instances()) {
+ ServerNodeInstance instance = instanceForId(instanceId);
+ if (instance.isValid()) {
+ instanceList.append(instance);
+ }
+ }
+
+ nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(instanceList));
+}
+
+} // namespace QmlDesigner
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h b/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h
new file mode 100644
index 0000000000..78aae47692
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h
@@ -0,0 +1,91 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QMLDESIGNER_QT5RENDERNODEINSTANCESERVER_H
+#define QMLDESIGNER_QT5RENDERNODEINSTANCESERVER_H
+
+#include "qt5nodeinstanceserver.h"
+
+namespace QmlDesigner {
+
+class Qt5RenderNodeInstanceServer : public Qt5NodeInstanceServer
+{
+ Q_OBJECT
+public:
+ explicit Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+
+ void createScene(const CreateSceneCommand &command);
+ void clearScene(const ClearSceneCommand &command);
+ void completeComponent(const CompleteComponentCommand &command);
+
+protected:
+ void collectItemChangesAndSendChangeCommands();
+
+private:
+ QSet<ServerNodeInstance> m_dirtyInstanceSet;
+};
+
+} // namespace QmlDesigner
+
+#endif // QMLDESIGNER_QT5RENDERNODEINSTANCESERVER_H
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.cpp b/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.cpp
new file mode 100644
index 0000000000..c341c52a34
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.cpp
@@ -0,0 +1,658 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "sgitemnodeinstance.h"
+
+#if QT_VERSION >= 0x050000
+
+#include "qt5nodeinstanceserver.h"
+
+#include <QDeclarativeExpression>
+
+#include <cmath>
+
+#include <QHash>
+
+namespace QmlDesigner {
+namespace Internal {
+
+SGItemNodeInstance::SGItemNodeInstance(QSGItem *item)
+ : ObjectNodeInstance(item),
+ m_hasHeight(false),
+ m_hasWidth(false),
+ m_isResizable(true),
+ m_hasContent(true),
+ m_isMovable(true),
+ m_x(0.0),
+ m_y(0.0),
+ m_width(0.0),
+ m_height(0.0)
+{
+}
+
+SGItemNodeInstance::~SGItemNodeInstance()
+{
+ if (sgItem())
+ designerSupport()->derefFromEffectItem(sgItem());
+}
+
+bool SGItemNodeInstance::hasContent() const
+{
+ return m_hasContent;
+}
+
+QList<ServerNodeInstance> SGItemNodeInstance::childItems() const
+{
+ QList<ServerNodeInstance> instanceList;
+
+ foreach (QSGItem *childItem, sgItem()->childItems())
+ {
+ if (childItem && nodeInstanceServer()->hasInstanceForObject(childItem)) {
+ instanceList.append(nodeInstanceServer()->instanceForObject(childItem));
+ } else { //there might be an item in between the parent instance
+ //and the child instance.
+ //Popular example is flickable which has a viewport item between
+ //the flickable item and the flickable children
+ instanceList.append(childItemsForChild(childItem)); //In such a case we go deeper inside the item and
+ //search for child items with instances.
+ }
+ }
+
+ return instanceList;
+}
+
+QList<ServerNodeInstance> SGItemNodeInstance::childItemsForChild(QSGItem *childItem) const
+{
+ QList<ServerNodeInstance> instanceList;
+
+ if (childItem) {
+ foreach (QSGItem *childItem, childItem->childItems())
+ {
+ if (childItem && nodeInstanceServer()->hasInstanceForObject(childItem)) {
+ instanceList.append(nodeInstanceServer()->instanceForObject(childItem));
+ } else {
+ instanceList.append(childItemsForChild(childItem));
+ }
+ }
+ }
+ return instanceList;
+}
+
+void SGItemNodeInstance::setHasContent(bool hasContent)
+{
+ m_hasContent = hasContent;
+}
+
+
+bool anyItemHasContent(QSGItem *graphicsItem)
+{
+ if (graphicsItem->flags().testFlag(QSGItem::ItemHasContents))
+ return true;
+
+ foreach (QSGItem *childItem, graphicsItem->childItems()) {
+ if (anyItemHasContent(childItem))
+ return true;
+ }
+
+ return false;
+}
+
+QPointF SGItemNodeInstance::position() const
+{
+ return sgItem()->pos();
+}
+
+QTransform SGItemNodeInstance::transform() const
+{
+ return DesignerSupport::parentTransform(sgItem());
+}
+
+QTransform SGItemNodeInstance::customTransform() const
+{
+ return QTransform();
+}
+
+QTransform SGItemNodeInstance::sceneTransform() const
+{
+ return DesignerSupport::canvasTransform(sgItem());
+}
+
+double SGItemNodeInstance::rotation() const
+{
+ return sgItem()->rotation();
+}
+
+double SGItemNodeInstance::scale() const
+{
+ return sgItem()->scale();
+}
+
+QPointF SGItemNodeInstance::transformOriginPoint() const
+{
+ return sgItem()->transformOriginPoint();
+}
+
+double SGItemNodeInstance::zValue() const
+{
+ return sgItem()->z();
+}
+
+double SGItemNodeInstance::opacity() const
+{
+ return sgItem()->opacity();
+}
+
+QObject *SGItemNodeInstance::parent() const
+{
+ if (!sgItem() || !sgItem()->parentItem())
+ return 0;
+
+ return sgItem()->parentItem();
+}
+
+bool SGItemNodeInstance::equalSGItem(QSGItem *item) const
+{
+ return item == sgItem();
+}
+
+QImage SGItemNodeInstance::renderImage() const
+{
+ return designerSupport()->renderImageForItem(sgItem());
+}
+
+bool SGItemNodeInstance::isMovable() const
+{
+ return m_isMovable && sgItem() && sgItem()->parentItem();
+}
+
+void SGItemNodeInstance::setMovable(bool movable)
+{
+ m_isMovable = movable;
+}
+
+SGItemNodeInstance::Pointer SGItemNodeInstance::create(QObject *object)
+{
+ QSGItem *sgItem = dynamic_cast<QSGItem*>(object);
+
+ Q_ASSERT(sgItem);
+
+ Pointer instance(new SGItemNodeInstance(sgItem));
+
+ instance->setHasContent(anyItemHasContent(sgItem));
+ sgItem->setFlag(QSGItem::ItemHasContents, true);
+
+ if (sgItem->inherits("QSGText"))
+ instance->setResizable(false);
+
+ static_cast<QDeclarativeParserStatus*>(sgItem)->classBegin();
+
+ instance->populateResetValueHash();
+
+ return instance;
+}
+
+void SGItemNodeInstance::initialize(const Pointer &objectNodeInstance)
+{
+ designerSupport()->refFromEffectItem(sgItem());
+ ObjectNodeInstance::initialize(objectNodeInstance);
+}
+
+bool SGItemNodeInstance::isSGItem() const
+{
+ return true;
+}
+
+QSizeF SGItemNodeInstance::size() const
+{
+ if (isValid()) {
+ double implicitWidth = sgItem()->implicitWidth();
+ if (!m_hasWidth
+ && implicitWidth // WORKAROUND
+ && sgItem()->width() <= 0
+ && implicitWidth != sgItem()->width()
+ && !hasBindingForProperty("width")) {
+ sgItem()->blockSignals(true);
+ sgItem()->setWidth(implicitWidth);
+ sgItem()->blockSignals(false);
+ }
+
+ double implicitHeight = sgItem()->implicitHeight();
+ if (!m_hasHeight
+ && implicitWidth // WORKAROUND
+ && sgItem()->height() <= 0
+ && implicitHeight != sgItem()->height()
+ && !hasBindingForProperty("height")) {
+ sgItem()->blockSignals(true);
+ sgItem()->setHeight(implicitHeight);
+ sgItem()->blockSignals(false);
+ }
+
+ }
+
+ if (isRootNodeInstance()) {
+ if (!m_hasWidth) {
+ sgItem()->blockSignals(true);
+ if (sgItem()->width() < 10.)
+ sgItem()->setWidth(100.);
+ sgItem()->blockSignals(false);
+ }
+
+ if (!m_hasHeight) {
+ sgItem()->blockSignals(true);
+ if (sgItem()->height() < 10.)
+ sgItem()->setHeight(100.);
+ sgItem()->blockSignals(false);
+ }
+ }
+
+ return QSizeF(sgItem()->width(), sgItem()->height());
+}
+
+QRectF SGItemNodeInstance::boundingRect() const
+{
+ if (isValid()) {
+ double implicitWidth = sgItem()->implicitWidth();
+ if (!m_hasWidth
+ && implicitWidth // WORKAROUND
+ && sgItem()->width() <= 0
+ && implicitWidth != sgItem()->width()
+ && !hasBindingForProperty("width")) {
+ sgItem()->blockSignals(true);
+ sgItem()->setWidth(implicitWidth);
+ sgItem()->blockSignals(false);
+ }
+
+ double implicitHeight = sgItem()->implicitHeight();
+ if (!m_hasHeight
+ && implicitWidth // WORKAROUND
+ && sgItem()->height() <= 0
+ && implicitHeight != sgItem()->height()
+ && !hasBindingForProperty("height")) {
+ sgItem()->blockSignals(true);
+ sgItem()->setHeight(implicitHeight);
+ sgItem()->blockSignals(false);
+ }
+
+ }
+
+ if (isRootNodeInstance()) {
+ if (!m_hasWidth) {
+ sgItem()->blockSignals(true);
+ if (sgItem()->width() < 10.)
+ sgItem()->setWidth(100.);
+ sgItem()->blockSignals(false);
+ }
+
+ if (!m_hasHeight) {
+ sgItem()->blockSignals(true);
+ if (sgItem()->height() < 10.)
+ sgItem()->setHeight(100.);
+ sgItem()->blockSignals(false);
+ }
+ }
+
+ if (sgItem())
+ return sgItem()->boundingRect();
+
+ return QRectF();
+}
+
+void SGItemNodeInstance::setPropertyVariant(const QString &name, const QVariant &value)
+{
+ if (name == "state")
+ return; // states are only set by us
+
+ if (name == "height") {
+ m_height = value.toDouble();
+ if (value.isValid())
+ m_hasHeight = true;
+ else
+ m_hasHeight = false;
+ }
+
+ if (name == "width") {
+ m_width = value.toDouble();
+ if (value.isValid())
+ m_hasWidth = true;
+ else
+ m_hasWidth = false;
+ }
+
+ if (name == "x")
+ m_x = value.toDouble();
+
+ if (name == "y")
+ m_y = value.toDouble();
+
+ ObjectNodeInstance::setPropertyVariant(name, value);
+
+ refresh();
+}
+
+void SGItemNodeInstance::setPropertyBinding(const QString &name, const QString &expression)
+{
+ if (name == "state")
+ return; // states are only set by us
+
+ ObjectNodeInstance::setPropertyBinding(name, expression);
+}
+
+QVariant SGItemNodeInstance::property(const QString &name) const
+{
+ if (name == "width" && !hasBindingForProperty("width")) {
+ double implicitWidth = sgItem()->implicitWidth();
+ if (!m_hasWidth
+ && implicitWidth // WORKAROUND
+ && sgItem()->width() <= 0
+ && implicitWidth != sgItem()->width()) {
+ sgItem()->blockSignals(true);
+ sgItem()->setWidth(implicitWidth);
+ sgItem()->blockSignals(false);
+ }
+ }
+
+ if (name == "height" && !hasBindingForProperty("height")) {
+ double implicitHeight = sgItem()->implicitHeight();
+ if (!m_hasHeight
+ && implicitHeight // WORKAROUND
+ && sgItem()->width() <= 0
+ && implicitHeight != sgItem()->height()) {
+ sgItem()->blockSignals(true);
+ sgItem()->setHeight(implicitHeight);
+ sgItem()->blockSignals(false);
+ }
+ }
+
+ return ObjectNodeInstance::property(name);
+}
+
+void SGItemNodeInstance::resetHorizontal()
+ {
+ setPropertyVariant("x", m_x);
+ if (m_width > 0.0) {
+ setPropertyVariant("width", m_width);
+ } else {
+ setPropertyVariant("width", sgItem()->implicitWidth());
+ }
+}
+
+void SGItemNodeInstance::resetVertical()
+ {
+ setPropertyVariant("y", m_y);
+ if (m_height > 0.0) {
+ setPropertyVariant("height", m_height);
+ } else {
+ setPropertyVariant("height", sgItem()->implicitWidth());
+ }
+}
+
+static void repositioning(QSGItem *item)
+{
+ if (!item)
+ return;
+
+// QDeclarativeBasePositioner *positioner = qobject_cast<QDeclarativeBasePositioner*>(item);
+// if (positioner)
+// positioner->rePositioning();
+
+ if (item->parentItem())
+ repositioning(item->parentItem());
+}
+
+void SGItemNodeInstance::refresh()
+{
+ repositioning(sgItem());
+}
+
+void SGItemNodeInstance::doComponentComplete()
+{
+ if (sgItem()) {
+ if (DesignerSupport::isComponentComplete(sgItem()))
+ return;
+ static_cast<QDeclarativeParserStatus*>(sgItem())->componentComplete();
+ }
+
+ sgItem()->update();
+}
+
+bool SGItemNodeInstance::isResizable() const
+{
+ return m_isResizable && sgItem() && sgItem()->parentItem();
+}
+
+void SGItemNodeInstance::setResizable(bool resizeable)
+{
+ m_isResizable = resizeable;
+}
+
+int SGItemNodeInstance::penWidth() const
+{
+ return DesignerSupport::borderWidth(sgItem());
+}
+
+void SGItemNodeInstance::resetProperty(const QString &name)
+{
+ if (name == "height") {
+ m_hasHeight = false;
+ m_height = 0.0;
+ }
+
+ if (name == "width") {
+ m_hasWidth = false;
+ m_width = 0.0;
+ }
+
+ if (name == "x")
+ m_x = 0.0;
+
+ if (name == "y")
+ m_y = 0.0;
+
+ DesignerSupport::resetAnchor(sgItem(), name);
+
+ if (name == "anchors.fill") {
+ resetHorizontal();
+ resetVertical();
+ } else if (name == "anchors.centerIn") {
+ resetHorizontal();
+ resetVertical();
+ } else if (name == "anchors.top") {
+ resetVertical();
+ } else if (name == "anchors.left") {
+ resetHorizontal();
+ } else if (name == "anchors.right") {
+ resetHorizontal();
+ } else if (name == "anchors.bottom") {
+ resetVertical();
+ } else if (name == "anchors.horizontalCenter") {
+ resetHorizontal();
+ } else if (name == "anchors.verticalCenter") {
+ resetVertical();
+ } else if (name == "anchors.baseline") {
+ resetVertical();
+ }
+
+ ObjectNodeInstance::resetProperty(name);
+}
+
+void SGItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty)
+{
+ if (oldParentInstance && oldParentInstance->isPositioner()) {
+ setInPositioner(false);
+ setMovable(true);
+ }
+
+ ObjectNodeInstance::reparent(oldParentInstance, oldParentProperty, newParentInstance, newParentProperty);
+
+ if (newParentInstance && newParentInstance->isPositioner()) {
+ setInPositioner(true);
+ setMovable(false);
+ }
+
+ if (oldParentInstance && oldParentInstance->isPositioner() && !(newParentInstance && newParentInstance->isPositioner())) {
+ if (!hasBindingForProperty("x"))
+ setPropertyVariant("x", m_x);
+
+ if (!hasBindingForProperty("y"))
+ setPropertyVariant("y", m_y);
+ }
+
+ refresh();
+}
+
+static bool isValidAnchorName(const QString &name)
+{
+ static QStringList anchorNameList(QStringList() << "anchors.top"
+ << "anchors.left"
+ << "anchors.right"
+ << "anchors.bottom"
+ << "anchors.verticalCenter"
+ << "anchors.horizontalCenter"
+ << "anchors.fill"
+ << "anchors.centerIn"
+ << "anchors.baseline");
+
+ return anchorNameList.contains(name);
+}
+
+bool SGItemNodeInstance::hasAnchor(const QString &name) const
+{
+ return DesignerSupport::hasAnchor(sgItem(), name);
+}
+
+QPair<QString, ServerNodeInstance> SGItemNodeInstance::anchor(const QString &name) const
+{
+ if (!isValidAnchorName(name) || !DesignerSupport::hasAnchor(sgItem(), name))
+ return ObjectNodeInstance::anchor(name);
+
+ QPair<QString, QObject*> nameObjectPair = DesignerSupport::anchorLineTarget(sgItem(), name, context());
+
+ QObject *targetObject = nameObjectPair.second;
+ QString targetName = nameObjectPair.first;
+
+ if (targetObject && nodeInstanceServer()->hasInstanceForObject(targetObject)) {
+ return qMakePair(targetName, nodeInstanceServer()->instanceForObject(targetObject));
+ } else {
+ return ObjectNodeInstance::anchor(name);
+ }
+}
+
+QList<ServerNodeInstance> SGItemNodeInstance::stateInstances() const
+{
+ QList<ServerNodeInstance> instanceList;
+ QList<QObject*> stateList = DesignerSupport::statesForItem(sgItem());
+ foreach (QObject *state, stateList)
+ {
+ if (state && nodeInstanceServer()->hasInstanceForObject(state))
+ instanceList.append(nodeInstanceServer()->instanceForObject(state));
+ }
+
+ return instanceList;
+}
+
+bool SGItemNodeInstance::isAnchoredBySibling() const
+{
+ if (sgItem()->parentItem()) {
+ foreach (QSGItem *siblingItem, sgItem()->parentItem()->childItems()) { // search in siblings for a anchor to this item
+ if (siblingItem) {
+ if (DesignerSupport::isAnchoredTo(siblingItem, sgItem()))
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+bool SGItemNodeInstance::isAnchoredByChildren() const
+{
+ if (DesignerSupport::areChildrenAnchoredTo(sgItem(), sgItem())) // search in children for a anchor to this item
+ return true;
+
+ return false;
+}
+
+QSGItem *SGItemNodeInstance::sgItem() const
+{
+ if (object() == 0)
+ return 0;
+
+ Q_ASSERT(qobject_cast<QSGItem*>(object()));
+ return static_cast<QSGItem*>(object());
+}
+
+DesignerSupport *SGItemNodeInstance::designerSupport() const
+{
+ return qt5NodeInstanceServer()->designerSupport();
+}
+
+Qt5NodeInstanceServer *SGItemNodeInstance::qt5NodeInstanceServer() const
+{
+ return qobject_cast<Qt5NodeInstanceServer*>(nodeInstanceServer());
+}
+
+} // namespace Internal
+} // namespace QmlDesigner
+
+#endif //QT_VERSION
diff --git a/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.h b/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.h
new file mode 100644
index 0000000000..b3f35e0ca0
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/instances/sgitemnodeinstance.h
@@ -0,0 +1,170 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef SGITEMNODEINSTANCE_H
+#define SGITEMNODEINSTANCE_H
+
+#include <QtGlobal>
+
+#if QT_VERSION >= 0x050000
+
+#include "objectnodeinstance.h"
+
+#include <QSGItem>
+#include <designersupportfunctions.h>
+
+namespace QmlDesigner {
+namespace Internal {
+
+class SGItemNodeInstance : public ObjectNodeInstance
+{
+public:
+ typedef QSharedPointer<SGItemNodeInstance> Pointer;
+ typedef QWeakPointer<SGItemNodeInstance> WeakPointer;
+
+ ~SGItemNodeInstance();
+
+ static Pointer create(QObject *objectToBeWrapped);
+ void initialize(const Pointer &objectNodeInstance);
+
+ bool isSGItem() const;
+
+ QRectF boundingRect() const;
+ QPointF position() const;
+ QSizeF size() const;
+ QTransform transform() const;
+ QTransform customTransform() const;
+ QTransform sceneTransform() const;
+ double opacity() const;
+
+ QObject *parent() const;
+
+ double rotation() const;
+ double scale() const;
+ QPointF transformOriginPoint() const;
+ double zValue() const;
+
+ bool equalSGItem(QSGItem *item) const;
+
+ bool hasContent() const;
+
+ QList<ServerNodeInstance> childItems() const;
+ QList<ServerNodeInstance> childItemsForChild(QSGItem *childItem) const;
+
+ bool isMovable() const;
+ void setMovable(bool movable);
+
+ void setPropertyVariant(const QString &name, const QVariant &value);
+ void setPropertyBinding(const QString &name, const QString &expression);
+
+ QVariant property(const QString &name) const;
+ void resetProperty(const QString &name);
+
+ void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty);
+
+ int penWidth() const;
+
+ bool hasAnchor(const QString &name) const;
+ QPair<QString, ServerNodeInstance> anchor(const QString &name) const;
+ bool isAnchoredBySibling() const;
+ bool isAnchoredByChildren() const;
+ void doComponentComplete();
+
+ bool isResizable() const;
+ void setResizable(bool resizeable);
+
+ void setHasContent(bool hasContent);
+
+ QList<ServerNodeInstance> stateInstances() const;
+
+ QImage renderImage() const;
+
+ DesignerSupport *designerSupport() const;
+ Qt5NodeInstanceServer *qt5NodeInstanceServer() const;
+
+protected:
+ SGItemNodeInstance(QSGItem*);
+ QSGItem *sgItem() const;
+ void resetHorizontal();
+ void resetVertical();
+ void refresh();
+
+private: //variables
+ bool m_hasHeight;
+ bool m_hasWidth;
+ bool m_isResizable;
+ bool m_hasContent;
+ bool m_isMovable;
+ double m_x;
+ double m_y;
+ double m_width;
+ double m_height;
+};
+
+} // namespace Internal
+} // namespace QmlDesigner
+
+#endif // QT_VERSION
+#endif // SGITEMNODEINSTANCE_H
+
diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidnodestateexception.cpp b/src/tools/qmlpuppet/qml2puppet/main.cpp
index e3b8abdadf..f1b1c6b90e 100644
--- a/src/plugins/qmldesigner/designercore/exceptions/invalidnodestateexception.cpp
+++ b/src/tools/qmlpuppet/qml2puppet/main.cpp
@@ -30,39 +30,42 @@
**
**************************************************************************/
-#include "invalidnodestateexception.h"
+#include <QtDebug>
-/*!
-\class QmlDesigner::InvalidNodeStateException
-\ingroup CoreExceptions
-\brief Exception for a invalid node states
+#include <QApplication>
+#include <QStringList>
+#include <qt5nodeinstanceclientproxy.h>
-/see NodeState
-*/
-namespace QmlDesigner {
-/*!
-\brief Constructor
+#ifdef ENABLE_QT_BREAKPAD
+#include <qtsystemexceptionhandler.h>
+#endif
-\param line use the __LINE__ macro
-\param function use the __FUNCTION__ or the Q_FUNC_INFO macro
-\param file use the __FILE__ macro
-*/
-InvalidNodeStateException::InvalidNodeStateException(int line,
- const QString &function,
- const QString &file)
- : Exception(line, function, file)
+#ifdef Q_OS_WIN
+#include <windows.h>
+#endif
+
+int main(int argc, char *argv[])
{
-}
+ QApplication application(argc, argv);
-/*!
-\brief Returns the type of this exception
+ if (application.arguments().count() != 4)
+ return -1;
-\returns the type as a string
-*/
-QString InvalidNodeStateException::type() const
-{
- return "InvalidNodeStateException";
-}
+ QCoreApplication::setOrganizationName("Nokia");
+ QCoreApplication::setOrganizationDomain("nokia.com");
+ QCoreApplication::setApplicationName("Qml2Puppet");
+ QCoreApplication::setApplicationVersion("1.0.0");
-} // namespace QmlDesigner
+#ifdef ENABLE_QT_BREAKPAD
+ QtSystemExceptionHandler systemExceptionHandler;
+#endif
+
+ new QmlDesigner::Qt5NodeInstanceClientProxy(&application);
+
+#if defined(Q_OS_WIN) && defined(QT_NO_DEBUG)
+ SetErrorMode(SEM_NOGPFAULTERRORBOX); //We do not want to see any message boxes
+#endif
+
+ return application.exec();
+}
diff --git a/src/tools/qmlpuppet/qml2puppet/qml2puppet.pro b/src/tools/qmlpuppet/qml2puppet/qml2puppet.pro
new file mode 100644
index 0000000000..00c9b72eb0
--- /dev/null
+++ b/src/tools/qmlpuppet/qml2puppet/qml2puppet.pro
@@ -0,0 +1,38 @@
+TARGET = qml2puppet
+
+TEMPLATE = app
+
+QT += core gui declarative network
+
+contains (QT_CONFIG, webkit) {
+ QT += webkit
+}
+
+QT += core-private declarative-private gui-private script-private
+
+DEFINES += QWEAKPOINTER_ENABLE_ARROW
+
+include(../../../../qtcreator.pri)
+DESTDIR = $$IDE_BIN_PATH
+include(../../../rpath.pri)
+
+include (instances/instances.pri)
+include (../instances/instances.pri)
+include (../commands/commands.pri)
+include (../container/container.pri)
+include (../interfaces/interfaces.pri)
+
+QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
+!isEmpty(QT_BREAKPAD_ROOT_PATH) {
+ include($$QT_BREAKPAD_ROOT_PATH/qtbreakpad.pri)
+}
+
+SOURCES += main.cpp
+RESOURCES += ../qmlpuppet.qrc
+
+OTHER_FILES += Info.plist.in
+macx {
+ info.input = Info.plist.in
+ info.output = $$IDE_BIN_PATH/$${TARGET}.app/Contents/Info.plist
+ QMAKE_SUBSTITUTES += info
+}
diff --git a/src/tools/qmlpuppet/qmlpuppet.pro b/src/tools/qmlpuppet/qmlpuppet.pro
index 7772d9dc29..2ef506f68e 100644
--- a/src/tools/qmlpuppet/qmlpuppet.pro
+++ b/src/tools/qmlpuppet/qmlpuppet.pro
@@ -1,35 +1,14 @@
-TARGET = qmlpuppet
-
-TEMPLATE = app
-
-QT += core gui declarative network
-
-contains (QT_CONFIG, webkit) {
- QT += webkit
-}
-
-DEFINES += QWEAKPOINTER_ENABLE_ARROW
+TEMPLATE = subdirs
include(../../../qtcreator.pri)
include(../../private_headers.pri)
-DESTDIR = $$IDE_BIN_PATH
-include(../../rpath.pri)
-
-include (../../plugins/qmldesigner/designercore/instances/instances.pri)
-include (../../plugins/qmldesigner/designercore/exceptions/exceptions.pri)
-
-QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
-!isEmpty(QT_BREAKPAD_ROOT_PATH) {
- include($$QT_BREAKPAD_ROOT_PATH/qtbreakpad.pri)
+minQtVersion(5, 0, 0) {
+ SUBDIRS += qml2puppet
}
-SOURCES += main.cpp
-RESOURCES += qmlpuppet.qrc
-
-OTHER_FILES += Info.plist.in
-macx {
- info.input = Info.plist.in
- info.output = $$IDE_BIN_PATH/$${TARGET}.app/Contents/Info.plist
- QMAKE_SUBSTITUTES += info
+exists($${QT_PRIVATE_HEADERS}/QtDeclarative/private/qdeclarativecontext_p.h) {
+ minQtVersion(4, 7, 1) {
+ SUBDIRS += qmlpuppet
+ }
}
diff --git a/src/tools/qmlpuppet/Info.plist.in b/src/tools/qmlpuppet/qmlpuppet/Info.plist.in
index 7d0d6a1039..7d0d6a1039 100644
--- a/src/tools/qmlpuppet/Info.plist.in
+++ b/src/tools/qmlpuppet/qmlpuppet/Info.plist.in
diff --git a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp
index 7ab71462c6..306165709f 100644
--- a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp
@@ -32,11 +32,9 @@
#include "graphicsobjectnodeinstance.h"
-#include "invalidnodeinstanceexception.h"
#include <QGraphicsObject>
#include "private/qgraphicsitem_p.h"
#include <QStyleOptionGraphicsItem>
-#include "nodemetainfo.h"
#include <QPixmap>
#include <QSizeF>
diff --git a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.h b/src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h
index dd4b819704..dd4b819704 100644
--- a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h
diff --git a/src/tools/qmlpuppet/qmlpuppet/instances/instances.pri b/src/tools/qmlpuppet/qmlpuppet/instances/instances.pri
new file mode 100644
index 0000000000..890faf94ae
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/instances.pri
@@ -0,0 +1,19 @@
+INCLUDEPATH += $$PWD/
+
+HEADERS += $$PWD/qt4nodeinstanceserver.h
+HEADERS += $$PWD/qt4nodeinstanceclientproxy.h
+HEADERS += $$PWD/qt4informationnodeinstanceserver.h
+HEADERS += $$PWD/qt4rendernodeinstanceserver.h
+HEADERS += $$PWD/qt4previewnodeinstanceserver.h
+HEADERS += $$PWD/graphicsobjectnodeinstance.h
+HEADERS += $$PWD/positionernodeinstance.h
+HEADERS += $$PWD/qmlgraphicsitemnodeinstance.h
+
+SOURCES += $$PWD/qt4nodeinstanceserver.cpp
+SOURCES += $$PWD/qt4nodeinstanceclientproxy.cpp
+SOURCES += $$PWD/qt4informationnodeinstanceserver.cpp
+SOURCES += $$PWD/qt4rendernodeinstanceserver.cpp
+SOURCES += $$PWD/qt4previewnodeinstanceserver.cpp
+SOURCES += $$PWD/graphicsobjectnodeinstance.cpp
+SOURCES += $$PWD/qmlgraphicsitemnodeinstance.cpp
+SOURCES += $$PWD/positionernodeinstance.cpp
diff --git a/src/plugins/qmldesigner/designercore/instances/positionernodeinstance.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp
index e611f85c42..718f8a3f06 100644
--- a/src/plugins/qmldesigner/designercore/instances/positionernodeinstance.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp
@@ -32,7 +32,6 @@
#include "positionernodeinstance.h"
#include <private/qdeclarativepositioners_p.h>
-#include <invalidnodeinstanceexception.h>
namespace QmlDesigner {
namespace Internal {
@@ -72,8 +71,7 @@ PositionerNodeInstance::Pointer PositionerNodeInstance::create(QObject *object)
{
QDeclarativeBasePositioner *positioner = qobject_cast<QDeclarativeBasePositioner*>(object);
- if (positioner == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(positioner);
Pointer instance(new PositionerNodeInstance(positioner));
diff --git a/src/plugins/qmldesigner/designercore/instances/positionernodeinstance.h b/src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h
index 1a0406e274..1a0406e274 100644
--- a/src/plugins/qmldesigner/designercore/instances/positionernodeinstance.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp
index 222b4a2a10..13c8a105f5 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp
@@ -32,11 +32,6 @@
#include "qmlgraphicsitemnodeinstance.h"
-#include <invalidnodeinstanceexception.h>
-
-#include "bindingproperty.h"
-#include "variantproperty.h"
-
#include <QDeclarativeExpression>
#include <private/qdeclarativeanchors_p.h>
@@ -88,8 +83,7 @@ QmlGraphicsItemNodeInstance::Pointer QmlGraphicsItemNodeInstance::create(QObject
{
QDeclarativeItem *qmlGraphicsItem = dynamic_cast<QDeclarativeItem*>(object);
- if (qmlGraphicsItem == 0)
- throw InvalidNodeInstanceException(__LINE__, __FUNCTION__, __FILE__);
+ Q_ASSERT(qmlGraphicsItem);
Pointer instance(new QmlGraphicsItemNodeInstance(qmlGraphicsItem));
@@ -465,7 +459,7 @@ QString propertyNameForAnchorLine(const QDeclarativeAnchorLine::AnchorLine &anch
}
}
-bool isValidAnchorName(const QString &name)
+static bool isValidAnchorName(const QString &name)
{
static QStringList anchorNameList(QStringList() << "anchors.top"
<< "anchors.left"
diff --git a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.h b/src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h
index 31a1f2c285..31a1f2c285 100644
--- a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h
diff --git a/src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp
index d7c3743951..7a25e1e72e 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.cpp
@@ -62,7 +62,7 @@
**************************************************************************/
-#include "informationnodeinstanceserver.h"
+#include "qt4informationnodeinstanceserver.h"
#include <QGraphicsItem>
#include <private/qgraphicsitem_p.h>
@@ -103,7 +103,6 @@
#include "commondefines.h"
#include "childrenchangeeventfilter.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "childrenchangedcommand.h"
#include "completecomponentcommand.h"
#include "componentcompletedcommand.h"
@@ -113,12 +112,12 @@
namespace QmlDesigner {
-InformationNodeInstanceServer::InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
- NodeInstanceServer(nodeInstanceClient)
+Qt4InformationNodeInstanceServer::Qt4InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt4NodeInstanceServer(nodeInstanceClient)
{
}
-void InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+void Qt4InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
{
static bool inFunction = false;
if (!inFunction) {
@@ -128,8 +127,8 @@ void InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
QVector<InstancePropertyPair> propertyChangedList;
bool adjustSceneRect = false;
- if (delcarativeView()) {
- foreach (QGraphicsItem *item, delcarativeView()->items()) {
+ if (declarativeView()) {
+ foreach (QGraphicsItem *item, declarativeView()->items()) {
QGraphicsObject *graphicsObject = item->toGraphicsObject();
if (graphicsObject && hasInstanceForObject(graphicsObject)) {
ServerNodeInstance instance = instanceForObject(graphicsObject);
@@ -140,7 +139,7 @@ void InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
if (d->geometryChanged) {
if (instance.isRootNodeInstance())
- delcarativeView()->scene()->setSceneRect(item->boundingRect());
+ declarativeView()->scene()->setSceneRect(item->boundingRect());
}
}
@@ -183,7 +182,7 @@ void InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
if (adjustSceneRect) {
QRectF boundingRect = rootNodeInstance().boundingRect();
if (boundingRect.isValid()) {
- delcarativeView()->setSceneRect(boundingRect);
+ declarativeView()->setSceneRect(boundingRect);
}
}
@@ -202,7 +201,7 @@ void InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands()
}
-void InformationNodeInstanceServer::reparentInstances(const ReparentInstancesCommand &command)
+void Qt4InformationNodeInstanceServer::reparentInstances(const ReparentInstancesCommand &command)
{
foreach(const ReparentContainer &container, command.reparentInstances()) {
ServerNodeInstance instance = instanceForId(container.instanceId());
@@ -214,7 +213,7 @@ void InformationNodeInstanceServer::reparentInstances(const ReparentInstancesCom
NodeInstanceServer::reparentInstances(command);
}
-void InformationNodeInstanceServer::clearScene(const ClearSceneCommand &command)
+void Qt4InformationNodeInstanceServer::clearScene(const ClearSceneCommand &command)
{
NodeInstanceServer::clearScene(command);
@@ -222,7 +221,7 @@ void InformationNodeInstanceServer::clearScene(const ClearSceneCommand &command)
m_completedComponentList.clear();
}
-void InformationNodeInstanceServer::createScene(const CreateSceneCommand &command)
+void Qt4InformationNodeInstanceServer::createScene(const CreateSceneCommand &command)
{
NodeInstanceServer::createScene(command);
@@ -241,7 +240,7 @@ void InformationNodeInstanceServer::createScene(const CreateSceneCommand &comman
}
-void InformationNodeInstanceServer::sendChildrenChangedCommand(const QList<ServerNodeInstance> childList)
+void Qt4InformationNodeInstanceServer::sendChildrenChangedCommand(const QList<ServerNodeInstance> childList)
{
QSet<ServerNodeInstance> parentSet;
QList<ServerNodeInstance> noParentList;
@@ -262,7 +261,7 @@ void InformationNodeInstanceServer::sendChildrenChangedCommand(const QList<Serve
}
-void InformationNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
+void Qt4InformationNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
{
NodeInstanceServer::completeComponent(command);
@@ -280,5 +279,4 @@ void InformationNodeInstanceServer::completeComponent(const CompleteComponentCom
nodeInstanceClient()->informationChanged(createAllInformationChangedCommand(instanceList, true));
}
-
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.h b/src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.h
index ca7ba792ef..ea5aa990e9 100644
--- a/src/plugins/qmldesigner/designercore/instances/informationnodeinstanceserver.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4informationnodeinstanceserver.h
@@ -65,15 +65,15 @@
#ifndef INFORMATIONNODEINSTANCESERVER_H
#define INFORMATIONNODEINSTANCESERVER_H
-#include "nodeinstanceserver.h"
+#include "qt4nodeinstanceserver.h"
namespace QmlDesigner {
-class InformationNodeInstanceServer : public NodeInstanceServer
+class Qt4InformationNodeInstanceServer : public Qt4NodeInstanceServer
{
Q_OBJECT
public:
- explicit InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+ explicit Qt4InformationNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
void reparentInstances(const ReparentInstancesCommand &command);
void clearScene(const ClearSceneCommand &command);
diff --git a/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.cpp
new file mode 100644
index 0000000000..91fe2417c0
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.cpp
@@ -0,0 +1,90 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt4nodeinstanceclientproxy.h"
+
+#include <QCoreApplication>
+
+#include "qt4informationnodeinstanceserver.h"
+#include "qt4previewnodeinstanceserver.h"
+#include "qt4rendernodeinstanceserver.h"
+
+namespace QmlDesigner {
+
+Qt4NodeInstanceClientProxy::Qt4NodeInstanceClientProxy(QObject *parent) :
+ NodeInstanceClientProxy(parent)
+{
+ if (QCoreApplication::arguments().at(2) == QLatin1String("previewmode")) {
+ setNodeInstanceServer(new Qt4PreviewNodeInstanceServer(this));
+ } else if (QCoreApplication::arguments().at(2) == QLatin1String("editormode")) {
+ setNodeInstanceServer(new Qt4InformationNodeInstanceServer(this));
+ } else if (QCoreApplication::arguments().at(2) == QLatin1String("rendermode")) {
+ setNodeInstanceServer(new Qt4RenderNodeInstanceServer(this));
+ }
+
+ initializeSocket();
+}
+
+} // namespace QmlDesigner
+
diff --git a/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.h b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.h
new file mode 100644
index 0000000000..4722a2df23
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceclientproxy.h
@@ -0,0 +1,81 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QMLDESIGNER_QT4NODEINSTANCECLIENTPROXY_H
+#define QMLDESIGNER_QT4NODEINSTANCECLIENTPROXY_H
+
+#include "nodeinstanceclientproxy.h"
+
+namespace QmlDesigner {
+
+class Qt4NodeInstanceClientProxy : public NodeInstanceClientProxy
+{
+ Q_OBJECT
+public:
+ explicit Qt4NodeInstanceClientProxy(QObject *parent = 0);
+};
+
+} // namespace QmlDesigner
+
+#endif // QMLDESIGNER_QT4NODEINSTANCECLIENTPROXY_H
diff --git a/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.cpp
new file mode 100644
index 0000000000..75cc69993a
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.cpp
@@ -0,0 +1,179 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#include "qt4nodeinstanceserver.h"
+
+#include "createscenecommand.h"
+
+#include <QDeclarativeView>
+#include <QDeclarativeEngine>
+#include <QFileInfo>
+#include <QGraphicsObject>
+#include <private/qgraphicsitem_p.h>
+#include <private/qgraphicsscene_p.h>
+#include <QDeclarativeContext>
+
+namespace QmlDesigner {
+
+Qt4NodeInstanceServer::Qt4NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient)
+ : NodeInstanceServer(nodeInstanceClient)
+{
+ addImportString("import QtQuick 1.0\n");
+}
+
+Qt4NodeInstanceServer::~Qt4NodeInstanceServer()
+{
+ delete declarativeView();
+}
+
+QSGView *Qt4NodeInstanceServer::sgView() const
+{
+ return 0;
+}
+
+QDeclarativeView *Qt4NodeInstanceServer::declarativeView() const
+{
+ return m_declarativeView.data();
+}
+
+QDeclarativeEngine *Qt4NodeInstanceServer::engine() const
+{
+ if (declarativeView())
+ return declarativeView()->engine();
+
+ return 0;
+}
+
+void Qt4NodeInstanceServer::initializeView(const QVector<AddImportContainer> &/*importVector*/)
+{
+ Q_ASSERT(!declarativeView());
+
+ m_declarativeView = new QDeclarativeView;
+#ifndef Q_WS_MAC
+ declarativeView()->setAttribute(Qt::WA_DontShowOnScreen, true);
+#endif
+ declarativeView()->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
+ declarativeView()->show();
+#ifdef Q_WS_MAC
+ declarativeView()->setAttribute(Qt::WA_DontShowOnScreen, true);
+#endif
+}
+
+void Qt4NodeInstanceServer::resizeCanvasSizeToRootItemSize()
+{
+ QGraphicsObject *rootGraphicsObject = qobject_cast<QGraphicsObject*>(rootNodeInstance().internalObject());
+ if (rootGraphicsObject) {
+ declarativeView()->scene()->addItem(rootGraphicsObject);
+ declarativeView()->setSceneRect(rootGraphicsObject->boundingRect());
+ }
+}
+
+void Qt4NodeInstanceServer::resetAllItems()
+{
+ static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(declarativeView()->scene()))->processDirtyItemsEmitted = true;
+
+ foreach (QGraphicsItem *item, declarativeView()->items())
+ static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(declarativeView()->scene()))->resetDirtyItem(item);
+}
+
+bool Qt4NodeInstanceServer::nonInstanceChildIsDirty(QGraphicsObject *graphicsObject) const
+{
+ QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(graphicsObject);
+ if (d->dirtyChildren) {
+ foreach (QGraphicsItem *child, graphicsObject->childItems()) {
+ QGraphicsObject *childGraphicsObject = child->toGraphicsObject();
+ if (hasInstanceForObject(childGraphicsObject))
+ continue;
+
+ QGraphicsItemPrivate *childPrivate = QGraphicsItemPrivate::get(child);
+ if (childPrivate->dirty || nonInstanceChildIsDirty(childGraphicsObject))
+ return true;
+ }
+ }
+
+ return false;
+}
+
+QList<ServerNodeInstance> Qt4NodeInstanceServer::setupScene(const CreateSceneCommand &command)
+{
+ setupFileUrl(command.fileUrl());
+ setupImports(command.imports());
+
+ static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(declarativeView()->scene()))->processDirtyItemsEmitted = true;
+
+ QList<ServerNodeInstance> instanceList = setupInstances(command);
+
+ declarativeView()->scene()->setSceneRect(rootNodeInstance().boundingRect());
+
+ return instanceList;
+}
+
+void Qt4NodeInstanceServer::refreshBindings()
+{
+ static int counter = 0;
+
+ engine()->rootContext()->setContextProperty(QString("__%1").arg(counter++), 0); // refreshing bindings
+}
+
+} // QmlDesigner
diff --git a/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.h b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.h
new file mode 100644
index 0000000000..60c41f2780
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4nodeinstanceserver.h
@@ -0,0 +1,100 @@
+/**************************************************************************
+
+**
+
+** This file is part of Qt Creator
+
+**
+
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+
+**
+
+** Contact: Nokia Corporation (qt-info@nokia.com)
+
+**
+
+** No Commercial Usage
+
+**
+
+** This file contains pre-release code and may not be distributed.
+
+** You may use this file in accordance with the terms and conditions
+
+** contained in the Technology Preview License Agreement accompanying
+
+** this package.
+
+**
+
+** GNU Lesser General Public License Usage
+
+**
+
+** Alternatively, 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.
+
+**
+
+** If you have questions regarding the use of this file, please contact
+
+** Nokia at qt-info@nokia.com.
+
+**
+
+**************************************************************************/
+
+#ifndef QT4NODEINSTANCESERVER_H
+#define QT4NODEINSTANCESERVER_H
+
+#include "nodeinstanceserver.h"
+
+QT_BEGIN_NAMESPACE
+class DesignerSupport;
+QT_END_NAMESPACE
+
+namespace QmlDesigner {
+
+class Qt4NodeInstanceServer : public NodeInstanceServer
+{
+ Q_OBJECT
+public:
+ Qt4NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+ ~Qt4NodeInstanceServer();
+
+ QSGView *sgView() const;
+ QDeclarativeView *declarativeView() const;
+ QDeclarativeEngine *engine() const;
+ void refreshBindings();
+
+protected:
+ void initializeView(const QVector<AddImportContainer> &importVector);
+ void resizeCanvasSizeToRootItemSize();
+ void resetAllItems();
+ bool nonInstanceChildIsDirty(QGraphicsObject *graphicsObject) const;
+ QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command);
+
+private:
+ QWeakPointer<QDeclarativeView> m_declarativeView;
+};
+
+} // QmlDesigner
+#endif // QT4NODEINSTANCESERVER_H
diff --git a/src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.cpp
index 13cc594349..fd90a0e1f7 100644
--- a/src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.cpp
@@ -30,27 +30,32 @@
**
**************************************************************************/
-#include "previewnodeinstanceserver.h"
+#include "qt4previewnodeinstanceserver.h"
+
#include "nodeinstanceclientinterface.h"
#include "statepreviewimagechangedcommand.h"
+#include "createscenecommand.h"
+
+#include <QPainter>
+#include <QDeclarativeView>
namespace QmlDesigner {
-PreviewNodeInstanceServer::PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
- NodeInstanceServer(nodeInstanceClient)
+Qt4PreviewNodeInstanceServer::Qt4PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt4NodeInstanceServer(nodeInstanceClient)
{
setRenderTimerInterval(200);
setSlowRenderTimerInterval(2000);
}
-void PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
+void Qt4PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
{
- initializeDeclarativeView();
+ initializeView(command.imports());
setupScene(command);
startRenderTimer();
}
-void PreviewNodeInstanceServer::startRenderTimer()
+void Qt4PreviewNodeInstanceServer::startRenderTimer()
{
if (timerId() != 0)
killTimer(timerId());
@@ -60,7 +65,7 @@ void PreviewNodeInstanceServer::startRenderTimer()
setTimerId(timerId);
}
-void PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+void Qt4PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands()
{
static bool inFunction = false;
@@ -82,8 +87,30 @@ void PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands()
}
}
-void PreviewNodeInstanceServer::changeState(const ChangeStateCommand &/*command*/)
+void Qt4PreviewNodeInstanceServer::changeState(const ChangeStateCommand &/*command*/)
+{
+
+}
+
+QImage Qt4PreviewNodeInstanceServer::renderPreviewImage()
{
+ QSize size = rootNodeInstance().boundingRect().size().toSize();
+ size.scale(100, 100, Qt::KeepAspectRatio);
+
+ QImage image(size, QImage::Format_ARGB32);
+ image.fill(0xFFFFFFFF);
+
+ if (declarativeView()) {
+ QPainter painter(&image);
+ painter.setRenderHint(QPainter::Antialiasing, true);
+ painter.setRenderHint(QPainter::TextAntialiasing, true);
+ painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
+ painter.setRenderHint(QPainter::HighQualityAntialiasing, true);
+ painter.setRenderHint(QPainter::NonCosmeticDefaultPen, true);
+
+ declarativeView()->scene()->render(&painter, image.rect(), rootNodeInstance().boundingRect().toRect(), Qt::IgnoreAspectRatio);
+ }
+ return image;
}
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.h b/src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.h
index 8a8a8b5d4a..1c64519861 100644
--- a/src/plugins/qmldesigner/designercore/instances/previewnodeinstanceserver.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4previewnodeinstanceserver.h
@@ -30,30 +30,32 @@
**
**************************************************************************/
-#ifndef PREVIEWNODEINSTANCESERVER_H
-#define PREVIEWNODEINSTANCESERVER_H
+#ifndef QT4PREVIEWNODEINSTANCESERVER_H
+#define QT4PREVIEWNODEINSTANCESERVER_H
-#include "nodeinstanceserver.h"
+#include "qt4nodeinstanceserver.h"
namespace QmlDesigner {
-class PreviewNodeInstanceServer : public NodeInstanceServer
+class Qt4PreviewNodeInstanceServer : public Qt4NodeInstanceServer
{
Q_OBJECT
public:
- explicit PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+ explicit Qt4PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+
void createScene(const CreateSceneCommand &command);
void changeState(const ChangeStateCommand &command);
+ QImage renderPreviewImage();
+
protected:
void collectItemChangesAndSendChangeCommands();
void startRenderTimer();
private:
ServerNodeInstance m_actualState;
-
};
} // namespace QmlDesigner
-#endif // PREVIEWNODEINSTANCESERVER_H
+#endif // QT4PREVIEWNODEINSTANCESERVER_H
diff --git a/src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.cpp b/src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp
index d2fd7e321a..914d65d808 100644
--- a/src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.cpp
@@ -30,7 +30,7 @@
**
**************************************************************************/
-#include "rendernodeinstanceserver.h"
+#include "qt4rendernodeinstanceserver.h"
#include <QGraphicsItem>
#include <private/qgraphicsitem_p.h>
@@ -71,7 +71,6 @@
#include "commondefines.h"
#include "childrenchangeeventfilter.h"
#include "changestatecommand.h"
-#include "addimportcommand.h"
#include "childrenchangedcommand.h"
#include "completecomponentcommand.h"
#include "componentcompletedcommand.h"
@@ -81,12 +80,12 @@
namespace QmlDesigner {
-RenderNodeInstanceServer::RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
- NodeInstanceServer(nodeInstanceClient)
+Qt4RenderNodeInstanceServer::Qt4RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient) :
+ Qt4NodeInstanceServer(nodeInstanceClient)
{
}
-void RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
+void Qt4RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
{
static bool inFunction = false;
if (!inFunction) {
@@ -94,8 +93,8 @@ void RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
bool adjustSceneRect = false;
- if (delcarativeView()) {
- foreach (QGraphicsItem *item, delcarativeView()->items()) {
+ if (declarativeView()) {
+ foreach (QGraphicsItem *item, declarativeView()->items()) {
QGraphicsObject *graphicsObject = item->toGraphicsObject();
if (graphicsObject && hasInstanceForObject(graphicsObject)) {
ServerNodeInstance instance = instanceForObject(graphicsObject);
@@ -106,7 +105,7 @@ void RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
if (d->geometryChanged) {
if (instance.isRootNodeInstance())
- delcarativeView()->scene()->setSceneRect(item->boundingRect());
+ declarativeView()->scene()->setSceneRect(item->boundingRect());
}
}
@@ -134,7 +133,7 @@ void RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
if (adjustSceneRect) {
QRectF boundingRect = rootNodeInstance().boundingRect();
if (boundingRect.isValid()) {
- delcarativeView()->setSceneRect(boundingRect);
+ declarativeView()->setSceneRect(boundingRect);
}
}
@@ -147,7 +146,7 @@ void RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
}
}
-void RenderNodeInstanceServer::createScene(const CreateSceneCommand &command)
+void Qt4RenderNodeInstanceServer::createScene(const CreateSceneCommand &command)
{
NodeInstanceServer::createScene(command);
@@ -162,14 +161,14 @@ void RenderNodeInstanceServer::createScene(const CreateSceneCommand &command)
nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand(instanceList));
}
-void RenderNodeInstanceServer::clearScene(const ClearSceneCommand &command)
+void Qt4RenderNodeInstanceServer::clearScene(const ClearSceneCommand &command)
{
NodeInstanceServer::clearScene(command);
m_dirtyInstanceSet.clear();
}
-void RenderNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
+void Qt4RenderNodeInstanceServer::completeComponent(const CompleteComponentCommand &command)
{
NodeInstanceServer::completeComponent(command);
diff --git a/src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.h b/src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h
index 3771a4a09b..dde4056a65 100644
--- a/src/plugins/qmldesigner/designercore/instances/rendernodeinstanceserver.h
+++ b/src/tools/qmlpuppet/qmlpuppet/instances/qt4rendernodeinstanceserver.h
@@ -33,15 +33,15 @@
#ifndef RENDERNODEINSTANCESERVER_H
#define RENDERNODEINSTANCESERVER_H
-#include "nodeinstanceserver.h"
+#include "qt4nodeinstanceserver.h"
namespace QmlDesigner {
-class RenderNodeInstanceServer : public NodeInstanceServer
+class Qt4RenderNodeInstanceServer : public Qt4NodeInstanceServer
{
Q_OBJECT
public:
- explicit RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
+ explicit Qt4RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient);
void createScene(const CreateSceneCommand &command);
void clearScene(const ClearSceneCommand &command);
diff --git a/src/tools/qmlpuppet/main.cpp b/src/tools/qmlpuppet/qmlpuppet/main.cpp
index c3dba8b371..bbc168008f 100644
--- a/src/tools/qmlpuppet/main.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/main.cpp
@@ -35,7 +35,7 @@
#include <QApplication>
#include <QStringList>
-#include <nodeinstanceclientproxy.h>
+#include <qt4nodeinstanceclientproxy.h>
#ifdef ENABLE_QT_BREAKPAD
#include <qtsystemexceptionhandler.h>
@@ -55,13 +55,13 @@ int main(int argc, char *argv[])
QCoreApplication::setOrganizationName("Nokia");
QCoreApplication::setOrganizationDomain("nokia.com");
QCoreApplication::setApplicationName("QmlPuppet");
- QCoreApplication::setApplicationVersion("1.0.0");
+ QCoreApplication::setApplicationVersion("1.1.0");
#ifdef ENABLE_QT_BREAKPAD
QtSystemExceptionHandler systemExceptionHandler;
#endif
- new QmlDesigner::NodeInstanceClientProxy(&application);
+ new QmlDesigner::Qt4NodeInstanceClientProxy(&application);
#if defined(Q_OS_WIN) && defined(QT_NO_DEBUG)
SetErrorMode(SEM_NOGPFAULTERRORBOX); //We do not want to see any message boxes
diff --git a/src/tools/qmlpuppet/qmlpuppet/qmlpuppet.pro b/src/tools/qmlpuppet/qmlpuppet/qmlpuppet.pro
new file mode 100644
index 0000000000..36d9b7a0aa
--- /dev/null
+++ b/src/tools/qmlpuppet/qmlpuppet/qmlpuppet.pro
@@ -0,0 +1,42 @@
+TARGET = qmlpuppet
+
+TEMPLATE = app
+
+include(../../../../qtcreator.pri)
+include(../../../private_headers.pri)
+DESTDIR = $$IDE_BIN_PATH
+include(../../../rpath.pri)
+
+QT += core gui declarative network
+
+contains (QT_CONFIG, webkit) {
+ QT += webkit
+}
+minQtVersion(5, 0, 0) {
+ QT += core-private declarative-private gui-private script-private
+}
+DEFINES += QWEAKPOINTER_ENABLE_ARROW
+
+
+
+
+include (instances/instances.pri)
+include (../instances/instances.pri)
+include (../commands/commands.pri)
+include (../container/container.pri)
+include (../interfaces/interfaces.pri)
+
+QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
+!isEmpty(QT_BREAKPAD_ROOT_PATH) {
+ include($$QT_BREAKPAD_ROOT_PATH/qtbreakpad.pri)
+}
+
+SOURCES += main.cpp
+RESOURCES += ../qmlpuppet.qrc
+
+OTHER_FILES += Info.plist.in
+macx {
+ info.input = Info.plist.in
+ info.output = $$IDE_BIN_PATH/$${TARGET}.app/Contents/Info.plist
+ QMAKE_SUBSTITUTES += info
+}
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index e63bca5304..f2e6b0f0b6 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -2,6 +2,7 @@ TEMPLATE = subdirs
win32:SUBDIRS = qtcdebugger
SUBDIRS += qtpromaker
+SUBDIRS += qmlpuppet
!win32 {
SUBDIRS += valgrindfake
@@ -12,10 +13,3 @@ QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
SUBDIRS += qtcrashhandler
}
-include(../../qtcreator.pri)
-include(../private_headers.pri)
-exists($${QT_PRIVATE_HEADERS}/QtDeclarative/private/qdeclarativecontext_p.h) {
- minQtVersion(4, 7, 1) {
- SUBDIRS += qmlpuppet
- }
-}