summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/abstract3dcontroller_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-28 14:55:50 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 08:24:43 +0300
commit89007c36f04fb965167501a0d473451976548da3 (patch)
tree7289354f1ed9b63ec14d78cd6664dd0d0bbba8af /src/datavis3d/engine/abstract3dcontroller_p.h
parent5bbd3b72540fd24ecb4538627e01bffe3d03acc6 (diff)
Make axes ownership more useful
Chart can now own multiple axes while showing only one. Default axes are no longer modifiable by users. Task-number: QTRD-2212 Change-Id: I028f0d7539dbbf6e3474680290c7ec6bba5a4223 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavis3d/engine/abstract3dcontroller_p.h')
-rw-r--r--src/datavis3d/engine/abstract3dcontroller_p.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/datavis3d/engine/abstract3dcontroller_p.h b/src/datavis3d/engine/abstract3dcontroller_p.h
index 4868e3eb..3123a5d7 100644
--- a/src/datavis3d/engine/abstract3dcontroller_p.h
+++ b/src/datavis3d/engine/abstract3dcontroller_p.h
@@ -156,9 +156,12 @@ protected:
QAbstract3DInputHandler *m_inputHandler;
CameraHelper *m_cameraHelper;
int m_zoomLevel;
+ // Active axes
QAbstractAxis *m_axisX;
QAbstractAxis *m_axisY;
QAbstractAxis *m_axisZ;
+
+ QList<QAbstractAxis *> m_axes; // List of all added axes
Abstract3DRenderer *m_renderer;
bool m_isDataDirty;
@@ -201,6 +204,9 @@ public:
virtual QAbstractAxis *axisY();
virtual void setAxisZ(QAbstractAxis *axis);
virtual QAbstractAxis *axisZ();
+ virtual void addAxis(QAbstractAxis *axis);
+ virtual void releaseAxis(QAbstractAxis *axis);
+ virtual QList<QAbstractAxis *> axes() const; // Omits default axes
virtual int zoomLevel();
virtual void setZoomLevel(int zoomLevel);
@@ -283,6 +289,11 @@ signals:
void gridEnabledChanged(bool enable); // TODO: Should be handled via axes?
void meshFileNameChanged(QString fileName);
+protected:
+ virtual QAbstractAxis *createDefaultAxis(QAbstractAxis::AxisOrientation orientation);
+ QValueAxis *createDefaultValueAxis();
+ QCategoryAxis *createDefaultCategoryAxis();
+
private:
void setAxisHelper(QAbstractAxis::AxisOrientation orientation, QAbstractAxis *axis,
QAbstractAxis **axisPtr);