From da5f9117512db2e55f7648ad7d303fa0edd03f49 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 8 Jul 2015 15:57:13 +0200 Subject: [PATCH] QmlDesigner: Add default implementations to AbstractView This allows us to remove empty implementations in the views. Change-Id: I65f815dc5bd699d3b8a782881a2cdd5b01fb76ee Reviewed-by: Tim Jenssen --- .../designercore/include/abstractview.h | 63 ++++++----- .../designercore/model/abstractview.cpp | 101 +++++++++++++++++- 2 files changed, 131 insertions(+), 33 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h index cfe711bd42..e345a1a783 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractview.h +++ b/src/plugins/qmldesigner/designercore/include/abstractview.h @@ -188,50 +188,49 @@ public: virtual void modelAttached(Model *model); virtual void modelAboutToBeDetached(Model *model); - virtual void nodeCreated(const ModelNode &createdNode) = 0; - virtual void nodeAboutToBeRemoved(const ModelNode &removedNode) = 0; - virtual void nodeRemoved(const ModelNode &removedNode, const NodeAbstractProperty &parentProperty, PropertyChangeFlags propertyChange) = 0; - virtual void nodeAboutToBeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange) = 0; - virtual void nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange) = 0; - virtual void nodeIdChanged(const ModelNode& node, const QString& newId, const QString& oldId) = 0; - virtual void propertiesAboutToBeRemoved(const QList& propertyList) = 0; - virtual void propertiesRemoved(const QList& propertyList) = 0; - virtual void variantPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) = 0; - virtual void bindingPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) = 0; - virtual void signalHandlerPropertiesChanged(const QVector& propertyList, PropertyChangeFlags propertyChange) = 0; - virtual void rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion) = 0; - - virtual void instancePropertyChange(const QList > &propertyList) = 0; - virtual void instancesCompleted(const QVector &completedNodeList) = 0; - virtual void instanceInformationsChange(const QMultiHash &informationChangeHash) = 0; - virtual void instancesRenderImageChanged(const QVector &nodeList) = 0; - virtual void instancesPreviewImageChanged(const QVector &nodeList) = 0; - virtual void instancesChildrenChanged(const QVector &nodeList) = 0; - virtual void instancesToken(const QString &tokenName, int tokenNumber, const QVector &nodeVector) = 0; - - virtual void nodeSourceChanged(const ModelNode &modelNode, const QString &newNodeSource) = 0; - - virtual void rewriterBeginTransaction() = 0; - virtual void rewriterEndTransaction() = 0; - - virtual void currentStateChanged(const ModelNode &node) = 0; // base state is a invalid model node + virtual void nodeCreated(const ModelNode &createdNode); + virtual void nodeAboutToBeRemoved(const ModelNode &removedNode); + virtual void nodeRemoved(const ModelNode &removedNode, const NodeAbstractProperty &parentProperty, PropertyChangeFlags propertyChange); + virtual void nodeAboutToBeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange); + virtual void nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange); + virtual void nodeIdChanged(const ModelNode& node, const QString& newId, const QString& oldId); + virtual void propertiesAboutToBeRemoved(const QList& propertyList); + virtual void propertiesRemoved(const QList& propertyList); + virtual void variantPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange); + virtual void bindingPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange); + virtual void signalHandlerPropertiesChanged(const QVector& propertyList, PropertyChangeFlags propertyChange); + virtual void rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion); + + virtual void instancePropertyChange(const QList > &propertyList); virtual void instanceErrorChange(const QVector &errorNodeList); + virtual void instancesCompleted(const QVector &completedNodeList); + virtual void instanceInformationsChange(const QMultiHash &informationChangeHash); + virtual void instancesRenderImageChanged(const QVector &nodeList); + virtual void instancesPreviewImageChanged(const QVector &nodeList); + virtual void instancesChildrenChanged(const QVector &nodeList); + virtual void instancesToken(const QString &tokenName, int tokenNumber, const QVector &nodeVector); + + virtual void nodeSourceChanged(const ModelNode &modelNode, const QString &newNodeSource); + + virtual void rewriterBeginTransaction(); + virtual void rewriterEndTransaction(); + + virtual void currentStateChanged(const ModelNode &node); // base state is a invalid model node virtual void selectedNodesChanged(const QList &selectedNodeList, - const QList &lastSelectedNodeList) = 0; + const QList &lastSelectedNodeList); virtual void fileUrlChanged(const QUrl &oldUrl, const QUrl &newUrl); - virtual void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex) = 0; + virtual void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex); - virtual void importsChanged(const QList &addedImports, const QList &removedImports) = 0; + virtual void importsChanged(const QList &addedImports, const QList &removedImports); virtual void auxiliaryDataChanged(const ModelNode &node, const PropertyName &name, const QVariant &data); virtual void customNotification(const AbstractView *view, const QString &identifier, const QList &nodeList, const QList &data); - virtual void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList) = 0; - + virtual void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); void changeRootNodeType(const TypeName &type, int majorVersion, int minorVersion); diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index d18f0857cb..aae799715d 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -193,17 +193,63 @@ void AbstractView::modelAboutToBeDetached(Model *) Empty properties were removed. */ +void AbstractView::instancePropertyChange(const QList > &/*propertyList*/) +{ +} + +void AbstractView::instanceInformationsChange(const QMultiHash &/*informationChangeHash*/) +{ +} + +void AbstractView::instancesRenderImageChanged(const QVector &/*nodeList*/) +{ +} + +void AbstractView::instancesPreviewImageChanged(const QVector &/*nodeList*/) +{ +} + +void AbstractView::instancesChildrenChanged(const QVector &/*nodeList*/) +{ +} + +void AbstractView::instancesToken(const QString &/*tokenName*/, int /*tokenNumber*/, const QVector &/*nodeVector*/) +{ +} + +void AbstractView::nodeSourceChanged(const ModelNode &/*modelNode*/, const QString &/*newNodeSource*/) +{ +} + +void AbstractView::rewriterBeginTransaction() +{ +} + +void AbstractView::rewriterEndTransaction() +{ +} void AbstractView::instanceErrorChange(const QVector &/*errorNodeList*/) { } +void AbstractView::instancesCompleted(const QVector &/*completedNodeList*/) +{ +} + // Node related functions /*! \fn void AbstractView::nodeCreated(const ModelNode &createdNode) Called when the new node \a createdNode is created. */ +void AbstractView::nodeCreated(const ModelNode &/*createdNode*/) +{ +} + +void AbstractView::currentStateChanged(const ModelNode &/*node*/) +{ +} /*! Called when the file URL (that is needed to resolve relative paths against, @@ -213,10 +259,25 @@ void AbstractView::fileUrlChanged(const QUrl &/*oldUrl*/, const QUrl &/*newUrl*/ { } +void AbstractView::nodeOrderChanged(const NodeListProperty &/*listProperty*/, const ModelNode &/*movedNode*/, int /*oldIndex*/) +{ +} + /*! \fn void AbstractView::nodeAboutToBeRemoved(const ModelNode &removedNode) Called when the node specified by \a removedNode will be removed. */ +void AbstractView::nodeAboutToBeRemoved(const ModelNode &/*removedNode*/) +{ +} + +void AbstractView::nodeRemoved(const ModelNode &/*removedNode*/, const NodeAbstractProperty &/*parentProperty*/, PropertyChangeFlags /*propertyChange*/) +{ +} + +void AbstractView::propertiesAboutToBeRemoved(const QList& /*propertyList*/) +{ +} /*! Called when the properties specified by \a propertyList are removed. @@ -237,16 +298,54 @@ Called when the parent of \a node will be changed from \a oldPropertyParent to Called when the selection is changed from \a lastSelectedNodeList to \a selectedNodeList. */ +void AbstractView::selectedNodesChanged(const QList &/*selectedNodeList*/, const QList &/*lastSelectedNodeList*/) +{ +} -void AbstractView::auxiliaryDataChanged(const ModelNode &/*node*/, const PropertyName &/*name*/, const QVariant &/*data*/) +void AbstractView::nodeAboutToBeReparented(const ModelNode &/*node*/, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) { +} +void AbstractView::nodeReparented(const ModelNode &/*node*/, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) +{ +} + +void AbstractView::nodeIdChanged(const ModelNode& /*node*/, const QString& /*newId*/, const QString& /*oldId*/) +{ +} + +void AbstractView::variantPropertiesChanged(const QList& /*propertyList*/, PropertyChangeFlags /*propertyChange*/) +{ +} + +void AbstractView::bindingPropertiesChanged(const QList& /*propertyList*/, PropertyChangeFlags /*propertyChange*/) +{ +} + +void AbstractView::signalHandlerPropertiesChanged(const QVector& /*propertyList*/, PropertyChangeFlags /*propertyChange*/) +{ +} + +void AbstractView::rootNodeTypeChanged(const QString &/*type*/, int /*majorVersion*/, int /*minorVersion*/) +{ +} + +void AbstractView::importsChanged(const QList &/*addedImports*/, const QList &/*removedImports*/) +{ +} + +void AbstractView::auxiliaryDataChanged(const ModelNode &/*node*/, const PropertyName &/*name*/, const QVariant &/*data*/) +{ } void AbstractView::customNotification(const AbstractView * /*view*/, const QString & /*identifier*/, const QList & /*nodeList*/, const QList & /*data*/) { } +void AbstractView::scriptFunctionsChanged(const ModelNode &/*node*/, const QStringList &/*scriptFunctionList*/) +{ +} + QList AbstractView::toModelNodeList(const QList &nodeList) const { return QmlDesigner::toModelNodeList(nodeList, const_cast(this)); -- GitLab