summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/abstract3dcontroller_p.h
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-08-15 13:30:17 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-08-15 13:40:28 +0300
commitaa1f1539b73edc06dafd9fd157070bbfaf2a2ef6 (patch)
treef7f96a73d7faa35824844a7187c226f7db59ea27 /src/datavis3d/engine/abstract3dcontroller_p.h
parentcf0b67d06249ad2472e2a5ea4de0918079dff7eb (diff)
Moved functions from specific controllers to abstract controller
Change-Id: Ib610d313d0708d8bb894e99004ace1530a83d1f7 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavis3d/engine/abstract3dcontroller_p.h')
-rw-r--r--src/datavis3d/engine/abstract3dcontroller_p.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/src/datavis3d/engine/abstract3dcontroller_p.h b/src/datavis3d/engine/abstract3dcontroller_p.h
index ed201c66..8f21c97f 100644
--- a/src/datavis3d/engine/abstract3dcontroller_p.h
+++ b/src/datavis3d/engine/abstract3dcontroller_p.h
@@ -52,6 +52,10 @@ struct Abstract3DChangeBitField {
bool boundingRectChanged : 1;
bool sizeChanged : 1;
bool shadowQualityChanged : 1;
+ bool selectionModeChanged : 1;
+ bool objFileChanged : 1;
+ bool gridEnabledChanged : 1;
+ bool backgroundEnabledChanged : 1;
bool axisXTypeChanged : 1;
bool axisYTypeChanged : 1;
bool axisZTypeChanged : 1;
@@ -80,6 +84,10 @@ struct Abstract3DChangeBitField {
boundingRectChanged(true),
sizeChanged(true),
shadowQualityChanged(true),
+ selectionModeChanged(true),
+ objFileChanged(true),
+ gridEnabledChanged(true),
+ backgroundEnabledChanged(true),
axisXTypeChanged(true),
axisYTypeChanged(true),
axisZTypeChanged(true),
@@ -107,6 +115,13 @@ class QT_DATAVIS3D_EXPORT Abstract3DController : public QObject
Q_OBJECT
public:
+ enum SelectionType {
+ SelectionNone = 0,
+ SelectionItem,
+ SelectionRow,
+ SelectionColumn
+ };
+
enum MouseState {
MouseNone = 0,
MouseOnScene,
@@ -123,8 +138,12 @@ private:
GLfloat m_verticalRotation;
Theme m_theme;
QFont m_font;
+ QDataVis::SelectionMode m_selectionMode;
QDataVis::ShadowQuality m_shadowQuality;
QDataVis::LabelTransparency m_labelTransparency;
+ bool m_isBackgroundEnabled;
+ bool m_isGridEnabled;
+ QString m_objFile;
protected:
CameraHelper *m_cameraHelper;
@@ -205,6 +224,9 @@ public:
virtual void setFont(const QFont &font);
virtual QFont font();
+ // Selection mode
+ virtual void setSelectionMode(QDataVis::SelectionMode mode);
+ virtual QDataVis::SelectionMode selectionMode();
// Adjust shadow quality
virtual void setShadowQuality(QDataVis::ShadowQuality quality);
@@ -214,6 +236,18 @@ public:
virtual void setLabelTransparency(QDataVis::LabelTransparency transparency);
virtual QDataVis::LabelTransparency labelTransparency();
+ // Enable or disable background mesh
+ virtual void setBackgroundEnabled(bool enable);
+ virtual bool backgroundEnabled();
+
+ // Enable or disable background grid
+ virtual void setGridEnabled(bool enable);
+ virtual bool gridEnabled();
+
+ // override bar type with own mesh
+ virtual void setMeshFileName(const QString &fileName);
+ virtual QString meshFileName();
+
virtual void handleAxisTitleChangedBySender(QObject *sender, const QString &title);
virtual void handleAxisLabelsChangedBySender(QObject *sender);
virtual void handleAxisRangeChangedBySender(QObject *sender, qreal min, qreal max);
@@ -244,9 +278,14 @@ signals:
void axisRangeChanged(QAbstractAxis::AxisOrientation orientation, qreal min, qreal max);
void axisSegmentCountChanged(QAbstractAxis::AxisOrientation orientation, int count);
void axisSubSegmentCountChanged(QAbstractAxis::AxisOrientation orientation, int count);
+ void selectionModeChanged(QDataVis::SelectionMode mode);
+ void backgroundEnabledChanged(bool enable);
+ void gridEnabledChanged(bool enable); // TODO: Should be handled via axes?
+ void meshFileNameChanged(QString fileName);
private:
- void setAxisHelper(QAbstractAxis::AxisOrientation orientation, QAbstractAxis *axis, QAbstractAxis **axisPtr);
+ void setAxisHelper(QAbstractAxis::AxisOrientation orientation, QAbstractAxis *axis,
+ QAbstractAxis **axisPtr);
};
QT_DATAVIS3D_END_NAMESPACE