diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-15 09:43:29 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-15 13:28:41 +0200 |
commit | de93a42512e58c598427178373f0e3e59b04dec7 (patch) | |
tree | 92f5991aee835da5627e000a991c56f4c075f169 /src/datavisualizationqml2 | |
parent | 64d6b482bfb9dbacd548b72cb9c073513f6aa56f (diff) |
Better control of series ordering and 'primary' series for bars
Task-number: QTRD-2578
Change-Id: Icbd945596334afb03d81f3b1d6a72399077455db
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2')
-rw-r--r-- | src/datavisualizationqml2/declarativebars.cpp | 18 | ||||
-rw-r--r-- | src/datavisualizationqml2/declarativebars_p.h | 5 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp index 97299833..8634e91d 100644 --- a/src/datavisualizationqml2/declarativebars.cpp +++ b/src/datavisualizationqml2/declarativebars.cpp @@ -32,6 +32,9 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent) // Create the shared component on the main GUI thread. m_barsController = new Bars3DController(boundingRect().toRect(), new Declarative3DScene); AbstractDeclarative::setSharedController(m_barsController); + + QObject::connect(m_barsController, &Bars3DController::primarySeriesChanged, + this, &DeclarativeBars::primarySeriesChanged); } DeclarativeBars::~DeclarativeBars() @@ -152,6 +155,21 @@ void DeclarativeBars::removeSeries(QBar3DSeries *series) series->setParent(this); // Reparent as removing will leave series parentless } +void DeclarativeBars::insertSeries(int index, QBar3DSeries *series) +{ + m_barsController->insertSeries(index, series); +} + +void DeclarativeBars::setPrimarySeries(QBar3DSeries *series) +{ + m_barsController->setPrimarySeries(series); +} + +QBar3DSeries *DeclarativeBars::primarySeries() const +{ + return m_barsController->primarySeries(); +} + void DeclarativeBars::handleAxisXChanged(QAbstract3DAxis *axis) { emit columnAxisChanged(static_cast<QCategory3DAxis *>(axis)); diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h index 6a2a3052..9c89c5a2 100644 --- a/src/datavisualizationqml2/declarativebars_p.h +++ b/src/datavisualizationqml2/declarativebars_p.h @@ -55,6 +55,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 *primarySeries READ primarySeries WRITE setPrimarySeries NOTIFY primarySeriesChanged) Q_CLASSINFO("DefaultProperty", "seriesList") public: @@ -84,6 +85,9 @@ public: static void clearSeriesFunc(QQmlListProperty<QBar3DSeries> *list); Q_INVOKABLE void addSeries(QBar3DSeries *series); Q_INVOKABLE void removeSeries(QBar3DSeries *series); + Q_INVOKABLE void insertSeries(int index, QBar3DSeries *series); + void setPrimarySeries(QBar3DSeries *series); + QBar3DSeries *primarySeries() const; public slots: void handleAxisXChanged(QAbstract3DAxis *axis); @@ -98,6 +102,7 @@ signals: void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); void meshFileNameChanged(QString filename); + void primarySeriesChanged(QBar3DSeries *series); private: Bars3DController *m_barsController; |