summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-02-10 07:41:25 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-02-10 08:22:53 +0200
commitffc2e2039f58de256a98da395b5d0e87d5a176fc (patch)
tree7d5e995b9e98ad7763430d5877528688adc6b095 /src/datavisualizationqml2
parenta6961fbdb4e60fa0021fed623d8e8aaf1dd78a72 (diff)
Added selectedSeries property
Task-number: QTRD-2806 Change-Id: Icd895915f39e475fe9f2a006bebd956615474202 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp7
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h4
-rw-r--r--src/datavisualizationqml2/declarativescatter.cpp8
-rw-r--r--src/datavisualizationqml2/declarativescatter_p.h4
-rw-r--r--src/datavisualizationqml2/declarativesurface.cpp19
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h4
6 files changed, 41 insertions, 5 deletions
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index e24526c3..4f984c32 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -35,6 +35,8 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent)
QObject::connect(m_barsController, &Bars3DController::primarySeriesChanged,
this, &DeclarativeBars::primarySeriesChanged);
+ QObject::connect(m_barsController, &Bars3DController::selectedSeriesChanged,
+ this, &DeclarativeBars::selectedSeriesChanged);
}
DeclarativeBars::~DeclarativeBars()
@@ -124,6 +126,11 @@ bool DeclarativeBars::isBarSpacingRelative() const
return m_barsController->isBarSpecRelative();
}
+QBar3DSeries *DeclarativeBars::selectedSeries() const
+{
+ return m_barsController->selectedSeries();
+}
+
QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList()
{
return QQmlListProperty<QBar3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index e5a90a01..be66860d 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -56,6 +56,7 @@ class DeclarativeBars : public AbstractDeclarative
Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged)
Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged)
Q_PROPERTY(QQmlListProperty<QBar3DSeries> seriesList READ seriesList)
+ Q_PROPERTY(QBar3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QBar3DSeries *primarySeries READ primarySeries WRITE setPrimarySeries NOTIFY primarySeriesChanged)
Q_CLASSINFO("DefaultProperty", "seriesList")
@@ -93,6 +94,8 @@ public:
void setPrimarySeries(QBar3DSeries *series);
QBar3DSeries *primarySeries() const;
+ QBar3DSeries *selectedSeries() const;
+
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
void handleAxisYChanged(QAbstract3DAxis *axis);
@@ -108,6 +111,7 @@ signals:
void barSpacingRelativeChanged(bool relative);
void meshFileNameChanged(QString filename);
void primarySeriesChanged(QBar3DSeries *series);
+ void selectedSeriesChanged(QBar3DSeries *series);
private:
Bars3DController *m_barsController;
diff --git a/src/datavisualizationqml2/declarativescatter.cpp b/src/datavisualizationqml2/declarativescatter.cpp
index 81a1e879..dcc52a3d 100644
--- a/src/datavisualizationqml2/declarativescatter.cpp
+++ b/src/datavisualizationqml2/declarativescatter.cpp
@@ -31,6 +31,9 @@ DeclarativeScatter::DeclarativeScatter(QQuickItem *parent)
// Create the shared component on the main GUI thread.
m_scatterController = new Scatter3DController(boundingRect().toRect(), new Declarative3DScene);
setSharedController(m_scatterController);
+
+ QObject::connect(m_scatterController, &Scatter3DController::selectedSeriesChanged,
+ this, &DeclarativeScatter::selectedSeriesChanged);
}
DeclarativeScatter::~DeclarativeScatter()
@@ -68,6 +71,11 @@ void DeclarativeScatter::setAxisZ(QValue3DAxis *axis)
m_scatterController->setAxisZ(axis);
}
+QScatter3DSeries *DeclarativeScatter::selectedSeries() const
+{
+ return m_scatterController->selectedSeries();
+}
+
QQmlListProperty<QScatter3DSeries> DeclarativeScatter::seriesList()
{
return QQmlListProperty<QScatter3DSeries>(this, this,
diff --git a/src/datavisualizationqml2/declarativescatter_p.h b/src/datavisualizationqml2/declarativescatter_p.h
index bca44085..f36d2a7b 100644
--- a/src/datavisualizationqml2/declarativescatter_p.h
+++ b/src/datavisualizationqml2/declarativescatter_p.h
@@ -49,6 +49,7 @@ class DeclarativeScatter : public AbstractDeclarative
Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged)
Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged)
Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
+ Q_PROPERTY(QScatter3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QQmlListProperty<QScatter3DSeries> seriesList READ seriesList)
Q_CLASSINFO("DefaultProperty", "seriesList")
@@ -71,6 +72,8 @@ public:
Q_INVOKABLE void addSeries(QScatter3DSeries *series);
Q_INVOKABLE void removeSeries(QScatter3DSeries *series);
+ QScatter3DSeries *selectedSeries() const;
+
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
void handleAxisYChanged(QAbstract3DAxis *axis);
@@ -80,6 +83,7 @@ signals:
void axisXChanged(QValue3DAxis *axis);
void axisYChanged(QValue3DAxis *axis);
void axisZChanged(QValue3DAxis *axis);
+ void selectedSeriesChanged(QScatter3DSeries *series);
protected:
Scatter3DController *m_scatterController;
diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp
index c0e1ddcc..78519586 100644
--- a/src/datavisualizationqml2/declarativesurface.cpp
+++ b/src/datavisualizationqml2/declarativesurface.cpp
@@ -32,6 +32,9 @@ DeclarativeSurface::DeclarativeSurface(QQuickItem *parent)
// Create the shared component on the main GUI thread.
m_surfaceController = new Surface3DController(boundingRect().toRect(), new Declarative3DScene);
setSharedController(m_surfaceController);
+
+ QObject::connect(m_surfaceController, &Surface3DController::selectedSeriesChanged,
+ this, &DeclarativeSurface::selectedSeriesChanged);
}
DeclarativeSurface::~DeclarativeSurface()
@@ -69,16 +72,22 @@ void DeclarativeSurface::setAxisZ(QValue3DAxis *axis)
m_surfaceController->setAxisZ(axis);
}
+QSurface3DSeries *DeclarativeSurface::selectedSeries() const
+{
+ return m_surfaceController->selectedSeries();
+}
+
QQmlListProperty<QSurface3DSeries> DeclarativeSurface::seriesList()
{
return QQmlListProperty<QSurface3DSeries>(this, this,
- &DeclarativeSurface::appendSeriesFunc,
- &DeclarativeSurface::countSeriesFunc,
- &DeclarativeSurface::atSeriesFunc,
- &DeclarativeSurface::clearSeriesFunc);
+ &DeclarativeSurface::appendSeriesFunc,
+ &DeclarativeSurface::countSeriesFunc,
+ &DeclarativeSurface::atSeriesFunc,
+ &DeclarativeSurface::clearSeriesFunc);
}
-void DeclarativeSurface::appendSeriesFunc(QQmlListProperty<QSurface3DSeries> *list, QSurface3DSeries *series)
+void DeclarativeSurface::appendSeriesFunc(QQmlListProperty<QSurface3DSeries> *list,
+ QSurface3DSeries *series)
{
reinterpret_cast<DeclarativeSurface *>(list->data)->addSeries(series);
}
diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h
index b354fe59..bba3887d 100644
--- a/src/datavisualizationqml2/declarativesurface_p.h
+++ b/src/datavisualizationqml2/declarativesurface_p.h
@@ -50,6 +50,7 @@ class DeclarativeSurface : public AbstractDeclarative
Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged)
Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged)
Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
+ Q_PROPERTY(QSurface3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged)
Q_PROPERTY(QQmlListProperty<QSurface3DSeries> seriesList READ seriesList)
Q_CLASSINFO("DefaultProperty", "seriesList")
@@ -72,6 +73,8 @@ public:
Q_INVOKABLE void addSeries(QSurface3DSeries *series);
Q_INVOKABLE void removeSeries(QSurface3DSeries *series);
+ QSurface3DSeries *selectedSeries() const;
+
public slots:
void handleAxisXChanged(QAbstract3DAxis *axis);
void handleAxisYChanged(QAbstract3DAxis *axis);
@@ -81,6 +84,7 @@ signals:
void axisXChanged(QValue3DAxis *axis);
void axisYChanged(QValue3DAxis *axis);
void axisZChanged(QValue3DAxis *axis);
+ void selectedSeriesChanged(QSurface3DSeries *series);
private:
Surface3DController *m_surfaceController;