diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-08-04 15:56:27 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-08-17 14:43:22 +0300 |
commit | ee62a807a3fe2a1276583fc93cee3d1ffc55f4bc (patch) | |
tree | df172be925a2e8714c0a7dbb58cdf1d71ffc0e8e /platform/qt/include | |
parent | 5057d7ef5d218f3f9636d128e36970c077acafbd (diff) | |
download | qtlocation-mapboxgl-ee62a807a3fe2a1276583fc93cee3d1ffc55f4bc.tar.gz |
[Qt] Invert parent/child notification mechanism in QQuickMapboxGLStyleProperty
Parent item (QQuickMapboxGL) should check for signals from its child
items e.g. QQuickMapboxGLStyleProperty, and not the opposite.
Diffstat (limited to 'platform/qt/include')
-rw-r--r-- | platform/qt/include/qquickmapboxgl.hpp | 7 | ||||
-rw-r--r-- | platform/qt/include/qquickmapboxglstyleproperty.hpp | 19 |
2 files changed, 15 insertions, 11 deletions
diff --git a/platform/qt/include/qquickmapboxgl.hpp b/platform/qt/include/qquickmapboxgl.hpp index 325a5f99dd..337360cac6 100644 --- a/platform/qt/include/qquickmapboxgl.hpp +++ b/platform/qt/include/qquickmapboxgl.hpp @@ -96,6 +96,10 @@ public: int swapSyncState(); +protected: + // QQuickItem implementation. + virtual void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value); + signals: void minimumZoomLevelChanged(); void maximumZoomLevelChanged(); @@ -116,6 +120,9 @@ signals: public slots: void setCenter(const QGeoCoordinate ¢er); +private slots: + void onStylePropertyUpdated(const QVariantMap ¶ms); + private: qreal m_minimumZoomLevel = 0; qreal m_maximumZoomLevel = 20; diff --git a/platform/qt/include/qquickmapboxglstyleproperty.hpp b/platform/qt/include/qquickmapboxglstyleproperty.hpp index f7762b4ee6..26eecce75d 100644 --- a/platform/qt/include/qquickmapboxglstyleproperty.hpp +++ b/platform/qt/include/qquickmapboxglstyleproperty.hpp @@ -12,10 +12,12 @@ class Q_DECL_EXPORT QQuickMapboxGLStyleProperty : public QQuickItem Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged) public: - virtual ~QQuickMapboxGLStyleProperty() {} + enum Type { + LayoutType = 0, + PaintType, + }; - // QQuickItem implementation - virtual void itemChange(QQuickItem::ItemChange, const QQuickItem::ItemChangeData &); + virtual ~QQuickMapboxGLStyleProperty() {} void setLayer(const QString &); QString layer() const; @@ -30,10 +32,11 @@ signals: void layerChanged(const QString &); void propertyChanged(const QString &); void valueChanged(const QVariant &); + void updated(const QVariantMap& params); protected: - QQuickMapboxGLStyleProperty(QQuickItem *parent); - virtual void updateParent() = 0; + QQuickMapboxGLStyleProperty(QQuickItem *parent, Type); + void checkUpdated(); QVariantMap m_map; }; @@ -43,9 +46,6 @@ class Q_DECL_EXPORT QQuickMapboxGLLayoutStyleProperty : public QQuickMapboxGLSty public: QQuickMapboxGLLayoutStyleProperty(QQuickItem *parent = 0); virtual ~QQuickMapboxGLLayoutStyleProperty() {} - -protected: - virtual void updateParent(); }; class Q_DECL_EXPORT QQuickMapboxGLPaintStyleProperty : public QQuickMapboxGLStyleProperty @@ -62,9 +62,6 @@ public: signals: void classChanged(const QString &); - -protected: - virtual void updateParent(); }; #endif // QQUICKMAPBOXGLSTYLEPROPERTY_H |