##// END OF EJS Templates
Bar model mapper to Qml custom model demo
Bar model mapper to Qml custom model demo

File last commit:

r1313:a90564adf9b7
r1313:a90564adf9b7
Show More
tablewidget.cpp
582 lines | 22.7 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
Minor fix to QXYModelMapper
r1310 #include <QHXYModelMapper>
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
Added Vertical and Horizontal BarModelMappers
r1294 #include <QVBarModelMapper>
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
Added Vertical and Horizontal BarModelMappers
r1294 : QWidget(parent),
m_series(0),
m_mapper(0),
m_model(0),
m_pieMapper(0),
m_pieMapper2(0)
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
Minor fix to QXYModelMapper
r1310 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
Added Vertical and Horizontal BarModelMappers
r1294 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
Added Vertical and Horizontal BarModelMappers
r1294 m_series = 0;
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
Added Vertical and Horizontal BarModelMappers
r1294 if (m_mapper) {
m_mapper->deleteLater();
m_mapper = 0;
}
if (m_pieMapper) {
m_pieMapper->deleteLater();
m_pieMapper = 0;
}
if (m_pieMapper2) {
m_pieMapper2->deleteLater();
m_pieMapper2 = 0;
}
// if (m_series) {
// delete m_series;
// m_series = 0;
// }
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
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 m_series = new QLineSeries;
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230
Marek Rosa
Minor fix to QXYModelMapper
r1310 m_mapper = new QHXYModelMapper;
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 m_mapper->setModel(m_model);
m_mapper->setSeries(m_series);
Marek Rosa
Minor fix to QXYModelMapper
r1310 m_mapper->setXRow(0);
m_mapper->setYRow(1);
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 m_mapper->setFirst(3);
m_mapper->setCount(4);
Marek Rosa
XYModelMapper slots for model signals implemented
r1256
Marek Rosa
Minor fix to QXYModelMapper
r1310 // m_mapper = new QVXYModelMapper;
// m_mapper->setModel(m_model);
// m_mapper->setSeries(m_series);
// m_mapper->setXColumn(0);
// m_mapper->setYColumn(1);
// m_mapper->setFirst(3);
// m_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;
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 // 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
Minor fix to QXYModelMapper
r1310 // m_mapper = new QVXYModelMapper;
// m_mapper->setSeries(m_series);
// m_mapper->setModel(m_model);
// m_mapper->setXColumn(0);
// m_mapper->setYColumn(1);
// m_mapper->setFirst(0);
// m_mapper->setCount(-1);
Marek Rosa
Mapper class added for xyseries and pieseries. Model support commented out for barseries for now.
r1164
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 // 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
Added Vertical and Horizontal BarModelMappers
r1294 } else if (m_scatterRadioButton->isChecked())
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 BarModelMappers
r1294 m_chart->setAnimationOptions(QChart::NoAnimation);
// series 1
m_series = new QScatterSeries;
Marek Rosa
Minor fix to QXYModelMapper
r1310 // m_mapper = new QVXYModelMapper;
// m_mapper->setSeries(m_series);
// m_mapper->setModel(m_model);
// m_mapper->setXColumn(0);
// m_mapper->setYColumn(1);
// m_mapper->setFirst(0);
// m_mapper->setCount(-1);
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294
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));
} else if (m_pieRadioButton->isChecked()) {
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 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
Added Vertical and Horizontal BarModelMappers
r1294 m_pieMapper2 = new QVPieModelMapper;
m_pieMapper2->setValuesColumn(0);
m_pieMapper2->setLabelsColumn(7);
m_pieMapper2->setModel(m_model);
m_pieMapper2->setSeries(m_pieSeries2);
m_pieMapper2->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())
{
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 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);
int first = 3;
Marek Rosa
BarModelMapper: implemented model updated slots. Some more work needed with categories
r1295 // int count = 4;
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 QVBarModelMapper *mapper = new QVBarModelMapper;
mapper->setCategoriesSection(5);
Tero Ahola
Bar model mapper to Qml custom model demo
r1313 mapper->setFirstBarSetSection(2);
mapper->setLastBarSetSection(4);
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 mapper->setFirst(first);
Marek Rosa
BarModelMapper: implemented model updated slots. Some more work needed with categories
r1295 // mapper->setCount(count);
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 mapper->setSeries(barSeries);
mapper->setModel(m_model);
// 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();
Marek Rosa
BarModelMapper: implemented model updated slots. Some more work needed with categories
r1295 m_model->addMapping(seriesColorHex, QRect(2 + i, first, 1, barsets.at(i)->count()));
Marek Rosa
Added Vertical and Horizontal BarModelMappers
r1294 }
Marek Rosa
All model related methods and members removed from the series. QML stuff commented out where complaining
r1230 }
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 }