From 36417dd3660f75c34328c3420bdd512436da86ff Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 25 Jun 2014 13:00:55 +0300 Subject: Add flipHorizontalGrid property for surface This property allows drawind the horizontal grid and axis labels on top of the graph rather than on the bottom. This is useful when surface graph is used for 2D spectrograms in orthographic mode, as otherwise the grid is covered by the surface itself. Particularly relevant for polar plots of the same. Task-number: QTRD-3184 Change-Id: I9dbcdbfc754e13af52d2cf31a1d9991ef4b241f7 Reviewed-by: Mika Salmela --- src/datavisualizationqml2/datavisualizationqml2_plugin.cpp | 1 + src/datavisualizationqml2/declarativesurface.cpp | 12 ++++++++++++ src/datavisualizationqml2/declarativesurface_p.h | 4 ++++ 3 files changed, 17 insertions(+) (limited to 'src/datavisualizationqml2') diff --git a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp index c4c0bc70..6e6d9b1c 100644 --- a/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp +++ b/src/datavisualizationqml2/datavisualizationqml2_plugin.cpp @@ -112,6 +112,7 @@ void QtDataVisualizationQml2Plugin::registerTypes(const char *uri) // New revisions qmlRegisterUncreatableType(uri, 1, 2, "AbstractGraph3D", QLatin1String("Trying to create uncreatable: AbstractGraph3D.")); + qmlRegisterType(uri, 1, 2, "Surface3D"); } QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp index 3075d207..ec520459 100644 --- a/src/datavisualizationqml2/declarativesurface.cpp +++ b/src/datavisualizationqml2/declarativesurface.cpp @@ -32,6 +32,8 @@ DeclarativeSurface::DeclarativeSurface(QQuickItem *parent) QObject::connect(m_surfaceController, &Surface3DController::selectedSeriesChanged, this, &DeclarativeSurface::selectedSeriesChanged); + QObject::connect(m_surfaceController, &Surface3DController::flipHorizontalGridChanged, + this, &DeclarativeSurface::flipHorizontalGridChanged); } DeclarativeSurface::~DeclarativeSurface() @@ -74,6 +76,16 @@ QSurface3DSeries *DeclarativeSurface::selectedSeries() const return m_surfaceController->selectedSeries(); } +void DeclarativeSurface::setFlipHorizontalGrid(bool flip) +{ + m_surfaceController->setFlipHorizontalGrid(flip); +} + +bool DeclarativeSurface::flipHorizontalGrid() const +{ + return m_surfaceController->flipHorizontalGrid(); +} + QQmlListProperty DeclarativeSurface::seriesList() { return QQmlListProperty(this, this, diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h index 6fe800ba..ff6e4d70 100644 --- a/src/datavisualizationqml2/declarativesurface_p.h +++ b/src/datavisualizationqml2/declarativesurface_p.h @@ -44,6 +44,7 @@ class DeclarativeSurface : public AbstractDeclarative Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged) Q_PROPERTY(QSurface3DSeries *selectedSeries READ selectedSeries NOTIFY selectedSeriesChanged) Q_PROPERTY(QQmlListProperty seriesList READ seriesList) + Q_PROPERTY(bool flipHorizontalGrid READ flipHorizontalGrid WRITE setFlipHorizontalGrid NOTIFY flipHorizontalGridChanged REVISION 1) Q_CLASSINFO("DefaultProperty", "seriesList") public: @@ -66,6 +67,8 @@ public: Q_INVOKABLE void removeSeries(QSurface3DSeries *series); QSurface3DSeries *selectedSeries() const; + void setFlipHorizontalGrid(bool flip); + bool flipHorizontalGrid() const; public slots: void handleAxisXChanged(QAbstract3DAxis *axis); @@ -77,6 +80,7 @@ signals: void axisYChanged(QValue3DAxis *axis); void axisZChanged(QValue3DAxis *axis); void selectedSeriesChanged(QSurface3DSeries *series); + Q_REVISION(1) void flipHorizontalGridChanged(bool flip); private: Surface3DController *m_surfaceController; -- cgit v1.2.3