12 #include "KDChartAbstractCartesianDiagram_p.h"
14 #include <KDABLibFakes>
18 AbstractCartesianDiagram::Private::Private()
22 AbstractCartesianDiagram::Private::~Private()
50 axis->deleteObserver(
this);
55 void AbstractCartesianDiagram::init()
59 &
d->compressor, &CartesianDiagramDataCompressor::slotDiagramLayoutChanged);
71 if (!
d->axesList.contains(axis)) {
72 d->axesList.append(axis);
80 const int idx =
d->axesList.indexOf(axis);
82 d->axesList.takeAt(idx);
103 if (coordinatePlane()) {
104 disconnect(attributesModel(), &AttributesModel::rowsRemoved,
106 disconnect(attributesModel(), &AttributesModel::rowsInserted,
108 disconnect(attributesModel(), &AttributesModel::columnsRemoved,
110 disconnect(attributesModel(), &AttributesModel::columnsInserted,
112 disconnect(coordinatePlane());
118 connect(attributesModel(), &AttributesModel::rowsRemoved,
120 connect(attributesModel(), &AttributesModel::rowsInserted,
122 connect(attributesModel(), &AttributesModel::columnsRemoved,
124 connect(attributesModel(), &AttributesModel::columnsInserted,
135 d->referenceDiagram = diagram;
136 d->referenceDiagramOffset = offset;
141 return d->referenceDiagram;
146 return d->referenceDiagramOffset;
184 d->compressor.setModel(newModel);
void deleteObserver(AbstractDiagram *diagram)
void createObserver(AbstractDiagram *diagram)
Base class for diagrams based on a cartesian coordianate system.
virtual void layoutPlanes()
AbstractCartesianDiagram(QWidget *parent=nullptr, CartesianCoordinatePlane *plane=nullptr)
void setAttributesModel(AttributesModel *amodel) override
Sets an external AttributesModel on this diagram.
void setRootIndex(const QModelIndex &index) override
virtual void addAxis(CartesianAxis *axis)
virtual QPointF referenceDiagramOffset() const
virtual void setReferenceDiagram(AbstractCartesianDiagram *diagram, const QPointF &offset=QPointF())
virtual AbstractCartesianDiagram * referenceDiagram() const
void setModel(QAbstractItemModel *model) override
virtual void takeAxis(CartesianAxis *axis)
bool compare(const AbstractCartesianDiagram *other) const
void connectAttributesModel(AttributesModel *)
virtual KDChart::CartesianAxisList axes() const
~AbstractCartesianDiagram() override
void setCoordinatePlane(AbstractCoordinatePlane *plane) override
Base class common for all coordinate planes, CartesianCoordinatePlane, PolarCoordinatePlane,...
void viewportCoordinateSystemChanged()
AbstractDiagram defines the interface for diagram classes.
void setModel(QAbstractItemModel *model) override
virtual AttributesModel * attributesModel() const
void layoutChanged(AbstractDiagram *)
void viewportCoordinateSystemChanged()
virtual void setAttributesModel(AttributesModel *model)
Sets an external AttributesModel on this diagram.
virtual void setCoordinatePlane(AbstractCoordinatePlane *plane)
void setRootIndex(const QModelIndex &idx) override
Reimplemented for internal purposes.
void attributesModelAboutToChange(AttributesModel *newModel, AttributesModel *oldModel)
virtual void setParentWidget(QWidget *widget)
A proxy model used for decorating data with attributes.
Cartesian coordinate plane.
QList< CartesianAxis * > CartesianAxisList