qvpiemodelmapper.cpp
171 lines
| 4.7 KiB
| text/x-c
|
CppLexer
|
r1309 | /**************************************************************************** | ||
** | ||||
** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
|
r1237 | #include "qvpiemodelmapper.h" | ||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
|
r1331 | /*! | ||
\class QVPieModelMapper | ||||
\brief part of QtCommercial chart API. | ||||
\mainclass | ||||
|
r1397 | Model mappers allow you to use QAbstractItemModel derived models as a data source for a chart series. | ||
|
r1378 | Vertical model mapper is used to create a connection between QPieSeries and QAbstractItemModel derived model object that keeps the consecutive pie slices data in columns. | ||
|
r1340 | It is possible to use both QAbstractItemModel and QPieSeries model API. QVPieModelMapper makes sure that Pie and the model are kept in sync. | ||
NOTE: used model has to support adding/removing rows/columns and modifying the data of the cells. | ||||
*/ | ||||
/*! | ||||
\property QVPieModelMapper::valuesColumn | ||||
\brief Defines which column of the model is kept in sync with the values of the pie's slices | ||||
Default value is: -1 (invalid mapping) | ||||
*/ | ||||
/*! | ||||
\property QVPieModelMapper::labelsColumn | ||||
\brief Defines which column of the model is kept in sync with the labels of the pie's slices | ||||
Default value is: -1 (invalid mapping) | ||||
|
r1331 | */ | ||
|
r1499 | /*! | ||
\property QVPieModelMapper::firstRow | ||||
\brief Defines which row of the model contains the first slice value. | ||||
Minimal and default value is: 0 | ||||
*/ | ||||
/*! | ||||
\qmlproperty int QVPieModelMapper::firstRow | ||||
Defines which row of the model contains the first slice value. | ||||
The default value is 0. | ||||
*/ | ||||
/*! | ||||
\property QVPieModelMapper::rowCount | ||||
\brief Defines the number of rows of the model that are mapped as the data for QPieSeries | ||||
Minimal and default value is: -1 (count limited by the number of rows in the model) | ||||
*/ | ||||
/*! | ||||
\qmlproperty int QVPieModelMapper::columnCount | ||||
Defines the number of rows of the model that are mapped as the data for QPieSeries. The default value is | ||||
-1 (count limited by the number of rows in the model) | ||||
*/ | ||||
|
r1476 | /*! | ||
\fn void QVPieModelMapper::valuesColumnChanged() | ||||
Emitted when the valuesColumn has changed. | ||||
*/ | ||||
/*! | ||||
\fn void QVPieModelMapper::labelsColumnChanged() | ||||
Emitted when the labelsColumn has changed. | ||||
*/ | ||||
|
r1499 | /*! | ||
\fn void QVPieModelMapper::firstRowChanged() | ||||
Emitted when the firstRow has changed. | ||||
*/ | ||||
/*! | ||||
\fn void QVPieModelMapper::rowCountChanged() | ||||
Emitted when the rowCount has changed. | ||||
*/ | ||||
|
r1347 | /*! | ||
Constructs a mapper object which is a child of \a parent. | ||||
*/ | ||||
|
r1237 | QVPieModelMapper::QVPieModelMapper(QObject *parent) : | ||
QPieModelMapper(parent) | ||||
{ | ||||
QPieModelMapper::setOrientation(Qt::Vertical); | ||||
} | ||||
|
r1340 | /*! | ||
Returns which column of the model is kept in sync with the values of the pie's slices | ||||
*/ | ||||
|
r1237 | int QVPieModelMapper::valuesColumn() const | ||
{ | ||||
|
r1320 | return QPieModelMapper::valuesSection(); | ||
|
r1237 | } | ||
|
r1340 | /*! | ||
Sets the model column that is kept in sync with the pie slices values. | ||||
Parameter \a valuesColumn specifies the row of the model. | ||||
*/ | ||||
|
r1237 | void QVPieModelMapper::setValuesColumn(int valuesColumn) | ||
{ | ||||
|
r1474 | if (valuesColumn != valuesSection()) { | ||
QPieModelMapper::setValuesSection(valuesColumn); | ||||
emit valuesColumnChanged(); | ||||
} | ||||
|
r1237 | } | ||
|
r1340 | /*! | ||
Returns which column of the model is kept in sync with the labels of the pie's slices | ||||
*/ | ||||
|
r1237 | int QVPieModelMapper::labelsColumn() const | ||
{ | ||||
|
r1320 | return QPieModelMapper::labelsSection(); | ||
|
r1237 | } | ||
|
r1340 | /*! | ||
Sets the model column that is kept in sync with the pie's slices labels. | ||||
Parameter \a labelsColumn specifies the row of the model. | ||||
*/ | ||||
|
r1237 | void QVPieModelMapper::setLabelsColumn(int labelsColumn) | ||
{ | ||||
|
r1474 | if (labelsColumn != labelsSection()) { | ||
QPieModelMapper::setLabelsSection(labelsColumn); | ||||
emit labelsColumnChanged(); | ||||
} | ||||
|
r1237 | } | ||
|
r1499 | int QVPieModelMapper::firstRow() const | ||
{ | ||||
return first(); | ||||
} | ||||
void QVPieModelMapper::setFirstRow(int firstRow) | ||||
{ | ||||
if (firstRow != first()) { | ||||
setFirst(firstRow); | ||||
emit firstRowChanged(); | ||||
} | ||||
} | ||||
int QVPieModelMapper::rowCount() const | ||||
{ | ||||
return count(); | ||||
} | ||||
void QVPieModelMapper::setRowCount(int rowCount) | ||||
{ | ||||
if (rowCount != count()) { | ||||
setCount(rowCount); | ||||
emit firstRowChanged(); | ||||
} | ||||
} | ||||
|
r1237 | #include "moc_qvpiemodelmapper.cpp" | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||