summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-30 09:45:35 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-30 10:10:06 +0200
commit897922a711bacea0aceef657e5f62821784eccd8 (patch)
tree11fc82fa7f2b4c9cd65e2b6d843d1053f434c871 /src/datavisualizationqml2
parent84c156d3e2fcceeab608f401fbc638f2d01219b3 (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.h1
-rw-r--r--src/datavisualizationqml2/declarativescatter.cpp13
-rw-r--r--src/datavisualizationqml2/declarativescatter_p.h8
-rw-r--r--src/datavisualizationqml2/declarativesurface.cpp13
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h5
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();