diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-30 09:45:35 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-30 10:10:06 +0200 |
commit | 897922a711bacea0aceef657e5f62821784eccd8 (patch) | |
tree | 11fc82fa7f2b4c9cd65e2b6d843d1053f434c871 /src/datavisualizationqml2 | |
parent | 84c156d3e2fcceeab608f401fbc638f2d01219b3 (diff) |
QML selection API for scatter and surface
Change-Id: I8a6f28fff8833cb123340ee5a953d29cea40f502
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r-- | src/datavisualizationqml2/declarativebars_p.h | 1 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativescatter.cpp | 13 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativescatter_p.h | 8 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativesurface.cpp | 13 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativesurface_p.h | 5 |
5 files changed, 38 insertions, 2 deletions
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h index f71d9ad3..16fe6d1f 100644 --- a/src/datavisualizationqml2/declarativebars_p.h +++ b/src/datavisualizationqml2/declarativebars_p.h @@ -58,7 +58,6 @@ class DeclarativeBars : public AbstractDeclarative Q_PROPERTY(bool barSmoothingEnabled READ isBarSmoothingEnabled WRITE setBarSmoothingEnabled) Q_PROPERTY(QString meshFileName READ meshFileName WRITE setMeshFileName) Q_PROPERTY(QPointF selectedBar READ selectedBar WRITE setSelectedBar NOTIFY selectedBarChanged) - Q_ENUMS(QtDataVisualization::QDataVis::MeshStyle) public: explicit DeclarativeBars(QQuickItem *parent = 0); diff --git a/src/datavisualizationqml2/declarativescatter.cpp b/src/datavisualizationqml2/declarativescatter.cpp index 346abec2..a2ef9369 100644 --- a/src/datavisualizationqml2/declarativescatter.cpp +++ b/src/datavisualizationqml2/declarativescatter.cpp @@ -41,6 +41,9 @@ DeclarativeScatter::DeclarativeScatter(QQuickItem *parent) m_shared = new Scatter3DController(boundingRect().toRect()); setSharedController(m_shared); m_shared->setActiveDataProxy(new QItemModelScatterDataProxy); + + QObject::connect(m_shared, &Scatter3DController::selectedItemIndexChanged, this, + &DeclarativeScatter::selectedItemIndexChanged); } DeclarativeScatter::~DeclarativeScatter() @@ -165,4 +168,14 @@ QString DeclarativeScatter::meshFileName() const return m_shared->meshFileName(); } +void DeclarativeScatter::setSelectedItemIndex(int index) +{ + m_shared->setSelectedItemIndex(index); +} + +int DeclarativeScatter::selectedItemIndex() const +{ + return m_shared->selectedItemIndex(); +} + QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualizationqml2/declarativescatter_p.h b/src/datavisualizationqml2/declarativescatter_p.h index cc16e770..922cf05e 100644 --- a/src/datavisualizationqml2/declarativescatter_p.h +++ b/src/datavisualizationqml2/declarativescatter_p.h @@ -53,7 +53,7 @@ class DeclarativeScatter : public AbstractDeclarative Q_PROPERTY(bool objectSmoothingEnabled READ isObjectSmoothingEnabled WRITE setObjectSmoothingEnabled) Q_PROPERTY(QString meshFileName READ meshFileName WRITE setMeshFileName) Q_PROPERTY(QString itemLabelFormat READ itemLabelFormat WRITE setItemLabelFormat) - Q_ENUMS(QtDataVisualization::QDataVis::MeshStyle) + Q_PROPERTY(int selectedItemIndex READ selectedItemIndex WRITE setSelectedItemIndex NOTIFY selectedItemIndexChanged) public: explicit DeclarativeScatter(QQuickItem *parent = 0); @@ -80,6 +80,12 @@ public: void setMeshFileName(const QString &objFileName); QString meshFileName() const; + void setSelectedItemIndex(int index); + int selectedItemIndex() const; + +signals: + void selectedItemIndexChanged(int index); + protected: Scatter3DController *m_shared; QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *); diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp index 9ace6c55..a4cf1195 100644 --- a/src/datavisualizationqml2/declarativesurface.cpp +++ b/src/datavisualizationqml2/declarativesurface.cpp @@ -46,6 +46,9 @@ DeclarativeSurface::DeclarativeSurface(QQuickItem *parent) QItemModelSurfaceDataProxy *proxy = new QItemModelSurfaceDataProxy; m_shared->setActiveDataProxy(proxy); + + QObject::connect(m_shared, &Surface3DController::selectedPointChanged, this, + &DeclarativeSurface::selectedPointChanged); } DeclarativeSurface::~DeclarativeSurface() @@ -167,6 +170,16 @@ ColorGradient *DeclarativeSurface::gradient() const return m_gradient; } +void DeclarativeSurface::setSelectedPoint(const QPointF &position) +{ + m_shared->setSelectedPoint(position.toPoint()); +} + +QPointF DeclarativeSurface::selectedPoint() const +{ + return QPointF(m_shared->selectedPoint()); +} + void DeclarativeSurface::setControllerGradient(const ColorGradient &gradient) { QLinearGradient newGradient; diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h index 6e35b3b3..3d911f43 100644 --- a/src/datavisualizationqml2/declarativesurface_p.h +++ b/src/datavisualizationqml2/declarativesurface_p.h @@ -54,6 +54,7 @@ class DeclarativeSurface : public AbstractDeclarative Q_PROPERTY(bool smoothSurfaceEnabled READ isSmoothSurfaceEnabled WRITE setSmoothSurfaceEnabled NOTIFY smoothSurfaceEnabledChanged) Q_PROPERTY(bool surfaceGridEnabled READ isSurfaceGridEnabled WRITE setSurfaceGridEnabled) Q_PROPERTY(ColorGradient *gradient READ gradient WRITE setGradient) + Q_PROPERTY(QPointF selectedPoint READ selectedPoint WRITE setSelectedPoint NOTIFY selectedPointChanged) public: explicit DeclarativeSurface(QQuickItem *parent = 0); @@ -78,8 +79,12 @@ public: void setGradient(ColorGradient *gradient); ColorGradient *gradient() const; + void setSelectedPoint(const QPointF &position); + QPointF selectedPoint() const; + signals: void smoothSurfaceEnabledChanged(bool enabled); + void selectedPointChanged(QPoint position); protected: void handleGradientUpdate(); |