summaryrefslogtreecommitdiff
path: root/platform/qt/include
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-08-04 15:56:27 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-08-17 14:43:22 +0300
commitee62a807a3fe2a1276583fc93cee3d1ffc55f4bc (patch)
treedf172be925a2e8714c0a7dbb58cdf1d71ffc0e8e /platform/qt/include
parent5057d7ef5d218f3f9636d128e36970c077acafbd (diff)
downloadqtlocation-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.hpp7
-rw-r--r--platform/qt/include/qquickmapboxglstyleproperty.hpp19
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 &center);
+private slots:
+ void onStylePropertyUpdated(const QVariantMap &params);
+
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