From f1a857465d4330be396910652621c33fede5a1fa 2012-06-05 13:17:26 From: sauimone Date: 2012-06-05 13:17:26 Subject: [PATCH] fixed stackedbar drilldown series. categories are updated for xaxis --- diff --git a/examples/stackedbarchartdrilldown/drilldownchart.cpp b/examples/stackedbarchartdrilldown/drilldownchart.cpp index 8465689..4f8838b 100644 --- a/examples/stackedbarchartdrilldown/drilldownchart.cpp +++ b/examples/stackedbarchartdrilldown/drilldownchart.cpp @@ -29,14 +29,22 @@ DrilldownChart::DrilldownChart(QGraphicsItem *parent, Qt::WindowFlags wFlags) { } -void DrilldownChart::changeSeries(QAbstractSeries *series) +void DrilldownChart::changeSeries(DrilldownBarSeries *series) { - if (m_currentSeries) + if (m_currentSeries) { removeSeries(m_currentSeries); + } + m_currentSeries = series; + + // Reset axis + axisX()->setRange(0,0); + axisY()->setNiceNumbersEnabled(true); + axisX()->categories()->clear(); + axisX()->categories()->insert(m_currentSeries->categories()); + addSeries(series); setTitle(series->name()); - axisY()->setNiceNumbersEnabled(true); } void DrilldownChart::handleClicked(QBarSet *barset, int index) diff --git a/examples/stackedbarchartdrilldown/drilldownchart.h b/examples/stackedbarchartdrilldown/drilldownchart.h index 96e4a85..5ef34e3 100644 --- a/examples/stackedbarchartdrilldown/drilldownchart.h +++ b/examples/stackedbarchartdrilldown/drilldownchart.h @@ -33,13 +33,13 @@ class DrilldownChart : public QChart public: explicit DrilldownChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); - void changeSeries(QAbstractSeries *series); + void changeSeries(DrilldownBarSeries *series); public Q_SLOTS: void handleClicked(QBarSet *barset, int index); private: - QAbstractSeries* m_currentSeries; + DrilldownBarSeries* m_currentSeries; }; //! [2] diff --git a/examples/stackedbarchartdrilldown/drilldownseries.cpp b/examples/stackedbarchartdrilldown/drilldownseries.cpp index 2a81057..949a6f2 100644 --- a/examples/stackedbarchartdrilldown/drilldownseries.cpp +++ b/examples/stackedbarchartdrilldown/drilldownseries.cpp @@ -25,17 +25,22 @@ QTCOMMERCIALCHART_USE_NAMESPACE DrilldownBarSeries::DrilldownBarSeries(QStringList categories, QObject *parent) : QStackedBarSeries(parent) { - Q_UNUSED(categories); + m_categories = categories; } void DrilldownBarSeries::mapDrilldownSeries(int index, DrilldownBarSeries* drilldownSeries) { - mDrilldownSeries[index] = drilldownSeries; + m_DrilldownSeries[index] = drilldownSeries; } DrilldownBarSeries* DrilldownBarSeries::drilldownSeries(int index) { - return mDrilldownSeries[index]; + return m_DrilldownSeries[index]; +} + +QStringList DrilldownBarSeries::categories() +{ + return m_categories; } #include "moc_drilldownseries.cpp" diff --git a/examples/stackedbarchartdrilldown/drilldownseries.h b/examples/stackedbarchartdrilldown/drilldownseries.h index 4301751..e9eaa4d 100644 --- a/examples/stackedbarchartdrilldown/drilldownseries.h +++ b/examples/stackedbarchartdrilldown/drilldownseries.h @@ -37,8 +37,11 @@ public: DrilldownBarSeries* drilldownSeries(int index); + QStringList categories(); + private: - QMap mDrilldownSeries; + QMap m_DrilldownSeries; + QStringList m_categories; }; //! [1]