11 #ifndef KDCHARTABSTRACTDIAGRAM_H
12 #define KDCHARTABSTRACTDIAGRAM_H
14 #include <QAbstractItemView>
24 class AbstractCoordinatePlane;
25 class AttributesModel;
26 class DataValueAttributes;
76 const QPair<QPointF, QPointF> dataBoundaries() const;
93 virtual
void resize(const QSizeF &area) = 0;
96 void setModel(QAbstractItemModel *model) override;
99 void setSelectionModel(QItemSelectionModel *selectionModel) override;
137 virtual
bool usesExternalAttributesModel() const;
153 void setRootIndex(const QModelIndex &idx) override;
156 QRect visualRect(const QModelIndex &index) const override;
158 void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
160 QModelIndex indexAt(const QPoint &point) const override;
162 QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
164 int horizontalOffset() const override;
166 int verticalOffset() const override;
168 bool isIndexHidden(const QModelIndex &index) const override;
170 void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override;
172 QRegion visualRegionForSelection(const QItemSelection &selection) const override;
173 virtual QRegion visualRegion(const QModelIndex &index) const;
175 void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<
int> &roles = QVector<
int>()) override;
177 void doItemsLayout() override;
207 void setHidden(const QModelIndex &index,
bool hidden);
221 void setHidden(
int dataset,
bool hidden);
234 void setHidden(
bool hidden);
242 bool isHidden() const;
251 bool isHidden(
int dataset) const;
260 bool isHidden(const QModelIndex &index) const;
268 void setDataValueAttributes(const QModelIndex &index,
317 void setPen(const QModelIndex &index, const QPen &pen);
324 void setPen(
int dataset, const QPen &pen);
330 void setPen(const QPen &pen);
346 QPen pen(
int dataset) const;
354 QPen pen(const QModelIndex &index) const;
362 void setBrush(const QModelIndex &index, const QBrush &brush);
369 void setBrush(
int dataset, const QBrush &brush);
375 void setBrush(const QBrush &brush);
383 QBrush brush() const;
391 QBrush brush(
int dataset) const;
399 QBrush brush(const QModelIndex &index) const;
407 void setUnitPrefix(const QString &prefix,
int column, Qt::Orientation orientation);
413 void setUnitPrefix(const QString &prefix, Qt::Orientation orientation);
421 void setUnitSuffix(const QString &suffix,
int column, Qt::Orientation orientation);
427 void setUnitSuffix(const QString &suffix, Qt::Orientation orientation);
437 QString unitPrefix(
int column, Qt::Orientation orientation,
bool fallback = false) const;
443 QString unitPrefix(Qt::Orientation orientation) const;
453 QString unitSuffix(
int column, Qt::Orientation orientation,
bool fallback = false) const;
459 QString unitSuffix(Qt::Orientation orientation) const;
465 void setAllowOverlappingDataValueTexts(
bool allow);
470 bool allowOverlappingDataValueTexts() const;
477 void setAntiAliasing(
bool enabled);
483 bool antiAliasing() const;
491 void useDefaultColors();
498 void useRainbowColors();
505 void useSubduedColors();
511 QStringList itemRowLabels() const;
517 QStringList datasetLabels() const;
528 QList<QBrush> datasetBrushes() const;
539 QList<QPen> datasetPens() const;
562 Q_DECL_DEPRECATED
void setPercentMode(
bool percent);
575 bool percentMode() const;
577 virtual
void paintMarker(QPainter *painter,
579 const QBrush &brush, const QPen &,
580 const QPointF &point, const QSizeF &size);
596 int datasetDimension() const;
604 Q_DECL_DEPRECATED
void setDatasetDimension(
int dimension);
607 void setDatasetDimensionInternal(
int dimension);
613 const QModelIndex &index,
615 void paintMarker(QPainter *painter,
616 const QModelIndex &index,
618 void paintDataValueText(QPainter *painter, const QModelIndex &index,
619 const QPointF &pos, qreal value);
625 QModelIndexList indexesAt(const QPoint &point) const;
626 QModelIndexList indexesIn(const QRect &rect) const;
629 virtual
bool checkInvariants(
bool justReturnTheStatus = false) const;
630 virtual const QPair<QPointF, QPointF> calculateDataBoundaries() const = 0;
633 void setDataBoundariesDirty() const;
643 Q_DECL_DEPRECATED virtual
void paintDataValueTexts(QPainter *painter);
651 Q_DECL_DEPRECATED virtual
void paintMarkers(QPainter *painter);
652 void setAttributesModelRootIndex(const QModelIndex &);
653 QModelIndex attributesModelRootIndex() const;
662 Q_DECL_DEPRECATED qreal valueForCell(
int row,
int column) const;
679 void aboutToBeDestroyed();
682 void modelsChanged();
689 void modelDataChanged();
695 void propertiesChanged();
698 void boundariesChanged();
700 void viewportCoordinateSystemChanged();
703 QModelIndex conditionallyMapFromSource(const QModelIndex &sourceIndex) const;
#define KDCHART_DECLARE_PRIVATE_BASE_POLYMORPHIC(X)
Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane,...
AbstractDiagram defines the interface for diagram classes.
A proxy model used for decorating data with attributes.
Cartesian coordinate plane.
Diagram attributes dealing with data value labels.
A set of attributes controlling the appearance of data set markers.
Stores information about painting diagrams.
Internally used class just adding a special constructor used by AbstractDiagram.
PrivateAttributesModel(QAbstractItemModel *model, QObject *parent=nullptr)
QList< AbstractDiagram * > AbstractDiagramList
QList< const AbstractDiagram * > ConstAbstractDiagramList