12#include "KDChartStockDiagram_p.h"
15#include "KDChartPainterSaver_p.h"
34void StockDiagram::init()
155 d->lowHighLinePen =
pen;
160 return d->lowHighLinePen;
165 d->lowHighLinePens[column] =
pen;
170 if (
d->lowHighLinePens.contains(column))
171 return d->lowHighLinePens[column];
172 return d->lowHighLinePen;
177 d->upTrendCandlestickBrush =
brush;
182 return d->upTrendCandlestickBrush;
187 d->downTrendCandlestickBrush =
brush;
192 return d->downTrendCandlestickBrush;
197 d->upTrendCandlestickBrushes[column] =
brush;
202 if (
d->upTrendCandlestickBrushes.contains(column))
203 return d->upTrendCandlestickBrushes[column];
204 return d->upTrendCandlestickBrush;
209 d->downTrendCandlestickBrushes[column] =
brush;
214 if (
d->downTrendCandlestickBrushes.contains(column))
215 return d->downTrendCandlestickBrushes[column];
216 return d->downTrendCandlestickBrush;
221 d->upTrendCandlestickPen =
pen;
226 return d->upTrendCandlestickPen;
231 d->downTrendCandlestickPen =
pen;
236 return d->downTrendCandlestickPen;
241 d->upTrendCandlestickPens[column] =
pen;
246 if (
d->upTrendCandlestickPens.contains(column))
247 return d->upTrendCandlestickPens[column];
248 return d->upTrendCandlestickPen;
253 d->downTrendCandlestickPens[column] =
pen;
258 if (
d->downTrendCandlestickPens.contains(column))
259 return d->downTrendCandlestickPens[column];
260 return d->downTrendCandlestickPen;
263#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined(Q_COMPILER_MANGLES_RETURN_TYPE)
272#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && defined(Q_COMPILER_MANGLES_RETURN_TYPE)
285 d->reverseMapper.clear();
292 for (
int row = 0; row < rowCount; row++) {
293 CartesianDiagramDataCompressor::DataPoint
low;
294 CartesianDiagramDataCompressor::DataPoint
high;
295 CartesianDiagramDataCompressor::DataPoint open;
296 CartesianDiagramDataCompressor::DataPoint
close;
297 CartesianDiagramDataCompressor::DataPoint
volume;
301 const CartesianDiagramDataCompressor::CachePosition
lowPos(row,
col *
divisor + 1);
308 const CartesianDiagramDataCompressor::CachePosition
highPos(row,
col *
divisor + 1);
309 const CartesianDiagramDataCompressor::CachePosition
lowPos(row,
col *
divisor + 2);
322 if (
close.index.isValid() &&
low.index.isValid() &&
high.index.isValid())
363 for (
int row = 0; row < rowCount; row++) {
365 const CartesianDiagramDataCompressor::CachePosition
pos(row,
col);
366 const CartesianDiagramDataCompressor::DataPoint point =
d->compressor.data(
pos);
Base class for diagrams based on a cartesian coordianate system.
virtual AttributesModel * attributesModel() const
void setPen(const QModelIndex &index, const QPen &pen)
QModelIndex attributesModelRootIndex() const
returns a QModelIndex pointing into the AttributesModel that corresponds to the root index of the dia...
AbstractCoordinatePlane * coordinatePlane() const
void setDataBoundariesDirty() const
void setDatasetDimensionInternal(int dimension)
int rowCount(const QModelIndex &) const override
QVariant modelData(int role) const
int columnCount(const QModelIndex &) const override
bool setModelData(const QVariant value, int role)
Cartesian coordinate plane.
Stores information about painting diagrams.
QPainter * painter() const
Attributes to customize the appearance of a column in a stock chart.
const QPair< QPointF, QPointF > calculateDataBoundaries() const override
void setDownTrendCandlestickBrush(const QBrush &brush)
void setThreeDBarAttributes(const ThreeDBarAttributes &attr)
ThreeDBarAttributes threeDBarAttributes() const
void resize(const QSizeF &size) override
void setUpTrendCandlestickBrush(const QBrush &brush)
QPen downTrendCandlestickPen() const
StockBarAttributes stockBarAttributes() const
void setStockBarAttributes(const StockBarAttributes &attr)
int numberOfOrdinateSegments() const override
void paint(PaintContext *paintContext) override
QPen lowHighLinePen() const
QBrush upTrendCandlestickBrush() const
qreal threeDItemDepth(int column) const override
void setDownTrendCandlestickPen(const QPen &pen)
void setUpTrendCandlestickPen(const QPen &pen)
int numberOfAbscissaSegments() const override
void setLowHighLinePen(const QPen &pen)
QPen upTrendCandlestickPen() const
QBrush downTrendCandlestickBrush() const
StockDiagram(QWidget *parent=nullptr, CartesianCoordinatePlane *plane=nullptr)
A set of 3D bar attributes.
@ ThreeDBarAttributesRole
T qobject_cast(QObject *object)
QVariant fromValue(const T &value)