qvcandlestickmodelmapper.cpp
323 lines
| 10.9 KiB
| text/x-c
|
CppLexer
|
r2896 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2016 The Qt Company Ltd. | ||||
** Contact: https://www.qt.io/licensing/ | ||||
** | ||||
** This file is part of the Qt Charts module of the Qt Toolkit. | ||||
** | ||||
** $QT_BEGIN_LICENSE:GPL$ | ||||
** Commercial License Usage | ||||
** Licensees holding valid commercial Qt licenses may use this file in | ||||
** accordance with the commercial license agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and The Qt Company. For licensing terms | ||||
** and conditions see https://www.qt.io/terms-conditions. For further | ||||
** information use the contact form at https://www.qt.io/contact-us. | ||||
** | ||||
** GNU General Public License Usage | ||||
** Alternatively, this file may be used under the terms of the GNU | ||||
** General Public License version 3 or (at your option) any later version | ||||
** approved by the KDE Free Qt Foundation. The licenses are as published by | ||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||||
** included in the packaging of this file. Please review the following | ||||
** information to ensure the GNU General Public License requirements will | ||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||||
** | ||||
** $QT_END_LICENSE$ | ||||
** | ||||
****************************************************************************/ | ||||
#include <QtCharts/QVCandlestickModelMapper> | ||||
#include <private/qcandlestickmodelmapper_p.h> | ||||
QT_CHARTS_BEGIN_NAMESPACE | ||||
/*! | ||||
\class QVCandlestickModelMapper | ||||
\since 5.8 | ||||
\inmodule Qt Charts | ||||
\brief Vertical model mapper for a candlestick series. | ||||
Model mappers allow the use of a QAbstractItemModel-derived model as a data source for a chart | ||||
series, creating a connection between a QCandlestickSeries and the model object. A vertical | ||||
model mapper maintains an equal size across all \l {QCandlestickSet} {QCandlestickSets}, and | ||||
reads the values of the set from the model's columns. | ||||
\note The model used must support adding and removing rows/columns and modifying the data of the | ||||
cells. | ||||
*/ | ||||
/*! | ||||
\qmltype VCandlestickModelMapper | ||||
\since 2.2 | ||||
\instantiates QVCandlestickModelMapper | ||||
\inqmlmodule QtCharts | ||||
\brief Vertical model mapper for a candlestick series. | ||||
VCandlestickModelMapper allows the use of a QAbstractItemModel-derived model with data in | ||||
columns as a data source for a candlestick series. It's possible to manipulate the data either | ||||
through QAbstractItemModel or QCandlestickSeries. | ||||
The following QML example creates a candlestick series with three candlestick sets (assuming the | ||||
model has at least four columns). Each candlestick set would contain data defined by timestamp, | ||||
open, high, low and close rows. The name of a set would be defined by the horizontal header of | ||||
the column. | ||||
\qml | ||||
CandlestickSeries { | ||||
VCandlestickModelMapper { | ||||
model: myCustomModel // QAbstractItemModel derived implementation | ||||
timestampRow: 1 | ||||
openRow: 2 | ||||
highRow: 3 | ||||
lowRow: 4 | ||||
closeRow: 5 | ||||
firstCandlestickSetColumn: 1 | ||||
lastCandlestickSetColumn: 3 | ||||
} | ||||
} | ||||
\endqml | ||||
\note VCandlestickModelMapper keeps the series and the model in sync. | ||||
*/ | ||||
/*! | ||||
\qmlproperty QAbstractItemModel VCandlestickModelMapper::model | ||||
\brief The QAbstractItemModel-based model that is used by the mapper. The model must be | ||||
implemented and exposed to QML. | ||||
\note The model used must support adding and removing rows/columns and modifying the data of the | ||||
cells. | ||||
*/ | ||||
/*! | ||||
\qmlproperty CandlestickSeries VCandlestickModelMapper::series | ||||
\brief Defines the CandlestickSeries based object that is used by the mapper. | ||||
All the data in the series is discarded when it is set to the mapper. When a new series is | ||||
specified, the old series is disconnected (preserving its data). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::timestampRow | ||||
\brief Defines the row of the model that contains the timestamp values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::timestampRow | ||||
\brief Defines the row of the model that contains the timestamp values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::openRow | ||||
\brief Defines the row of the model that contains the open values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::openRow | ||||
\brief Defines the row of the model that contains the open values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::highRow | ||||
\brief Defines the row of the model that contains the high values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::highRow | ||||
\brief Defines the row of the model that contains the high values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::lowRow | ||||
\brief Defines the row of the model that contains the low values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::lowRow | ||||
\brief Defines the row of the model that contains the low values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::closeRow | ||||
\brief Defines the row of the model that contains the close values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::closeRow | ||||
\brief Defines the row of the model that contains the close values of the | ||||
\l {QCandlestickSet} {QCandlestickSets} in the series. Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::firstCandlestickSetColumn | ||||
\brief Defines the column of the model that is used as the data source for the first set. | ||||
Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::firstCandlestickSetColumn | ||||
\brief Defines the column of the model that is used as the data source for the first set. | ||||
Default value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\property QVCandlestickModelMapper::lastCandlestickSetColumn | ||||
\brief Defines the column of the model that is used as the data source for the last set. Default | ||||
value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\qmlproperty int VCandlestickModelMapper::lastCandlestickSetColumn | ||||
\brief Defines the column of the model that is used as the data source for the last set. Default | ||||
value is -1 (invalid mapping). | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::timestampRowChanged() | ||||
\brief Emitted when the row of the model that contains timestamp values is changed. | ||||
\sa timestampRow | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::openRowChanged() | ||||
\brief Emitted when the row of the model that contains open values is changed. | ||||
\sa openRow | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::highRowChanged() | ||||
\brief Emitted when the row of the model that contains high values is changed. | ||||
\sa highRow | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::lowRowChanged() | ||||
\brief Emitted when the row of the model that contains low values is changed. | ||||
\sa lowRow | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::closeRowChanged() | ||||
\brief Emitted when the row of the model that contains close values is changed. | ||||
\sa closeRow | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::firstCandlestickSetColumnChanged() | ||||
\brief Emitted when the column of the model that contains the data of the first set is changed. | ||||
\sa firstCandlestickSetColumn | ||||
*/ | ||||
/*! | ||||
\fn void QVCandlestickModelMapper::lastCandlestickSetColumnChanged() | ||||
\brief Emitted when the column of the model that contains the data of the last set is changed. | ||||
\sa lastCandlestickSetColumn | ||||
*/ | ||||
/*! | ||||
Constructs a vertical model mapper object which is a child of \a parent. | ||||
*/ | ||||
QVCandlestickModelMapper::QVCandlestickModelMapper(QObject *parent) | ||||
: QCandlestickModelMapper(parent) | ||||
{ | ||||
connect(d_ptr, SIGNAL(timestampChanged()), this, SIGNAL(timestampRowChanged())); | ||||
connect(d_ptr, SIGNAL(openChanged()), this, SIGNAL(openRowChanged())); | ||||
connect(d_ptr, SIGNAL(highChanged()), this, SIGNAL(highRowChanged())); | ||||
connect(d_ptr, SIGNAL(lowChanged()), this, SIGNAL(lowRowChanged())); | ||||
connect(d_ptr, SIGNAL(closeChanged()), this, SIGNAL(closeRowChanged())); | ||||
connect(d_ptr, SIGNAL(firstCandlestickSetSectionChanged()), | ||||
this, SIGNAL(firstCandlestickSetColumnChanged())); | ||||
connect(d_ptr, SIGNAL(lastCandlestickSetSectionChanged()), | ||||
this, SIGNAL(lastCandlestickSetColumnChanged())); | ||||
} | ||||
/*! | ||||
Returns Qt::Vertical. This means that values of the set are read from columns. | ||||
*/ | ||||
Qt::Orientation QVCandlestickModelMapper::orientation() const | ||||
{ | ||||
return Qt::Vertical; | ||||
} | ||||
void QVCandlestickModelMapper::setTimestampRow(int timestampRow) | ||||
{ | ||||
QCandlestickModelMapper::setTimestamp(timestampRow); | ||||
} | ||||
int QVCandlestickModelMapper::timestampRow() const | ||||
{ | ||||
return QCandlestickModelMapper::timestamp(); | ||||
} | ||||
void QVCandlestickModelMapper::setOpenRow(int openRow) | ||||
{ | ||||
QCandlestickModelMapper::setOpen(openRow); | ||||
} | ||||
int QVCandlestickModelMapper::openRow() const | ||||
{ | ||||
return QCandlestickModelMapper::open(); | ||||
} | ||||
void QVCandlestickModelMapper::setHighRow(int highRow) | ||||
{ | ||||
QCandlestickModelMapper::setHigh(highRow); | ||||
} | ||||
int QVCandlestickModelMapper::highRow() const | ||||
{ | ||||
return QCandlestickModelMapper::high(); | ||||
} | ||||
void QVCandlestickModelMapper::setLowRow(int lowRow) | ||||
{ | ||||
QCandlestickModelMapper::setLow(lowRow); | ||||
} | ||||
int QVCandlestickModelMapper::lowRow() const | ||||
{ | ||||
return QCandlestickModelMapper::low(); | ||||
} | ||||
void QVCandlestickModelMapper::setCloseRow(int closeRow) | ||||
{ | ||||
QCandlestickModelMapper::setClose(closeRow); | ||||
} | ||||
int QVCandlestickModelMapper::closeRow() const | ||||
{ | ||||
return QCandlestickModelMapper::close(); | ||||
} | ||||
void QVCandlestickModelMapper::setFirstCandlestickSetColumn(int firstCandlestickSetColumn) | ||||
{ | ||||
QCandlestickModelMapper::setFirstCandlestickSetSection(firstCandlestickSetColumn); | ||||
} | ||||
int QVCandlestickModelMapper::firstCandlestickSetColumn() const | ||||
{ | ||||
return QCandlestickModelMapper::firstCandlestickSetSection(); | ||||
} | ||||
void QVCandlestickModelMapper::setLastCandlestickSetColumn(int lastCandlestickSetColumn) | ||||
{ | ||||
QCandlestickModelMapper::setLastCandlestickSetSection(lastCandlestickSetColumn); | ||||
} | ||||
int QVCandlestickModelMapper::lastCandlestickSetColumn() const | ||||
{ | ||||
return QCandlestickModelMapper::lastCandlestickSetSection(); | ||||
} | ||||
#include "moc_qvcandlestickmodelmapper.cpp" | ||||
QT_CHARTS_END_NAMESPACE | ||||