#ifndef QQUICKMAPBOXGLSTYLEPROPERTY_H #define QQUICKMAPBOXGLSTYLEPROPERTY_H #include class Q_DECL_EXPORT QQuickMapboxGLStyleProperty : public QQuickItem { Q_OBJECT Q_PROPERTY(QString layer READ layer WRITE setLayer NOTIFY layerChanged) Q_PROPERTY(QString property READ property WRITE setProperty NOTIFY propertyChanged) Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged) public: virtual ~QQuickMapboxGLStyleProperty() {} // QQuickItem implementation virtual void itemChange(QQuickItem::ItemChange, const QQuickItem::ItemChangeData &); void setLayer(const QString &); QString layer() const; void setProperty(const QString &); QString property() const; void setValue(const QVariant &); QVariant value() const; signals: void layerChanged(const QString &); void propertyChanged(const QString &); void valueChanged(const QVariant &); protected: QQuickMapboxGLStyleProperty(QQuickItem *parent); virtual void updateParent() = 0; QVariant m_layer; QVariant m_property; QVariant m_value; }; class Q_DECL_EXPORT QQuickMapboxGLLayoutStyleProperty : public QQuickMapboxGLStyleProperty { public: QQuickMapboxGLLayoutStyleProperty(QQuickItem *parent = 0); virtual ~QQuickMapboxGLLayoutStyleProperty() {} protected: virtual void updateParent(); }; class Q_DECL_EXPORT QQuickMapboxGLPaintStyleProperty : public QQuickMapboxGLStyleProperty { Q_OBJECT Q_PROPERTY(QString styleClass READ styleClass WRITE setStyleClass NOTIFY classChanged) public: QQuickMapboxGLPaintStyleProperty(QQuickItem *parent = 0); virtual ~QQuickMapboxGLPaintStyleProperty() {} void setStyleClass(const QString &); QString styleClass() const; signals: void classChanged(const QString &); protected: virtual void updateParent(); private: QVariant m_class; }; #endif // QQUICKMAPBOXGLSTYLEPROPERTY_H