summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2011-02-01 15:54:52 +0100
committerMarco Bubke <marco.bubke@nokia.com>2011-02-01 15:55:07 +0100
commit7ab575a9d9cb80b2a4779e6dc0433b12d0b452e1 (patch)
treee9c1e4c7891be58fdcbf5c63f2daeb18fb7879f4 /src/plugins/qmldesigner/components
parentad905869fe6607b94d62e1795433964592c3499d (diff)
downloadqt-creator-7ab575a9d9cb80b2a4779e6dc0433b12d0b452e1.tar.gz
QmlDesigner: Refactor custom notifications
The custom notification code leads to hard readable code.
Diffstat (limited to 'src/plugins/qmldesigner/components')
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorview.cpp92
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorview.h8
-rw-r--r--src/plugins/qmldesigner/components/integration/componentview.cpp6
-rw-r--r--src/plugins/qmldesigner/components/integration/componentview.h7
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp31
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h7
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp25
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h7
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorview.cpp25
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorview.h7
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp37
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorview.h3
12 files changed, 185 insertions, 70 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
index faf2fb9708..880a650ee1 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
@@ -458,68 +458,68 @@ void FormEditorView::instancesCompleted(const QVector<ModelNode> &completedNodeL
currentTool()->instancesCompleted(itemNodeList);
}
-
-void FormEditorView::customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data)
+void FormEditorView::instanceInformationsChange(const QVector<ModelNode> &nodeList)
{
- if (identifier == "__start rewriter transaction__") {
- m_transactionCounter++;
- if (m_transactionCounter == 1
- && selectedModelNodes().count() == 1)
- m_formEditorWidget->setFeedbackNode(QmlItemNode(selectedModelNodes().first()));
- }
-
- if (identifier == "__end rewriter transaction__") {
- m_transactionCounter--;
- if (m_transactionCounter == 0)
- m_formEditorWidget->setFeedbackNode(QmlItemNode());
- }
-
- if (identifier == "__instance information changed__") {
- QList<FormEditorItem*> itemNodeList;
+ QList<FormEditorItem*> itemNodeList;
- foreach (const ModelNode &node, nodeList) {
- QmlItemNode qmlItemNode(node);
- if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
- scene()->synchronizeTransformation(qmlItemNode);
- if (qmlItemNode.isRootModelNode())
- widget()->setRootItemRect(qmlItemNode.instanceBoundingRect());
+ foreach (const ModelNode &node, nodeList) {
+ QmlItemNode qmlItemNode(node);
+ if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
+ scene()->synchronizeTransformation(qmlItemNode);
+ if (qmlItemNode.isRootModelNode())
+ widget()->setRootItemRect(qmlItemNode.instanceBoundingRect());
- itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode));
- }
+ itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode));
}
-
- m_currentTool->formEditorItemsChanged(itemNodeList);
-
}
- if (identifier == "__instance render pixmap changed__") {
- QList<FormEditorItem*> itemNodeList;
+ m_currentTool->formEditorItemsChanged(itemNodeList);
+}
- foreach (const ModelNode &node, nodeList) {
- QmlItemNode qmlItemNode(node);
- if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
- scene()->itemForQmlItemNode(qmlItemNode)->update();
- }
+void FormEditorView::instancesRenderImageChanged(const QVector<ModelNode> &nodeList)
+{
+ foreach (const ModelNode &node, nodeList) {
+ QmlItemNode qmlItemNode(node);
+ if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
+ scene()->itemForQmlItemNode(qmlItemNode)->update();
}
}
+}
- if (identifier == "__instance children changed__") {
- QList<FormEditorItem*> itemNodeList;
+void FormEditorView::instancesPreviewImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
- foreach (const ModelNode &node, nodeList) {
- QmlItemNode qmlItemNode(node);
- if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
- scene()->synchronizeParent(qmlItemNode);
- itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode));
- }
- }
+}
- m_currentTool->formEditorItemsChanged(itemNodeList);
+void FormEditorView::instancesChildrenChanged(const QVector<ModelNode> &nodeList)
+{
+ QList<FormEditorItem*> itemNodeList;
+
+ foreach (const ModelNode &node, nodeList) {
+ QmlItemNode qmlItemNode(node);
+ if (qmlItemNode.isValid() && scene()->hasItemForQmlItemNode(qmlItemNode)) {
+ scene()->synchronizeParent(qmlItemNode);
+ itemNodeList.append(scene()->itemForQmlItemNode(qmlItemNode));
+ }
}
- QmlModelView::customNotification(view, identifier, nodeList, data);
+ m_currentTool->formEditorItemsChanged(itemNodeList);
}
+void FormEditorView::rewriterBeginTransaction()
+{
+ m_transactionCounter++;
+ if (m_transactionCounter == 1
+ && selectedModelNodes().count() == 1)
+ m_formEditorWidget->setFeedbackNode(QmlItemNode(selectedModelNodes().first()));
+}
+
+void FormEditorView::rewriterEndTransaction()
+{
+ m_transactionCounter--;
+ if (m_transactionCounter == 0)
+ m_formEditorWidget->setFeedbackNode(QmlItemNode());
+}
double FormEditorView::margins() const
{
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
index 1b92f5c6c0..2c286fda7f 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h
@@ -106,9 +106,15 @@ public:
void nodeSlidedToIndex(const NodeListProperty &listProperty, int newIndex, int oldIndex);
void auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data);
- void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data);
void instancesCompleted(const QVector<ModelNode> &completedNodeList);
+ void instanceInformationsChange(const QVector<ModelNode> &nodeList);
+ void instancesRenderImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesChildrenChanged(const QVector<ModelNode> &nodeList);
+
+ void rewriterBeginTransaction();
+ void rewriterEndTransaction();
double margins() const;
double spacing() const;
diff --git a/src/plugins/qmldesigner/components/integration/componentview.cpp b/src/plugins/qmldesigner/components/integration/componentview.cpp
index 46e503718e..26dfa099c1 100644
--- a/src/plugins/qmldesigner/components/integration/componentview.cpp
+++ b/src/plugins/qmldesigner/components/integration/componentview.cpp
@@ -166,7 +166,13 @@ void ComponentView::rootNodeTypeChanged(const QString &/*type*/, int /*majorVers
void ComponentView::scriptFunctionsChanged(const ModelNode &/*node*/, const QStringList &/*scriptFunctionList*/) {}
void ComponentView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &/*propertyList*/) {}
void ComponentView::instancesCompleted(const QVector<ModelNode> &/*completedNodeList*/) {}
+void ComponentView::instanceInformationsChange(const QVector<ModelNode> &/*nodeList*/) {}
+void ComponentView::instancesRenderImageChanged(const QVector<ModelNode> &/*nodeList*/) {}
+void ComponentView::instancesPreviewImageChanged(const QVector<ModelNode> &/*nodeList*/) {}
+void ComponentView::instancesChildrenChanged(const QVector<ModelNode> &/*nodeList*/) {}
+void ComponentView::rewriterBeginTransaction() {}
+void ComponentView::rewriterEndTransaction() {}
void ComponentView::selectedNodesChanged(const QList<ModelNode> &/*selectedNodeList*/,
const QList<ModelNode> &/*lastSelectedNodeList*/) {}
diff --git a/src/plugins/qmldesigner/components/integration/componentview.h b/src/plugins/qmldesigner/components/integration/componentview.h
index 03e7ce853c..3f74f647a2 100644
--- a/src/plugins/qmldesigner/components/integration/componentview.h
+++ b/src/plugins/qmldesigner/components/integration/componentview.h
@@ -74,6 +74,13 @@ public:
void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList);
void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList);
void instancesCompleted(const QVector<ModelNode> &completedNodeList);
+ void instanceInformationsChange(const QVector<ModelNode> &nodeList);
+ void instancesRenderImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesChildrenChanged(const QVector<ModelNode> &nodeList);
+
+ void rewriterBeginTransaction();
+ void rewriterEndTransaction();
void selectedNodesChanged(const QList<ModelNode> &selectedNodeList,
const QList<ModelNode> &lastSelectedNodeList);
diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp
index bc38895c58..cbccc62e30 100644
--- a/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp
+++ b/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp
@@ -73,6 +73,37 @@ void DesignDocumentControllerView::instancesCompleted(const QVector<ModelNode> &
{
}
+void DesignDocumentControllerView::instanceInformationsChange(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+void DesignDocumentControllerView::instancesRenderImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+void DesignDocumentControllerView::instancesPreviewImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+void DesignDocumentControllerView::instancesChildrenChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+
+void DesignDocumentControllerView::rewriterBeginTransaction()
+{
+
+}
+
+void DesignDocumentControllerView::rewriterEndTransaction()
+{
+
+}
+
static QStringList arrayToStringList(const QByteArray &byteArray)
{
diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h b/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h
index dc4c5e781a..273fe33407 100644
--- a/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h
+++ b/src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h
@@ -65,6 +65,13 @@ public:
virtual void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList);
void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList);
void instancesCompleted(const QVector<ModelNode> &completedNodeList);
+ void instanceInformationsChange(const QVector<ModelNode> &nodeList);
+ void instancesRenderImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesChildrenChanged(const QVector<ModelNode> &nodeList);
+
+ void rewriterBeginTransaction();
+ void rewriterEndTransaction();
ModelNode insertModel(const ModelNode &modelNode)
{ return m_modelMerger.insertModel(modelNode); }
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
index 9083876949..4ff1c33664 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
@@ -128,6 +128,31 @@ void ItemLibraryView::instancesCompleted(const QVector<ModelNode> &)
}
+void ItemLibraryView::instanceInformationsChange(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void ItemLibraryView::instancesRenderImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void ItemLibraryView::instancesPreviewImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void ItemLibraryView::instancesChildrenChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+void ItemLibraryView::rewriterBeginTransaction()
+{
+}
+
+void ItemLibraryView::rewriterEndTransaction()
+{
+}
+
void ItemLibraryView::updateImports()
{
m_widget->updateModel();
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
index d82171b90c..69747a9d1a 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
@@ -82,6 +82,13 @@ public:
void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList);
void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList);
void instancesCompleted(const QVector<ModelNode> &completedNodeList);
+ void instanceInformationsChange(const QVector<ModelNode> &nodeList);
+ void instancesRenderImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesChildrenChanged(const QVector<ModelNode> &nodeList);
+
+ void rewriterBeginTransaction();
+ void rewriterEndTransaction();
protected:
void updateImports();
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
index 0cee37687a..f6676bdc20 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
@@ -217,6 +217,31 @@ void NavigatorView::instancesCompleted(const QVector<ModelNode> &/*completedNode
{
}
+void NavigatorView::instanceInformationsChange(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void NavigatorView::instancesRenderImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void NavigatorView::instancesPreviewImageChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+}
+
+void NavigatorView::instancesChildrenChanged(const QVector<ModelNode> &/*nodeList*/)
+{
+
+}
+
+void NavigatorView::rewriterBeginTransaction()
+{
+}
+
+void NavigatorView::rewriterEndTransaction()
+{
+}
+
void NavigatorView::nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &node, int oldIndex)
{
if (m_treeModel->isInTree(node))
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.h b/src/plugins/qmldesigner/components/navigator/navigatorview.h
index ef61aa854a..e6339d75c5 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorview.h
+++ b/src/plugins/qmldesigner/components/navigator/navigatorview.h
@@ -90,6 +90,13 @@ public:
void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList);
void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList);
void instancesCompleted(const QVector<ModelNode> &completedNodeList);
+ void instanceInformationsChange(const QVector<ModelNode> &nodeList);
+ void instancesRenderImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+ void instancesChildrenChanged(const QVector<ModelNode> &nodeList);
+
+ void rewriterBeginTransaction();
+ void rewriterEndTransaction();
private slots:
// void handleChangedItem(QStandardItem * item);
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
index 3ef6e20376..3162b86cfe 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
@@ -325,32 +325,25 @@ void StatesEditorView::otherPropertyChanged(const QmlObjectNode &qmlObjectNode,
QmlModelView::otherPropertyChanged(qmlObjectNode, propertyName);
}
-
-void StatesEditorView::customNotification(const AbstractView * view, const QString & identifier, const QList<ModelNode> & nodeList, const QList<QVariant> &imageList)
+void StatesEditorView::instancesPreviewImageChanged(const QVector<ModelNode> &nodeList)
{
-
- if (identifier == "__instance preview image changed__") {
- int minimumIndex = 10000;
- int maximumIndex = -1;
- foreach(const ModelNode &node, nodeList) {
- if (node.isRootNode()) {
- minimumIndex = qMin(minimumIndex, 0);
- maximumIndex = qMax(maximumIndex, 0);
- } else {
- int index = rootStateGroup().allStates().indexOf(QmlModelState(node)) + 1;
- if (index > 0) {
- minimumIndex = qMin(minimumIndex, index);
- maximumIndex = qMax(maximumIndex, index);
- }
+ int minimumIndex = 10000;
+ int maximumIndex = -1;
+ foreach(const ModelNode &node, nodeList) {
+ if (node.isRootNode()) {
+ minimumIndex = qMin(minimumIndex, 0);
+ maximumIndex = qMax(maximumIndex, 0);
+ } else {
+ int index = rootStateGroup().allStates().indexOf(QmlModelState(node)) + 1;
+ if (index > 0) {
+ minimumIndex = qMin(minimumIndex, index);
+ maximumIndex = qMax(maximumIndex, index);
}
}
-
- if (maximumIndex >= 0)
- m_statesEditorModel->updateState(minimumIndex, maximumIndex);
-
- } else {
- QmlModelView::customNotification(view, identifier, nodeList, imageList);
}
+
+ if (maximumIndex >= 0)
+ m_statesEditorModel->updateState(minimumIndex, maximumIndex);
}
void StatesEditorView::scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList)
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h
index 43179bd2a4..8e1faa2785 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h
@@ -72,12 +72,13 @@ public:
void parentChanged(const QmlObjectNode &qmlObjectNode);
void otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName);
- void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data);
void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList);
void nodeIdChanged(const ModelNode &node, const QString &newId, const QString &oldId);
void bindingPropertiesChanged(const QList<BindingProperty> &propertyList, PropertyChangeFlags propertyChange);
void selectedNodesChanged(const QList<ModelNode> &selectedNodeList, const QList<ModelNode> &lastSelectedNodeList);
+ void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList);
+
StatesEditorWidget *widget();
public slots: