From ee62a807a3fe2a1276583fc93cee3d1ffc55f4bc Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Thu, 4 Aug 2016 15:56:27 +0300 Subject: [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. --- platform/qt/include/qquickmapboxgl.hpp | 7 +++++++ platform/qt/include/qquickmapboxglstyleproperty.hpp | 19 ++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) (limited to 'platform/qt/include') 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 -- cgit v1.2.1