diff options
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet')
29 files changed, 200 insertions, 203 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.cpp index 41a34cc7a2..bc7d69c995 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.cpp @@ -49,28 +49,27 @@ AnchorChangesNodeInstance::Pointer AnchorChangesNodeInstance::create(QObject *ob return instance; } -void AnchorChangesNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +void AnchorChangesNodeInstance::setPropertyVariant(const PropertyName &/*name*/, const QVariant &/*value*/) { } -void AnchorChangesNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) +void AnchorChangesNodeInstance::setPropertyBinding(const PropertyName &/*name*/, const QString &/*expression*/) { } -QVariant AnchorChangesNodeInstance::property(const QString &/*name*/) const +QVariant AnchorChangesNodeInstance::property(const PropertyName &/*name*/) const { return QVariant(); } -void AnchorChangesNodeInstance::resetProperty(const QString &/*name*/) +void AnchorChangesNodeInstance::resetProperty(const PropertyName &/*name*/) { } - -void AnchorChangesNodeInstance::reparent(const ServerNodeInstance &/*oldParentInstance*/, - const QString &/*oldParentProperty*/, - const ServerNodeInstance &/*newParentInstance*/, - const QString &/*newParentProperty*/) +void AnchorChangesNodeInstance::reparent(const ObjectNodeInstance::Pointer &/*oldParentInstance*/, + const PropertyName &/*oldParentProperty*/, + const ObjectNodeInstance::Pointer &/*newParentInstance*/, + const PropertyName &/*newParentProperty*/) { } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.h index a2e3f600b8..d320a5f8de 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/anchorchangesnodeinstance.h @@ -52,16 +52,15 @@ public: static Pointer create(QObject *objectToBeWrapped); - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; + QVariant property(const PropertyName &name) const Q_DECL_OVERRIDE; + void resetProperty(const PropertyName &name) Q_DECL_OVERRIDE; - using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, - const QString &oldParentProperty, - const ServerNodeInstance &newParentInstance, - const QString &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, + const PropertyName &oldParentProperty, + const ObjectNodeInstance::Pointer &newParentInstance, + const PropertyName &newParentProperty) Q_DECL_OVERRIDE; protected: AnchorChangesNodeInstance(QObject *object); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h index 0cc6d68891..5f3745c0d6 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h @@ -45,12 +45,12 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const PropertyName &name, const QVariant &value); - void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; - QVariant property(const PropertyName &name) const; - void resetProperty(const PropertyName &name); + QVariant property(const PropertyName &name) const Q_DECL_OVERRIDE; + void resetProperty(const PropertyName &name) Q_DECL_OVERRIDE; private: bool m_isEnabled; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/componentnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/componentnodeinstance.h index b78b89134a..bc0f1dc182 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/componentnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/componentnodeinstance.h @@ -47,9 +47,9 @@ public: ComponentNodeInstance(QQmlComponent *component); static Pointer create(QObject *objectToBeWrapped); - bool hasContent() const; + bool hasContent() const Q_DECL_OVERRIDE; - void setNodeSource(const QString &source); + void setNodeSource(const QString &source) Q_DECL_OVERRIDE; private: //function QQmlComponent *component() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.cpp index 3ee9ae4eff..af5b7ff3ef 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.cpp @@ -42,10 +42,6 @@ DummyNodeInstance::Pointer DummyNodeInstance::create() return Pointer(new DummyNodeInstance); } -void DummyNodeInstance::paint(QPainter * /*painter*/) -{ -} - QRectF DummyNodeInstance::boundingRect() const { return QRectF(); @@ -71,11 +67,11 @@ double DummyNodeInstance::opacity() const return 0.0; } -void DummyNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +void DummyNodeInstance::setPropertyVariant(const PropertyName &/*name*/, const QVariant &/*value*/) { } -void DummyNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) +void DummyNodeInstance::setPropertyBinding(const PropertyName &/*name*/, const QString &/*expression*/) { } @@ -85,21 +81,11 @@ void DummyNodeInstance::setId(const QString &/*id*/) } -QVariant DummyNodeInstance::property(const QString &/*name*/) const +QVariant DummyNodeInstance::property(const PropertyName &/*name*/) const { return QVariant(); } -QStringList DummyNodeInstance::properties() -{ - return QStringList(); -} - -QStringList DummyNodeInstance::localProperties() -{ - return QStringList(); -} - void DummyNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Pointer &/*objectNodeInstance*/) { diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.h index 357dcb4263..d67653a298 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/dummynodeinstance.h @@ -45,20 +45,16 @@ public: static Pointer create(); - void paint(QPainter *painter); + QRectF boundingRect() const Q_DECL_OVERRIDE; + QPointF position() const Q_DECL_OVERRIDE; + QSizeF size() const Q_DECL_OVERRIDE; + QTransform transform() const Q_DECL_OVERRIDE; + double opacity() const Q_DECL_OVERRIDE; - QRectF boundingRect() const; - QPointF position() const; - QSizeF size() const; - QTransform transform() const; - double opacity() const; - - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); - void setId(const QString &id); - QVariant property(const QString &name) const; - QStringList properties(); - QStringList localProperties(); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; + void setId(const QString &id) Q_DECL_OVERRIDE; + QVariant property(const PropertyName &name) const Q_DECL_OVERRIDE; void initializePropertyWatcher(const ObjectNodeInstance::Pointer &objectNodeInstance); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 9b47f2da44..477f53911a 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -431,6 +431,10 @@ QVariant ObjectNodeInstance::fixResourcePaths(const QVariant &value) return value; } +void ObjectNodeInstance::updateDirtyNodeRecursive() +{ +} + void ObjectNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { QQmlProperty property(object(), name, context()); @@ -1097,11 +1101,12 @@ void ObjectNodeInstance::setResetValue(const PropertyName &propertyName, const Q m_resetValueHash.insert(propertyName, value); } -void ObjectNodeInstance::paint(QPainter * /*painter*/) +QImage ObjectNodeInstance::renderImage() const { + return QImage(); } -QImage ObjectNodeInstance::renderImage() const +QImage ObjectNodeInstance::renderPreviewImage(const QSize & /*previewImageSize*/) const { return QImage(); } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h index e4aa1d99c0..567fca9fcb 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h @@ -82,8 +82,8 @@ public: 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; + virtual QImage renderPreviewImage(const QSize &previewImageSize) const; virtual QObject *parent() const; @@ -178,6 +178,8 @@ public: static QVariant fixResourcePaths(const QVariant &value); + virtual void updateDirtyNodeRecursive(); + protected: void doResetProperty(const PropertyName &propertyName); void removeFromOldProperty(QObject *object, QObject *oldParent, const PropertyName &oldParentProperty); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h index 1028af42d4..f81e22e717 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h @@ -47,14 +47,14 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const PropertyName &name, const QVariant &value); - void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; - bool isPositioner() const; + bool isPositioner() const Q_DECL_OVERRIDE; - bool isResizable() const; + bool isResizable() const Q_DECL_OVERRIDE; - void refreshPositioner(); + void refreshPositioner() Q_DECL_OVERRIDE; protected: PositionerNodeInstance(QQuickBasePositioner *item); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp index e9a3557848..1a2330b84e 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp @@ -99,11 +99,11 @@ void QmlPropertyChangesNodeInstance::resetProperty(const PropertyName &name) } -void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) +void QmlPropertyChangesNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { changesObject()->detachFromState(); - ObjectNodeInstance::reparent(oldParentInstance.internalInstance(), oldParentProperty, newParentInstance.internalInstance(), newParentProperty); + ObjectNodeInstance::reparent(oldParentInstance, oldParentProperty, newParentInstance, newParentProperty); changesObject()->attachToState(); } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h index 30e2986827..23e09028a9 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h @@ -54,13 +54,12 @@ public: static Pointer create(QObject *objectToBeWrapped); - virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); - virtual void setPropertyBinding(const PropertyName &name, const QString &expression); - virtual QVariant property(const PropertyName &name) const; - virtual void resetProperty(const PropertyName &name); + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + virtual void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; + virtual QVariant property(const PropertyName &name) const Q_DECL_OVERRIDE; + virtual void resetProperty(const PropertyName &name) Q_DECL_OVERRIDE; - using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) Q_DECL_OVERRIDE; protected: QmlPropertyChangesNodeInstance(QQuickPropertyChanges *object); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h index 78a759f1df..ad33649157 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h @@ -48,15 +48,15 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const PropertyName &name, const QVariant &value); - void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; - void activateState(); - void deactivateState(); + void activateState() Q_DECL_OVERRIDE; + void deactivateState() Q_DECL_OVERRIDE; - bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value); - bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression); - bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue); + bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value) Q_DECL_OVERRIDE; + bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression) Q_DECL_OVERRIDE; + bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue) Q_DECL_OVERRIDE; protected: diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h index d12e367abd..7aa99fa301 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h @@ -47,9 +47,9 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; - bool isTransition() const; + bool isTransition() const Q_DECL_OVERRIDE; protected: QQuickTransition *qmlTransition() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h index a6b9408946..ee6d32e00b 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.h @@ -41,15 +41,15 @@ class Qt5InformationNodeInstanceServer : public Qt5NodeInstanceServer 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); - void token(const TokenCommand &command); - void removeSharedMemory(const RemoveSharedMemoryCommand &command); + void reparentInstances(const ReparentInstancesCommand &command) Q_DECL_OVERRIDE; + void clearScene(const ClearSceneCommand &command) Q_DECL_OVERRIDE; + void createScene(const CreateSceneCommand &command) Q_DECL_OVERRIDE; + void completeComponent(const CompleteComponentCommand &command) Q_DECL_OVERRIDE; + void token(const TokenCommand &command) Q_DECL_OVERRIDE; + void removeSharedMemory(const RemoveSharedMemoryCommand &command) Q_DECL_OVERRIDE; protected: - void collectItemChangesAndSendChangeCommands(); + void collectItemChangesAndSendChangeCommands() Q_DECL_OVERRIDE; void sendChildrenChangedCommand(const QList<ServerNodeInstance> childList); void sendTokenBack(); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h index a0f354fedf..bbf5aee7e3 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.h @@ -48,21 +48,21 @@ public: Qt5NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient); ~Qt5NodeInstanceServer(); - QQuickView *quickView() const; - QQmlView *declarativeView() const; - QQmlEngine *engine() const; - void refreshBindings(); + QQuickView *quickView() const Q_DECL_OVERRIDE; + QQmlView *declarativeView() const Q_DECL_OVERRIDE; + QQmlEngine *engine() const Q_DECL_OVERRIDE; + void refreshBindings() Q_DECL_OVERRIDE; DesignerSupport *designerSupport() const; - void createScene(const CreateSceneCommand &command); - void clearScene(const ClearSceneCommand &command); + void createScene(const CreateSceneCommand &command) Q_DECL_OVERRIDE; + void clearScene(const ClearSceneCommand &command) Q_DECL_OVERRIDE; protected: - void initializeView(const QVector<AddImportContainer> &importVector); - void resizeCanvasSizeToRootItemSize(); + void initializeView(const QVector<AddImportContainer> &importVector) Q_DECL_OVERRIDE; + void resizeCanvasSizeToRootItemSize() Q_DECL_OVERRIDE; void resetAllItems(); - QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command); + QList<ServerNodeInstance> setupScene(const CreateSceneCommand &command) Q_DECL_OVERRIDE; QList<QQuickItem*> allItems() const; private: diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp index 8e3a5c767b..63451eb01b 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp @@ -65,7 +65,7 @@ void Qt5PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands() { static bool inFunction = false; - if (rootNodeInstance().internalSGItem() == 0) + if (!rootNodeInstance().holdsQuickItem()) return; if (!inFunction && nodeInstanceClient()->bytesToWrite() < 10000) { @@ -106,17 +106,14 @@ static void updateDirtyNodeRecursive(QQuickItem *parentItem) QImage Qt5PreviewNodeInstanceServer::renderPreviewImage() { - updateDirtyNodeRecursive(rootNodeInstance().internalSGItem()); + rootNodeInstance().updateDirtyNodeRecursive(); QRectF boundingRect = rootNodeInstance().boundingRect(); QSize previewImageSize = boundingRect.size().toSize(); previewImageSize.scale(QSize(100, 100), Qt::KeepAspectRatio); - QImage previewImage; - - if (boundingRect.isValid() && rootNodeInstance().internalSGItem()) - previewImage = designerSupport()->renderImageForItem(rootNodeInstance().internalSGItem(), boundingRect, previewImageSize); + QImage previewImage = rootNodeInstance().renderPreviewImage(previewImageSize); previewImage = previewImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h index 55f10bdfcc..5064812770 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.h @@ -40,15 +40,15 @@ class Qt5PreviewNodeInstanceServer : public Qt5NodeInstanceServer public: explicit Qt5PreviewNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient); - void createScene(const CreateSceneCommand &command); - void changeState(const ChangeStateCommand &command); - void removeSharedMemory(const RemoveSharedMemoryCommand &command); + void createScene(const CreateSceneCommand &command) Q_DECL_OVERRIDE; + void changeState(const ChangeStateCommand &command) Q_DECL_OVERRIDE; + void removeSharedMemory(const RemoveSharedMemoryCommand &command) Q_DECL_OVERRIDE; QImage renderPreviewImage(); protected: - void collectItemChangesAndSendChangeCommands(); - void startRenderTimer(); + void collectItemChangesAndSendChangeCommands() Q_DECL_OVERRIDE; + void startRenderTimer() Q_DECL_OVERRIDE; private: ServerNodeInstance m_actualState; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h index 7a622f9348..3e2e4ac3e6 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.h @@ -40,13 +40,13 @@ class Qt5RenderNodeInstanceServer : public Qt5NodeInstanceServer public: explicit Qt5RenderNodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient); - void createScene(const CreateSceneCommand &command); - void clearScene(const ClearSceneCommand &command); - void completeComponent(const CompleteComponentCommand &command); - void removeSharedMemory(const RemoveSharedMemoryCommand &command); + void createScene(const CreateSceneCommand &command) Q_DECL_OVERRIDE; + void clearScene(const ClearSceneCommand &command) Q_DECL_OVERRIDE; + void completeComponent(const CompleteComponentCommand &command) Q_DECL_OVERRIDE; + void removeSharedMemory(const RemoveSharedMemoryCommand &command) Q_DECL_OVERRIDE; protected: - void collectItemChangesAndSendChangeCommands(); + void collectItemChangesAndSendChangeCommands() Q_DECL_OVERRIDE; ServerNodeInstance findNodeInstanceForItem(QQuickItem *item) const; private: diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp index 94f8622491..39281d1ac2 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp @@ -218,6 +218,14 @@ void QuickItemNodeInstance::updateDirtyNodeRecursive(QQuickItem *parentItem) con DesignerSupport::updateDirtyNode(parentItem); } +void QuickItemNodeInstance::updateAllDirtyNodeRecursive(QQuickItem *parentItem) const +{ + foreach (QQuickItem *childItem, parentItem->childItems()) + updateDirtyNodeRecursive(childItem); + + DesignerSupport::updateDirtyNode(parentItem); +} + QImage QuickItemNodeInstance::renderImage() const { updateDirtyNodeRecursive(quickItem()); @@ -231,6 +239,16 @@ QImage QuickItemNodeInstance::renderImage() const return renderImage; } +QImage QuickItemNodeInstance::renderPreviewImage(const QSize &previewImageSize) const +{ + QRectF previewItemBoundingRect = boundingRect(); + + if (previewItemBoundingRect.isValid() && quickItem()) + return designerSupport()->renderImageForItem(quickItem(), previewItemBoundingRect, previewImageSize); + + return QImage(); +} + bool QuickItemNodeInstance::isMovable() const { if (isRootNodeInstance()) @@ -661,6 +679,11 @@ void QuickItemNodeInstance::createEffectItem(bool createEffectItem) s_createEffectItem = createEffectItem; } +void QuickItemNodeInstance::updateDirtyNodeRecursive() +{ + updateAllDirtyNodeRecursive(quickItem()); +} + } // namespace Internal } // namespace QmlDesigner diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h index 7ac8a9f4ae..4015308f8f 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h @@ -49,65 +49,68 @@ public: ~QuickItemNodeInstance(); static Pointer create(QObject *objectToBeWrapped); - void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance); + void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance) Q_DECL_OVERRIDE; - bool isQuickItem() const; + bool isQuickItem() const Q_DECL_OVERRIDE; - QRectF boundingRect() const; - QPointF position() const; - QSizeF size() const; - QTransform transform() const; - QTransform customTransform() const; - QTransform sceneTransform() const; - double opacity() const; + QRectF boundingRect() const Q_DECL_OVERRIDE; + QPointF position() const Q_DECL_OVERRIDE; + QSizeF size() const Q_DECL_OVERRIDE; + QTransform transform() const Q_DECL_OVERRIDE; + QTransform customTransform() const Q_DECL_OVERRIDE; + QTransform sceneTransform() const Q_DECL_OVERRIDE; + double opacity() const Q_DECL_OVERRIDE; - QObject *parent() const; + QObject *parent() const Q_DECL_OVERRIDE; - double rotation() const; - double scale() const; - QPointF transformOriginPoint() const; - double zValue() const; + double rotation() const Q_DECL_OVERRIDE; + double scale() const Q_DECL_OVERRIDE; + QPointF transformOriginPoint() const Q_DECL_OVERRIDE; + double zValue() const Q_DECL_OVERRIDE; bool equalQuickItem(QQuickItem *item) const; - bool hasContent() const; + bool hasContent() const Q_DECL_OVERRIDE; - QList<ServerNodeInstance> childItems() const; + QList<ServerNodeInstance> childItems() const Q_DECL_OVERRIDE; QList<ServerNodeInstance> childItemsForChild(QQuickItem *childItem) const; - bool isMovable() const; + bool isMovable() const Q_DECL_OVERRIDE; void setMovable(bool movable); - void setPropertyVariant(const PropertyName &name, const QVariant &value); - void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value) Q_DECL_OVERRIDE; + void setPropertyBinding(const PropertyName &name, const QString &expression) Q_DECL_OVERRIDE; - QVariant property(const PropertyName &name) const; - void resetProperty(const PropertyName &name); + QVariant property(const PropertyName &name) const Q_DECL_OVERRIDE; + void resetProperty(const PropertyName &name) Q_DECL_OVERRIDE; - void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) Q_DECL_OVERRIDE; - int penWidth() const; + int penWidth() const Q_DECL_OVERRIDE; - bool hasAnchor(const PropertyName &name) const; - QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; - bool isAnchoredBySibling() const; - bool isAnchoredByChildren() const; - void doComponentComplete(); + bool hasAnchor(const PropertyName &name) const Q_DECL_OVERRIDE; + QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const Q_DECL_OVERRIDE; + bool isAnchoredBySibling() const Q_DECL_OVERRIDE; + bool isAnchoredByChildren() const Q_DECL_OVERRIDE; + void doComponentComplete() Q_DECL_OVERRIDE; - bool isResizable() const; + bool isResizable() const Q_DECL_OVERRIDE; void setResizable(bool resizeable); void setHasContent(bool hasContent); - QList<ServerNodeInstance> stateInstances() const; + QList<ServerNodeInstance> stateInstances() const Q_DECL_OVERRIDE; - QImage renderImage() const; + QImage renderImage() const Q_DECL_OVERRIDE; + QImage renderPreviewImage(const QSize &previewImageSize) const Q_DECL_OVERRIDE; DesignerSupport *designerSupport() const; Qt5NodeInstanceServer *qt5NodeInstanceServer() const; static void createEffectItem(bool createEffectItem); + void updateDirtyNodeRecursive() Q_DECL_OVERRIDE; + protected: QuickItemNodeInstance(QQuickItem*); QQuickItem *quickItem() const; @@ -116,6 +119,7 @@ protected: void refresh(); QRectF boundingRectWithStepChilds(QQuickItem *parentItem) const; void updateDirtyNodeRecursive(QQuickItem *parentItem) const; + void updateAllDirtyNodeRecursive(QQuickItem *parentItem) const; static bool anyItemHasContent(QQuickItem *graphicsItem); static bool childItemsHaveContent(QQuickItem *graphicsItem); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp index 0250e77b14..b4bbf5cfc2 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp @@ -108,18 +108,14 @@ ServerNodeInstance &ServerNodeInstance::operator=(const ServerNodeInstance &othe return *this; } -/*! -\brief Paints the NodeInstance with this painter. -\param painter used QPainter -*/ -void ServerNodeInstance::paint(QPainter *painter) +QImage ServerNodeInstance::renderImage() const { - m_nodeInstance->paint(painter); + return m_nodeInstance->renderImage(); } -QImage ServerNodeInstance::renderImage() const +QImage ServerNodeInstance::renderPreviewImage(const QSize &previewImageSize) const { - return m_nodeInstance->renderImage(); + return m_nodeInstance->renderPreviewImage(previewImageSize); } bool ServerNodeInstance::isRootNodeInstance() const @@ -153,6 +149,16 @@ void ServerNodeInstance::setNodeSource(const QString &source) m_nodeInstance->setNodeSource(source); } +bool ServerNodeInstance::holdsQuickItem() const +{ + return m_nodeInstance->isQuickItem(); +} + +void ServerNodeInstance::updateDirtyNodeRecursive() +{ + m_nodeInstance->updateDirtyNodeRecursive(); +} + bool ServerNodeInstance::isSubclassOf(const QString &superTypeName) const { return isSubclassOf(internalObject(), superTypeName.toUtf8()); @@ -552,13 +558,6 @@ QObject *ServerNodeInstance::internalObject() const return m_nodeInstance->object(); } -#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) -QQuickItem *ServerNodeInstance::internalSGItem() const -{ - return qobject_cast<QQuickItem*>(internalObject()); -} -#endif - void ServerNodeInstance::activateState() { m_nodeInstance->activateState(); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h index a230e6f1d9..a7cdff1c36 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h @@ -96,8 +96,8 @@ public: ServerNodeInstance(const ServerNodeInstance &other); ServerNodeInstance& operator=(const ServerNodeInstance &other); - void paint(QPainter *painter); QImage renderImage() const; + QImage renderPreviewImage(const QSize &previewImageSize) const; ServerNodeInstance parent() const; bool hasParent() const; @@ -196,11 +196,11 @@ private: // functions void setNodeSource(const QString &source); + bool holdsQuickItem() const; + + void updateDirtyNodeRecursive(); QObject *internalObject() const; // should be not used outside of the nodeinstances!!!! -#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) - QQuickItem *internalSGItem() const; -#endif private: // variables QSharedPointer<Internal::ObjectNodeInstance> m_nodeInstance; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri index 894234d9ee..13ab169f72 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri @@ -6,6 +6,10 @@ QT += core gui widgets qml quick network v8 QT += core-private qml-private quick-private gui-private script-private v8-private +!macx { + CONFIG += c++11 +} + DEFINES += QWEAKPOINTER_ENABLE_ARROW include (../instances/instances.pri) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.cpp index 41a34cc7a2..8beab695d5 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.cpp @@ -49,28 +49,28 @@ AnchorChangesNodeInstance::Pointer AnchorChangesNodeInstance::create(QObject *ob return instance; } -void AnchorChangesNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +void AnchorChangesNodeInstance::setPropertyVariant(const PropertyName &/*name*/, const QVariant &/*value*/) { } -void AnchorChangesNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) +void AnchorChangesNodeInstance::setPropertyBinding(const PropertyName &/*name*/, const QString &/*expression*/) { } -QVariant AnchorChangesNodeInstance::property(const QString &/*name*/) const +QVariant AnchorChangesNodeInstance::property(const PropertyName &/*name*/) const { return QVariant(); } -void AnchorChangesNodeInstance::resetProperty(const QString &/*name*/) +void AnchorChangesNodeInstance::resetProperty(const PropertyName &/*name*/) { } -void AnchorChangesNodeInstance::reparent(const ServerNodeInstance &/*oldParentInstance*/, - const QString &/*oldParentProperty*/, - const ServerNodeInstance &/*newParentInstance*/, - const QString &/*newParentProperty*/) +void AnchorChangesNodeInstance::reparent(const ObjectNodeInstance::Pointer &/*oldParentInstance*/, + const PropertyName &/*oldParentProperty*/, + const ObjectNodeInstance::Pointer &/*newParentInstance*/, + const PropertyName &/*newParentProperty*/) { } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.h index 595f813cc4..4fc823afcf 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/anchorchangesnodeinstance.h @@ -53,16 +53,15 @@ public: static Pointer create(QObject *objectToBeWrapped); - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); + virtual void setPropertyBinding(const PropertyName &name, const QString &expression); + virtual QVariant property(const PropertyName &name) const; + virtual void resetProperty(const PropertyName &name); - using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, - const QString &oldParentProperty, - const ServerNodeInstance &newParentInstance, - const QString &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, + const PropertyName &oldParentProperty, + const ObjectNodeInstance::Pointer &newParentInstance, + const PropertyName &newParentProperty); protected: AnchorChangesNodeInstance(QObject *object); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.cpp index 5c8173c2dd..0f9a391b4b 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.cpp @@ -70,38 +70,25 @@ double DummyNodeInstance::opacity() const return 0.0; } -void DummyNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +void DummyNodeInstance::setPropertyVariant(const PropertyName &/*name*/, const QVariant &/*value*/) { } -void DummyNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) +void DummyNodeInstance::setPropertyBinding(const PropertyName &/*name*/, const QString &/*expression*/) { - } void DummyNodeInstance::setId(const QString &/*id*/) { - } -QVariant DummyNodeInstance::property(const QString &/*name*/) const +QVariant DummyNodeInstance::property(const PropertyName &/*name*/) const { return QVariant(); } -QStringList DummyNodeInstance::properties() -{ - return QStringList(); -} - -QStringList DummyNodeInstance::localProperties() -{ - return QStringList(); -} - void DummyNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Pointer &/*objectNodeInstance*/) { - } } // namespace Internal diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.h index 357dcb4263..8c047f88b1 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/dummynodeinstance.h @@ -53,12 +53,11 @@ public: QTransform transform() const; double opacity() const; - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); void setId(const QString &id); - QVariant property(const QString &name) const; - QStringList properties(); - QStringList localProperties(); + QVariant property(const PropertyName &name) const; + void initializePropertyWatcher(const ObjectNodeInstance::Pointer &objectNodeInstance); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp index 41c11b92c1..d262b404ce 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp @@ -99,11 +99,11 @@ void QmlPropertyChangesNodeInstance::resetProperty(const PropertyName &name) } -void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) +void QmlPropertyChangesNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { changesObject()->detachFromState(); - ObjectNodeInstance::reparent(oldParentInstance.internalInstance(), oldParentProperty, newParentInstance.internalInstance(), newParentProperty); + ObjectNodeInstance::reparent(oldParentInstance, oldParentProperty, newParentInstance, newParentProperty); changesObject()->attachToState(); } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h index f0229f008f..7ca7855e18 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h @@ -60,8 +60,7 @@ public: virtual QVariant property(const PropertyName &name) const; virtual void resetProperty(const PropertyName &name); - using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); protected: QmlPropertyChangesNodeInstance(QDeclarativePropertyChanges *object); |