From aa1f1539b73edc06dafd9fd157070bbfaf2a2ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 15 Aug 2013 13:30:17 +0300 Subject: Moved functions from specific controllers to abstract controller MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ib610d313d0708d8bb894e99004ace1530a83d1f7 Reviewed-by: Miikka Heikkinen Reviewed-by: Pasi Keränen --- src/datavis3d/engine/abstract3dcontroller_p.h | 41 ++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'src/datavis3d/engine/abstract3dcontroller_p.h') 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 -- cgit v1.2.3