diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-27 13:10:44 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-27 13:13:58 +0200 |
commit | b368e57e59351736f9ad06834a743a7c1b49d368 (patch) | |
tree | 3b7d42569905d8cde0ca7571cd664428354a50dd /src/datavisualizationqml2/abstractdeclarative_p.h | |
parent | eb3d0514ca886db33776522ea00f27b69bc86ad1 (diff) | |
parent | 05d06fbc61f07e400b519a9b020c2473398627c1 (diff) |
Merge branch 'develop'v1.0.0-beta1
Change-Id: I1c9a255eb8f30a24b665856d3711f0abe77c6ef4
Diffstat (limited to 'src/datavisualizationqml2/abstractdeclarative_p.h')
-rw-r--r-- | src/datavisualizationqml2/abstractdeclarative_p.h | 75 |
1 files changed, 59 insertions, 16 deletions
diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h index 42cf13a4..85616560 100644 --- a/src/datavisualizationqml2/abstractdeclarative_p.h +++ b/src/datavisualizationqml2/abstractdeclarative_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc +** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** @@ -32,28 +32,63 @@ #include "datavisualizationglobal_p.h" #include "abstract3dcontroller_p.h" #include "qabstract3dinputhandler.h" +#include "declarativescene_p.h" #include <QAbstractItemModel> #include <QQuickItem> #include <QObject> #include <QQuickWindow> -QT_DATAVISUALIZATION_BEGIN_NAMESPACE +QT_BEGIN_NAMESPACE_DATAVISUALIZATION class AbstractDeclarative : public QQuickItem { Q_OBJECT - Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) - Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) - Q_PROPERTY(Q3DScene* scene READ scene NOTIFY sceneChanged) + Q_ENUMS(ShadowQuality) + Q_FLAGS(SelectionFlag SelectionFlags) + Q_PROPERTY(SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) + Q_PROPERTY(ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) + Q_PROPERTY(Declarative3DScene* scene READ scene NOTIFY sceneChanged) Q_PROPERTY(QAbstract3DInputHandler* inputHandler READ inputHandler WRITE setInputHandler NOTIFY inputHandlerChanged) Q_PROPERTY(Q3DTheme* theme READ theme WRITE setTheme NOTIFY themeChanged) + Q_PROPERTY(bool clearWindowBeforeRendering READ clearWindowBeforeRendering WRITE setClearWindowBeforeRendering NOTIFY clearWindowBeforeRenderingChanged) + +public: + enum SelectionFlag { + SelectionNone = 0, + SelectionItem = 1, + SelectionRow = 2, + SelectionItemAndRow = SelectionItem | SelectionRow, + SelectionColumn = 4, + SelectionItemAndColumn = SelectionItem | SelectionColumn, + SelectionRowAndColumn = SelectionRow | SelectionColumn, + SelectionItemRowAndColumn = SelectionItem | SelectionRow | SelectionColumn, + SelectionSlice = 8, + SelectionMultiSeries = 16 + }; + Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag) + + enum ShadowQuality { + ShadowQualityNone = 0, + ShadowQualityLow, + ShadowQualityMedium, + ShadowQualityHigh, + ShadowQualitySoftLow, + ShadowQualitySoftMedium, + ShadowQualitySoftHigh + }; public: explicit AbstractDeclarative(QQuickItem *parent = 0); virtual ~AbstractDeclarative(); - virtual Q3DScene *scene() const; + virtual void setSelectionMode(SelectionFlags mode); + virtual AbstractDeclarative::SelectionFlags selectionMode() const; + + virtual void setShadowQuality(ShadowQuality quality); + virtual AbstractDeclarative::ShadowQuality shadowQuality() const; + + virtual Declarative3DScene *scene() const; virtual QAbstract3DInputHandler *inputHandler() const; virtual void setInputHandler(QAbstract3DInputHandler *inputHandler); @@ -61,19 +96,23 @@ public: virtual void setTheme(Q3DTheme *theme); virtual Q3DTheme *theme() const; - virtual void setSelectionMode(QDataVis::SelectionFlags mode); - virtual QDataVis::SelectionFlags selectionMode() const; + Q_INVOKABLE virtual void clearSelection(); - virtual void geometryChanged(const QRectF & newGeometry, const QRectF & oldGeometry); + virtual void setClearWindowBeforeRendering(bool enable); + virtual bool clearWindowBeforeRendering() const; - virtual void setShadowQuality(QDataVis::ShadowQuality quality); - virtual QDataVis::ShadowQuality shadowQuality() const; + virtual void geometryChanged(const QRectF & newGeometry, const QRectF & oldGeometry); void setSharedController(Abstract3DController *controller); // Used to synch up data model from controller to renderer while main thread is locked void synchDataToRenderer(); void render(); +public slots: + virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0; + virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0; + virtual void handleAxisZChanged(QAbstract3DAxis *axis) = 0; + protected: virtual void mouseDoubleClickEvent(QMouseEvent *event); virtual void touchEvent(QTouchEvent *event); @@ -84,21 +123,25 @@ protected: virtual void handleWindowChanged(QQuickWindow *win); virtual void itemChange(ItemChange change, const ItemChangeData &value); virtual void updateWindowParameters(); + virtual void handleSelectionModeChange(QAbstract3DGraph::SelectionFlags mode); + virtual void handleShadowQualityChange(QAbstract3DGraph::ShadowQuality quality); signals: // Signals shadow quality changes. - void shadowQualityChanged(QDataVis::ShadowQuality quality); + void selectionModeChanged(SelectionFlags mode); + void shadowQualityChanged(ShadowQuality quality); + void sceneChanged(Q3DScene *scene); void inputHandlerChanged(QAbstract3DInputHandler *inputHandler); void themeChanged(Q3DTheme *theme); - void selectionModeChanged(QDataVis::SelectionFlags mode); - void itemLabelFormatChanged(QString format); - void sceneChanged(Q3DScene *scene); + void clearWindowBeforeRenderingChanged(bool enable); private: Abstract3DController *m_controller; QRectF m_cachedGeometry; + bool m_clearWindowBeforeRendering; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractDeclarative::SelectionFlags) -QT_DATAVISUALIZATION_END_NAMESPACE +QT_END_NAMESPACE_DATAVISUALIZATION #endif // ABSTRACTDECLARATIVE_P_H |