diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-04-27 11:30:15 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-04-27 16:35:52 +0200 |
commit | db6cb6161ba6c3a4f18a819e734586606d1392be (patch) | |
tree | d785df47d7ecd4dbfa50195026ded6b5bee4498c /src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h | |
parent | bbfe7bad3d7a293fac23b24c8747c163209d68ea (diff) | |
download | qt-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.h | 134 |
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 |