diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-02-10 07:41:25 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-02-10 08:22:53 +0200 |
commit | ffc2e2039f58de256a98da395b5d0e87d5a176fc (patch) | |
tree | 7d5e995b9e98ad7763430d5877528688adc6b095 /src/datavisualizationqml2 | |
parent | a6961fbdb4e60fa0021fed623d8e8aaf1dd78a72 (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.cpp | 7 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativebars_p.h | 4 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativescatter.cpp | 8 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativescatter_p.h | 4 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativesurface.cpp | 19 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativesurface_p.h | 4 |
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; |