diff --git a/test/chartwidgettest/dataseriedialog.cpp b/test/chartwidgettest/dataseriedialog.cpp index acfb32c..19164e9 100644 --- a/test/chartwidgettest/dataseriedialog.cpp +++ b/test/chartwidgettest/dataseriedialog.cpp @@ -40,20 +40,16 @@ QGroupBox *DataSerieDialog::seriesTypeSelector() { QVBoxLayout *layout = new QVBoxLayout(); - QRadioButton *line = new QRadioButton("&Line"); - QRadioButton *area = new QRadioButton("&Area"); - QRadioButton *pie = new QRadioButton("&Pie"); - QRadioButton *bar = new QRadioButton("&Bar"); - QRadioButton *scatter = new QRadioButton("&Scatter"); - QRadioButton *spline = new QRadioButton("Spl&ine"); + QRadioButton *line = new QRadioButton("Line"); line->setChecked(true); - layout->addWidget(line); - layout->addWidget(area); - layout->addWidget(pie); - layout->addWidget(bar); - layout->addWidget(scatter); - layout->addWidget(spline); + layout->addWidget(new QRadioButton("Area")); + layout->addWidget(new QRadioButton("Pie")); + layout->addWidget(new QRadioButton("Bar")); + layout->addWidget(new QRadioButton("Stacked bar")); + layout->addWidget(new QRadioButton("Percent bar")); + layout->addWidget(new QRadioButton("Scatter")); + layout->addWidget(new QRadioButton("Spline")); QGroupBox *groupBox = new QGroupBox("Series type"); groupBox->setLayout(layout); diff --git a/test/chartwidgettest/mainwidget.cpp b/test/chartwidgettest/mainwidget.cpp index 8728a84..04165a3 100644 --- a/test/chartwidgettest/mainwidget.cpp +++ b/test/chartwidgettest/mainwidget.cpp @@ -247,9 +247,61 @@ void MainWidget::addSeries(QString seriesName, int columnCount, int rowCount, QS m_chartWidget->addSeries(series); setCurrentSeries(series); } + } else if (seriesName == "Bar") { + // TODO: replace QBarCategory with QStringList? + QBarCategory *category = new QBarCategory; + QStringList labels = generateLabels(rowCount); + foreach(QString label, labels) + *category << label; + QBarChartSeries* series = new QBarChartSeries(category, this); + + for (int j(0); j < data.count(); j++) { + QList column = data.at(j); + QBarSet *set = new QBarSet; + for (int i(0); i < column.count(); i++) { + *set << column.at(i); + } + series->addBarSet(set); + } + m_chartWidget->addSeries(series); + setCurrentSeries(series); + } else if (seriesName == "Stacked bar") { + QBarCategory *category = new QBarCategory; + QStringList labels = generateLabels(rowCount); + foreach(QString label, labels) + *category << label; + QStackedBarChartSeries* series = new QStackedBarChartSeries(category, this); + + for (int j(0); j < data.count(); j++) { + QList column = data.at(j); + QBarSet *set = new QBarSet; + for (int i(0); i < column.count(); i++) { + *set << column.at(i); + } + series->addBarSet(set); + } + m_chartWidget->addSeries(series); + setCurrentSeries(series); + } else if (seriesName == "Percent bar") { + QBarCategory *category = new QBarCategory; + QStringList labels = generateLabels(rowCount); + foreach(QString label, labels) + *category << label; + QPercentBarChartSeries* series = new QPercentBarChartSeries(category, this); + + for (int j(0); j < data.count(); j++) { + QList column = data.at(j); + QBarSet *set = new QBarSet; + for (int i(0); i < column.count(); i++) { + *set << column.at(i); + } + series->addBarSet(set); + } + m_chartWidget->addSeries(series); + setCurrentSeries(series); } - // TODO: bar and other... + // TODO: spline and area } void MainWidget::setCurrentSeries(QChartSeries *series)