summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2010-04-27 11:30:15 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2010-04-27 16:35:52 +0200
commitdb6cb6161ba6c3a4f18a819e734586606d1392be (patch)
treed785df47d7ecd4dbfa50195026ded6b5bee4498c /src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
parentbbfe7bad3d7a293fac23b24c8747c163209d68ea (diff)
downloadqt-creator-db6cb6161ba6c3a4f18a819e734586606d1392be.tar.gz
QmlDesigner.propertyEditor: adding propertyeditorcontextobject
Diffstat (limited to 'src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h')
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
new file mode 100644
index 0000000000..514796280b
--- /dev/null
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
@@ -0,0 +1,134 @@
+#ifndef PROPERTYEDITORCONTEXTOBJECT_H
+#define PROPERTYEDITORCONTEXTOBJECT_H
+
+#include <QObject>
+#include <QUrl>
+#include <QDeclarativePropertyMap>
+
+namespace QmlDesigner {
+
+class PropertyEditorContextObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QUrl globalBaseUrl READ globalBaseUrl WRITE setGlobalBaseUrl NOTIFY globalBaseUrlChanged)
+ Q_PROPERTY(QUrl specificsUrl READ specificsUrl WRITE setSpecificsUrl NOTIFY specificsUrlChanged)
+
+ Q_PROPERTY(QString specificQmlData READ specificQmlData WRITE setSpecificQmlData NOTIFY specificQmlDataChanged)
+ Q_PROPERTY(QString stateName READ stateName WRITE setStateName NOTIFY stateNameChanged)
+
+ Q_PROPERTY(bool isBaseState READ isBaseState WRITE setIsBaseState NOTIFY isBaseStateChanged)
+ Q_PROPERTY(bool selectionChanged READ selectionChanged WRITE setSelectionChanged NOTIFY selectionChangedChanged)
+
+ Q_PROPERTY(QDeclarativePropertyMap* backendValues READ backendValues WRITE setBackendValues NOTIFY backendValuesChanged)
+
+public:
+ PropertyEditorContextObject(QObject *parent = 0);
+
+ QUrl globalBaseUrl() const {return m_globalBaseUrl; }
+ QUrl specificsUrl() const {return m_specificsUrl; }
+ QString specificQmlData() const {return m_specificQmlData; }
+ QString stateName() const {return m_stateName; }
+
+ bool isBaseState() const { return m_isBaseState; }
+ bool selectionChanged() const { return m_selectionChanged; }
+
+ QDeclarativePropertyMap* backendValues() const { return m_backendValues; }
+
+signals:
+ void globalBaseUrlChanged();
+ void specificsUrlChanged();
+ void specificQmlDataChanged();
+ void stateNameChanged();
+ void isBaseStateChanged();
+ void selectionChangedChanged();
+ void backendValuesChanged();
+
+public slots:
+ void setGlobalBaseUrl(const QUrl &newBaseUrl)
+ {
+ if (newBaseUrl == m_globalBaseUrl)
+ return;
+
+ m_globalBaseUrl = newBaseUrl;
+ emit globalBaseUrlChanged();
+ }
+
+ void setSpecificsUrl(const QUrl &newSpecificsUrl)
+ {
+ if (newSpecificsUrl == m_specificsUrl)
+ return;
+
+ m_specificsUrl = newSpecificsUrl;
+ emit specificsUrlChanged();
+ }
+
+ void setSpecificQmlData(const QString &newSpecificQmlData)
+ {
+ if (m_specificQmlData == newSpecificQmlData)
+ return;
+
+ m_specificQmlData = newSpecificQmlData;
+ emit specificQmlDataChanged();
+ }
+
+ void setStateName(const QString &newStateName)
+ {
+ if (newStateName == m_stateName)
+ return;
+
+ m_stateName = newStateName;
+ emit stateNameChanged();
+ }
+
+ void setIsBaseState(bool newIsBaseState)
+ {
+ if (newIsBaseState == m_isBaseState)
+ return;
+
+ m_isBaseState = newIsBaseState;
+ emit isBaseStateChanged();
+ }
+
+ void setSelectionChanged(bool newSelectionChanged)
+ {
+ if (newSelectionChanged == m_selectionChanged)
+ return;
+
+ m_selectionChanged = newSelectionChanged;
+ emit selectionChangedChanged();
+ }
+
+ void setBackendValues(QDeclarativePropertyMap* newBackendValues)
+ {
+ if (newBackendValues == m_backendValues)
+ return;
+
+ m_backendValues = newBackendValues;
+ emit backendValuesChanged();
+ }
+
+ void triggerSelectionChanged()
+ {
+ setSelectionChanged(false);
+ setSelectionChanged(true);
+ setSelectionChanged(false);
+ }
+
+private:
+ QUrl m_globalBaseUrl;
+ QUrl m_specificsUrl;
+
+ QString m_specificQmlData;
+ QString m_stateName;
+
+ bool m_isBaseState;
+ bool m_selectionChanged;
+
+ QDeclarativePropertyMap* m_backendValues;
+
+};
+
+} //QmlDesigner {
+
+#endif // PROPERTYEDITORCONTEXTOBJECT_H