##// END OF EJS Templates
Fixed spline's broken signals
Fixed spline's broken signals

File last commit:

r1275:5883c94a00fe
r1275:5883c94a00fe
Show More
tablewidget.cpp
541 lines | 22.0 KiB | text/x-c | CppLexer
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
Marek Rosa
Table model data example
r519 #include "tablewidget.h"
#include <QGridLayout>
#include <QTableView>
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 #include <QChart>
Marek Rosa
Table model data example
r519 #include <QStyledItemDelegate>
Marek Rosa
tablemodelchart: added coloring to TableView
r849 #include <QLineSeries>
#include <QSplineSeries>
#include <QScatterSeries>
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 #include <QVXYModelMapper>
Marek Rosa
Table model data example
r519 #include "customtablemodel.h"
Marek Rosa
tablemodelchart: added coloring to TableView
r849 #include <QPieSeries>
Marek Rosa
Added Vertical and Horizontal PieModelMapper
r1237 #include <QVPieModelMapper>
Marek Rosa
tablemodelchart: added coloring to TableView
r849 #include <QPieSlice>
#include <QAreaSeries>
#include <QBarSeries>
Marek Rosa
Minor fix and example update
r1171 #include <QGroupedBarSeries>
Marek Rosa
tablemodelchart: added coloring to TableView
r849 #include <QBarSet>
Marek Rosa
BarSeries Model mapper added
r1170 #include <QBarModelMapper>
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 #include <QPushButton>
#include <QRadioButton>
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 #include <QLabel>
Marek Rosa
Some more work on mapping with limits
r735 #include <QSpinBox>
Marek Rosa
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series
r630 #include <QTime>
Marek Rosa
Model example for the RnD offsite
r1097 #include <QHeaderView>
Marek Rosa
Table model data example
r519
TableWidget::TableWidget(QWidget *parent)
Marek Rosa
Refactored model related methods in PieSeries
r1063 : QWidget(parent)
Marek Rosa
Improvements to QSpline model support
r1090 // specialPie(0)
Marek Rosa
Table model data example
r519 {
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 setGeometry(1900, 100, 1000, 600);
Marek Rosa
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series
r630 qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
Marek Rosa
Table model data example
r519 // create simple model for storing data
// user's table data model
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 m_model = new CustomTableModel;
Marek Rosa
XYSeries model with limits working.
r833 m_tableView = new QTableView;
m_tableView->setModel(m_model);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // m_tableView->setMinimumHeight(300);
Marek Rosa
Model example for the RnD offsite
r1097 m_tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
m_tableView->verticalHeader()->setResizeMode(QHeaderView::Stretch);
Marek Rosa
XYSeries model with limits working.
r833 m_chart = new QChart;
Marek Rosa
For BarChart labels for legend are now taken from model's headerData (row or column)
r1012 m_chart->legend()->setVisible(true);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 m_chart->setAnimationOptions(QChart::SeriesAnimations);
Marek Rosa
XYSeries model with limits working.
r833 m_chartView = new QChartView(m_chart);
m_chartView->setRenderHint(QPainter::Antialiasing);
m_chartView->setMinimumSize(640, 480);
Marek Rosa
Table model data example
r519
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 // add, remove data buttons
Marek Rosa
Model data example updated
r546 QPushButton* addRowAboveButton = new QPushButton("Add row above");
connect(addRowAboveButton, SIGNAL(clicked()), this, SLOT(addRowAbove()));
QPushButton* addRowBelowButton = new QPushButton("Add row below");
connect(addRowBelowButton, SIGNAL(clicked()), this, SLOT(addRowBelow()));
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545
QPushButton* removeRowButton = new QPushButton("Remove row");
connect(removeRowButton, SIGNAL(clicked()), this, SLOT(removeRow()));
Marek Rosa
Improvements to QSpline model support
r1090 QPushButton* addColumnRightButton = new QPushButton("Add column to the right");
Marek Rosa
PieSeries model support - further refactoring
r1081 connect(addColumnRightButton, SIGNAL(clicked()), this, SLOT(addColumnRight()));
QPushButton* removeColumnButton = new QPushButton("Remove column");
connect(removeColumnButton, SIGNAL(clicked()), this, SLOT(removeColumn()));
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 QPushButton* specialPieButton = new QPushButton("Add slices using series API");
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 connect(specialPieButton, SIGNAL(clicked()), this, SLOT(testPie()));
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 QPushButton* specialPieButton2 = new QPushButton("Remove slices using series API");
Marek Rosa
Refactored PieSeriesModelMapper
r1231 connect(specialPieButton2, SIGNAL(clicked()), this, SLOT(testPie2()));
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 QPushButton* specialPieButton3 = new QPushButton("Modify slices using series API");
Marek Rosa
QPieModelMapper: added support for labelChanged and valueChanged signals from the slice
r1236 connect(specialPieButton3, SIGNAL(clicked()), this, SLOT(testPie3()));
Marek Rosa
XYModelMapper slots for series signals implemented
r1262 QPushButton* xyTestButton = new QPushButton("Append XY point");
connect(xyTestButton, SIGNAL(clicked()), this, SLOT(testXY()));
Marek Rosa
PieSeries: model now supports custom mapping.
r1056
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 QLabel *spinBoxLabel = new QLabel("Rows affected:");
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
BarSeries - renamed internal model getter to modelInternal. Some smaller changes to other files to have in headers forward declarations for model related members instead of include
r877 // spin box for setting number of affected items (add, remove)
Marek Rosa
XYSeries model with limits working.
r833 m_linesCountSpinBox = new QSpinBox;
m_linesCountSpinBox->setRange(1, 10);
m_linesCountSpinBox->setValue(1);
Marek Rosa
Some more work on mapping with limits
r735
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 // buttons layout
QVBoxLayout* buttonsLayout = new QVBoxLayout;
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 buttonsLayout->addWidget(spinBoxLabel);
buttonsLayout->addWidget(m_linesCountSpinBox);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // buttonsLayout->addWidget(addRowAboveButton);
Marek Rosa
Model data example updated
r546 buttonsLayout->addWidget(addRowBelowButton);
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 buttonsLayout->addWidget(removeRowButton);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // buttonsLayout->addWidget(addColumnRightButton);
// buttonsLayout->addWidget(removeColumnButton);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 buttonsLayout->addWidget(specialPieButton);
Marek Rosa
Refactored PieSeriesModelMapper
r1231 buttonsLayout->addWidget(specialPieButton2);
Marek Rosa
QPieModelMapper: added support for labelChanged and valueChanged signals from the slice
r1236 buttonsLayout->addWidget(specialPieButton3);
Marek Rosa
XYModelMapper slots for series signals implemented
r1262 buttonsLayout->addWidget(xyTestButton);
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 buttonsLayout->addStretch();
// chart type radio buttons
Marek Rosa
XYSeries model with limits working.
r833 m_lineRadioButton = new QRadioButton("Line");
m_splineRadioButton = new QRadioButton("Spline");
m_scatterRadioButton = new QRadioButton("Scatter");
m_pieRadioButton = new QRadioButton("Pie");
m_areaRadioButton = new QRadioButton("Area");
m_barRadioButton = new QRadioButton("Bar");
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 connect(m_lineRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
connect(m_splineRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
connect(m_scatterRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
connect(m_pieRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
connect(m_areaRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
connect(m_barRadioButton, SIGNAL(toggled(bool)), this, SLOT(updateChartType(bool)));
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 m_lineRadioButton->setChecked(true);
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545
// radio buttons layout
Marek Rosa
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series
r630 QVBoxLayout* radioLayout = new QVBoxLayout;
Marek Rosa
XYSeries model with limits working.
r833 radioLayout->addWidget(m_lineRadioButton);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 radioLayout->addWidget(m_splineRadioButton);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // radioLayout->addWidget(m_scatterRadioButton);
Marek Rosa
XYSeries model with limits working.
r833 radioLayout->addWidget(m_pieRadioButton);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // radioLayout->addWidget(m_areaRadioButton);
Marek Rosa
XYSeries model with limits working.
r833 radioLayout->addWidget(m_barRadioButton);
Marek Rosa
Added support for data from model to QBarSeries. Various fixes and small modifications to data from model support to other series
r630 radioLayout->addStretch();
Marek Rosa
Table model data example
r519
// create main layout
QGridLayout* mainLayout = new QGridLayout;
Marek Rosa
Model example for the RnD offsite
r1097 mainLayout->addLayout(buttonsLayout, 2, 0);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 mainLayout->addLayout(radioLayout, 3, 0);
Marek Rosa
XYSeries model with limits working.
r833 mainLayout->addWidget(m_tableView, 1, 0);
Marek Rosa
Model example for the RnD offsite
r1097 mainLayout->addWidget(m_chartView, 1, 1, 2, 1);
Marek Rosa
tablemodelchart: added coloring to TableView
r849 setLayout(mainLayout);
Marek Rosa
XYSeries model with limits working.
r833 m_lineRadioButton->setFocus();
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 }
Marek Rosa
Model data example updated
r546 void TableWidget::addRowAbove()
{
Marek Rosa
XYSeries model with limits working.
r833 m_model->insertRows(m_tableView->currentIndex().row(), m_linesCountSpinBox->value());
Marek Rosa
Model data example updated
r546
}
void TableWidget::addRowBelow()
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 {
Marek Rosa
XYSeries model with limits working.
r833 m_model->insertRows(m_tableView->currentIndex().row() + 1, m_linesCountSpinBox->value());
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545
}
void TableWidget::removeRow()
{
Marek Rosa
XYSeries model with limits working.
r833 m_model->removeRows(m_tableView->currentIndex().row(), qMin(m_model->rowCount() - m_tableView->currentIndex().row(), m_linesCountSpinBox->value()));
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 }
Marek Rosa
PieSeries model support - further refactoring
r1081 void TableWidget::addColumnRight()
{
m_model->insertColumns(m_tableView->currentIndex().column() + 1, m_linesCountSpinBox->value());
}
void TableWidget::removeColumn()
{
m_model->removeColumns(m_tableView->currentIndex().column(), qMin(m_model->columnCount() - m_tableView->currentIndex().column(), m_linesCountSpinBox->value()));
}
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 void TableWidget::updateChartType(bool toggle)
Marek Rosa
Added support for adding and removing data with model. Updated the example
r545 {
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 // this if is needed, so that the function is only called once.
// For the radioButton that was enabled.
if (toggle) {
Marek Rosa
Improvements to QSpline model support
r1090 // specialPie = 0;
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 m_chart->removeAllSeries();
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_chart->axisX()->setNiceNumbersEnabled(false);
// m_chart->axisY()->setNiceNumbersEnabled(false);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 // renable axes of the chart (pie hides them)
// x axis
QAxis *axis = m_chart->axisX();
axis->setAxisVisible(true);
axis->setGridLineVisible(true);
axis->setLabelsVisible(true);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 // y axis
axis = m_chart->axisY();
axis->setAxisVisible(true);
axis->setGridLineVisible(true);
axis->setLabelsVisible(true);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 m_model->clearMapping();
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
QString seriesColorHex = "#000000";
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // QPen pen;
// pen.setWidth(2);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
if (m_lineRadioButton->isChecked())
{
Marek Rosa
Fixed spline's broken signals
r1275 m_chart->setAnimationOptions(QChart::NoAnimation);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 // series 1
m_series = new QLineSeries(this);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 QVXYModelMapper *mapper = new QVXYModelMapper;
mapper->setModel(m_model);
mapper->setSeries(m_series);
mapper->setXColumn(0);
mapper->setYColumn(1);
mapper->setFirst(3);
Marek Rosa
Fixed spline's broken signals
r1275 mapper->setCount(4);
Marek Rosa
XYModelMapper slots for model signals implemented
r1256
// m_series->setModelMapping(0,1, Qt::Vertical);
// m_series->setModelMappingRange(3, 4);
m_chart->addSeries(m_series);
seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
m_model->addMapping(seriesColorHex, QRect(0, 3, 2, 4));
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
// // series 2
// m_series = new QLineSeries;
// m_series->setModel(m_model);
// mapper = new QXYModelMapper;
// mapper->setMapX(3);
// mapper->setMapY(4);
// // mapper->setFirst(3);
// // mapper->setCount(4);
// m_series->setModelMapper(mapper);
// // m_series->setModelMapping(2,3, Qt::Vertical);
// m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(3, 0, 2, 1000));
// // series 3
// m_series = new QLineSeries;
// m_series->setModel(m_model);
// mapper = new QXYModelMapper;
// mapper->setMapX(5);
// mapper->setMapY(6);
// mapper->setFirst(2);
// mapper->setCount(-1);
// m_series->setModelMapper(mapper);
// // m_series->setModelMapping(4,5, Qt::Vertical);
// // m_series->setModelMappingRange(2, -1);
// m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(5, 2, 2, 1000));
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 }
else if (m_splineRadioButton->isChecked())
{
Marek Rosa
Fixed spline's broken signals
r1275 m_chart->setAnimationOptions(QChart::NoAnimation);
Marek Rosa
Disabled some series from tablemodelchart app
r1091
Marek Rosa
Fixed spline's broken signals
r1275 // series 1
m_series = new QSplineSeries;
// m_series->setModel(m_model);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
Fixed spline's broken signals
r1275 QVXYModelMapper *mapper = new QVXYModelMapper;
mapper->setSeries(m_series);
mapper->setModel(m_model);
mapper->setXColumn(0);
mapper->setYColumn(1);
mapper->setFirst(0);
mapper->setCount(-1);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
Fixed spline's broken signals
r1275 // m_series->setModelMapper(mapper);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
Fixed spline's broken signals
r1275 m_chart->addSeries(m_series);
seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
m_model->addMapping(seriesColorHex, QRect(0, 0, 2, 1000));
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // // series 2
// m_series = new QSplineSeries;
// m_series->setModel(m_model);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // mapper = new QXYModelMapper;
// mapper->setMapX(2);
// mapper->setMapY(3);
// mapper->setFirst(2);
// mapper->setCount(4);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_series->setModelMapper(mapper);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(2, 2, 2, 4));
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // // series 3
// m_series = new QSplineSeries;
// m_series->setModel(m_model);
Marek Rosa
Disabled some series from tablemodelchart app
r1091
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // mapper = new QXYModelMapper;
// mapper->setMapX(4);
// mapper->setMapY(5);
// mapper->setFirst(2);
// mapper->setCount(-1);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_series->setModelMapper(mapper);
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->pen().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(4, 2, 2, 1000));
Marek Rosa
XYSeries model support refactored
r1085 }
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // else if (m_scatterRadioButton->isChecked())
// {
// m_chart->setAnimationOptions(QChart::NoAnimation);
// // series 1
// m_series = new QScatterSeries;
// m_series->setModel(m_model);
// m_series->setModelMapping(0,1, Qt::Vertical);
// // m_series->setModelMappingRange(2, 0);
// // series->setModelMapping(0,1, Qt::Horizontal);
// m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(0, 2, 2, 1000));
// // series 2
// m_series = new QScatterSeries;
// m_series->setModel(m_model);
// m_series->setModelMapping(2,3, Qt::Vertical);
// // m_series->setModelMappingRange(1, 6);
// // series->setModelMapping(2,3, Qt::Horizontal);
// m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(2, 1, 2, 6));
// // series 3
// m_series = new QScatterSeries;
// m_series->setModel(m_model);
// m_series->setModelMapping(4,5, Qt::Vertical);
// // series->setModelMapping(4,5, Qt::Horizontal);
// m_chart->addSeries(m_series);
// seriesColorHex = "#" + QString::number(m_series->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(4, 0, 2, 1000));
// }
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 else if (m_pieRadioButton->isChecked())
{
m_chart->setAnimationOptions(QChart::SeriesAnimations);
// pie 1
Marek Rosa
Refactored PieSeriesModelMapper
r1231 m_pieSeries = new QPieSeries;
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
Added Vertical and Horizontal PieModelMapper
r1237 m_pieMapper = new QVPieModelMapper;
m_pieMapper->setValuesColumn(1);
m_pieMapper->setLabelsColumn(7);
Marek Rosa
Refactored PieSeriesModelMapper
r1231 m_pieMapper->setSeries(m_pieSeries);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 m_pieMapper->setModel(m_model);
Marek Rosa
XYModelMapper slots for series signals implemented
r1262 m_pieMapper->setFirst(2);
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 // m_pieMapper->setCount(5);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // pieSeries->setModelMapper(mapper);
Marek Rosa
Refactored PieSeriesModelMapper
r1231 m_pieSeries->setLabelsVisible(true);
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 m_pieSeries->setPieSize(0.35);
m_pieSeries->setHorizontalPosition(0.25);
m_pieSeries->setVerticalPosition(0.35);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
Refactored PieSeriesModelMapper
r1231 m_chart->addSeries(m_pieSeries);
seriesColorHex = "#" + QString::number(m_pieSeries->slices().at(m_pieSeries->slices().count()/2)->brush().color().rgb(), 16).right(6).toUpper();
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 m_model->addMapping(seriesColorHex, QRect(1, 2, 1, 50));
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
// pieSeries->slices().at(0)->setValue(400);
// pieSeries->slices().at(0)->setLabel(QString("36"));
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 // pie 2
m_pieSeries2 = new QPieSeries;
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251 m_pieMapper = new QVPieModelMapper;
m_pieMapper->setValuesColumn(0);
m_pieMapper->setLabelsColumn(7);
m_pieMapper->setModel(m_model);
Marek Rosa
XYModelMapper slots for model signals implemented
r1256 m_pieMapper->setSeries(m_pieSeries2);
Marek Rosa
XYModelMapper slots for series signals implemented
r1262 m_pieMapper->setFirst(2);
Marek Rosa
Small fixes to piemodelmapper and one more test
r1251
m_pieSeries2->setLabelsVisible(true);
m_pieSeries2->setPieSize(0.35);
m_pieSeries2->setHorizontalPosition(0.75);
m_pieSeries2->setVerticalPosition(0.65);
m_chart->addSeries(m_pieSeries2);
seriesColorHex = "#" + QString::number(m_pieSeries2->slices().at(m_pieSeries2->slices().count()/2)->brush().color().rgb(), 16).right(6).toUpper();
m_model->addMapping(seriesColorHex, QRect(0, 2, 1, 1000));
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
// // pie 3
// pieSeries = new QPieSeries;
// pieSeries->setModel(m_model);
// pieSeries->setModelMapping(2,2, Qt::Vertical);
// pieSeries->setLabelsVisible(true);
// pieSeries->setPieSize(0.35);
// pieSeries->setHorizontalPosition(0.5);
// pieSeries->setVerticalPosition(0.75);
// m_chart->addSeries(pieSeries);
// seriesColorHex = "#" + QString::number(pieSeries->slices().at(pieSeries->slices().count()/2)->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(2, 0, 1, 1000));
// // special pie
// specialPie = new QPieSeries;
// specialPie->append(17, "1");
// specialPie->append(45, "2");
// specialPie->append(77, "3");
// specialPie->append(37, "4");
// specialPie->append(27, "5");
// specialPie->append(47, "6");
// specialPie->setPieSize(0.35);
// specialPie->setHorizontalPosition(0.8);
// specialPie->setVerticalPosition(0.75);
// specialPie->setLabelsVisible(true);
// m_chart->addSeries(specialPie);
}
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164 // else if (m_areaRadioButton->isChecked())
// {
// m_chart->setAnimationOptions(QChart::NoAnimation);
// QLineSeries* upperLineSeries = new QLineSeries;
// upperLineSeries->setModel(m_model);
// upperLineSeries->setModelMapping(0, 1, Qt::Vertical);
// // upperLineSeries->setModelMappingRange(1, 5);
// QLineSeries* lowerLineSeries = new QLineSeries;
// lowerLineSeries->setModel(m_model);
// lowerLineSeries->setModelMapping(2, 3, Qt::Vertical);
// QAreaSeries* areaSeries = new QAreaSeries(upperLineSeries, lowerLineSeries);
// m_chart->addSeries(areaSeries);
// seriesColorHex = "#" + QString::number(areaSeries->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(0, 1, 2, 5));
// m_model->addMapping(seriesColorHex, QRect(2, 0, 2, 1000));
// }
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 else if (m_barRadioButton->isChecked())
{
// m_chart->setAnimationOptions(QChart::SeriesAnimations);
// QGroupedBarSeries* barSeries = new QGroupedBarSeries();
// barSeries->setCategories(QStringList());
// barSeries->setModel(m_model);
// // barSeries->setModelMappingRange(2, 5);
//// barSeries->setModelMapping(5, 2, 4, Qt::Vertical);
// QBarModelMapper *mapper = new QBarModelMapper;
// mapper->setMapCategories(5);
// mapper->setMapBarBottom(2);
// mapper->setMapBarTop(4);
// barSeries->setModelMapper(mapper);
// m_chart->addSeries(barSeries);
// QList<QBarSet*> barsets = barSeries->barSets();
// for (int i = 0; i < barsets.count(); i++) {
// seriesColorHex = "#" + QString::number(barsets.at(i)->brush().color().rgb(), 16).right(6).toUpper();
// m_model->addMapping(seriesColorHex, QRect(2 + i, 0, 1, 1000));
// }
}
if (!m_barRadioButton->isChecked()) {
m_chart->axisX()->setRange(0, 500);
m_chart->axisY()->setRange(0, 220);
}
Marek Rosa
For BarChart labels for legend are now taken from model's headerData (row or column)
r1012 m_chart->legend()->setVisible(true);
Marek Rosa
Small updates to tablemodelchart example
r861
Marek Rosa
tablemodelchart: axes re-enabled on toggle (pie disables them)
r878 // repaint table view colors
m_tableView->repaint();
m_tableView->setFocus();
}
Marek Rosa
Table model data example
r519 }
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 void TableWidget::testPie()
{
Marek Rosa
Refactored PieSeriesModelMapper
r1231 // m_pieMapper->setCount(-1);
QPieSlice *slice = new QPieSlice("Hehe", 145);
slice->setLabelVisible();
m_pieSeries->append(slice);
slice = new QPieSlice("Hoho", 34);
slice->setLabelVisible();
m_pieSeries->append(slice);
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 // m_series->modelMapper()->setMapX(4);
// m_tableView->setColumnWidth(10, 250);
Marek Rosa
Improvements to QSpline model support
r1090 // if (specialPie) {
// specialPie->remove(specialPie->slices().at(2));
// // specialPie->insert(4, new QPieSlice(45, "Hello"));//specialPie->slices.at(2));
// specialPie->append(4, "heloo");
// }
Marek Rosa
PieSeries: model now supports custom mapping.
r1056 }
Marek Rosa
Refactored PieSeriesModelMapper
r1231 void TableWidget::testPie2()
{
QPieSlice *slice;
if (m_pieSeries->count() > 0) {
slice = m_pieSeries->slices().last();
m_pieSeries->remove(slice);
}
if (m_pieSeries->count() > 0) {
slice = m_pieSeries->slices().first();
m_pieSeries->remove(slice);
}
}
Marek Rosa
QPieModelMapper: added support for labelChanged and valueChanged signals from the slice
r1236 void TableWidget::testPie3()
{
QPieSlice *slice;
if (m_pieSeries->count() > 0) {
slice = m_pieSeries->slices().last();
slice->setLabel("Dalej");
slice->setValue(222);
}
if (m_pieSeries->count() > 0) {
slice = m_pieSeries->slices().first();
slice->setLabel("Prawie");
slice->setValue(111);
}
}
Marek Rosa
XYModelMapper slots for series signals implemented
r1262 void TableWidget::testXY()
{
Marek Rosa
Fixed spline's broken signals
r1275 // if (m_series->type() != QAbstractSeries::SeriesTypeLine) {
// m_series->append(QPointF(150, 75));
// }
Marek Rosa
XYModelMapper slots for series signals implemented
r1262
if (m_series->count() > 0) {
m_series->remove(m_series->points().last());
}
}
Marek Rosa
Table model data example
r519 TableWidget::~TableWidget()
{
Michal Klocek
Changes QChartAxis -> QAxis
r1006
Marek Rosa
Table model data example
r519 }