diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-03-03 13:34:07 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-03-03 13:36:49 +0200 |
commit | 7206dc36f1be77515cf6759795b265c986b2e20b (patch) | |
tree | f67c4bbef6382724c8a361805c5318f786aa7f25 | |
parent | 3347c6537f1c2c6f070a28c1b5d23fa1ceb3a50f (diff) |
Disallow clearing all draw flags
Task-number: QTRD-2907
Change-Id: I89a45971bf67c533ecfe477cd685812c46574dd8
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r-- | examples/datavisualization/qmlsurface/qml/qmlsurface/main.qml | 20 | ||||
-rw-r--r-- | src/datavisualization/data/qsurface3dseries.cpp | 20 |
2 files changed, 32 insertions, 8 deletions
diff --git a/examples/datavisualization/qmlsurface/qml/qmlsurface/main.qml b/examples/datavisualization/qmlsurface/qml/qmlsurface/main.qml index c38c3146..f11d15f3 100644 --- a/examples/datavisualization/qmlsurface/qml/qmlsurface/main.qml +++ b/examples/datavisualization/qmlsurface/qml/qmlsurface/main.qml @@ -97,6 +97,8 @@ Rectangle { onFlatShadingSupportedChanged: { flatShadingToggle.text = "Flat not supported" } + + onDrawModeChanged: checkState() } //! [4] Surface3DSeries { @@ -113,6 +115,8 @@ Rectangle { minXValue: 67 maxXValue: 97 } + + onDrawModeChanged: checkState() } //! [4] } @@ -135,11 +139,9 @@ Rectangle { if (surfaceSeries.drawMode & Surface3DSeries.DrawWireframe) { surfaceSeries.drawMode &= ~Surface3DSeries.DrawWireframe; heightSeries.drawMode &= ~Surface3DSeries.DrawWireframe; - text = "Show Surface Grid" } else { surfaceSeries.drawMode |= Surface3DSeries.DrawWireframe; heightSeries.drawMode |= Surface3DSeries.DrawWireframe; - text = "Hide Surface Grid" } } //! [1] @@ -155,11 +157,9 @@ Rectangle { if (surfaceSeries.drawMode & Surface3DSeries.DrawSurface) { surfaceSeries.drawMode &= ~Surface3DSeries.DrawSurface; heightSeries.drawMode &= ~Surface3DSeries.DrawSurface; - text = "Show Surface" } else { surfaceSeries.drawMode |= Surface3DSeries.DrawSurface; heightSeries.drawMode |= Surface3DSeries.DrawSurface; - text = "Hide Surface" } } //! [8] @@ -242,4 +242,16 @@ Rectangle { //! [3] } } + + function checkState() { + if (surfaceSeries.drawMode & Surface3DSeries.DrawSurface) + surfaceToggle.text = "Hide Surface" + else + surfaceToggle.text = "Show Surface" + + if (surfaceSeries.drawMode & Surface3DSeries.DrawWireframe) + surfaceGridToggle.text = "Hide Surface Grid" + else + surfaceGridToggle.text = "Show Surface Grid" + } } diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp index 9518b0c4..c5ac9fe8 100644 --- a/src/datavisualization/data/qsurface3dseries.cpp +++ b/src/datavisualization/data/qsurface3dseries.cpp @@ -140,6 +140,13 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! + * \qmlproperty DrawFlag Surface3DSeries::drawMode + * + * Sets the drawing \a mode to one of \l{QSurface3DSeries::DrawFlag}{Surface3DSeries.DrawFlag}. + * Clearing all flags is not allowed. + */ + +/*! * \enum QSurface3DSeries::DrawFlag * * Drawing mode of the surface. Values of this enumeration can be combined with OR operator. @@ -283,7 +290,7 @@ bool QSurface3DSeries::isFlatShadingSupported() const /*! * \property QSurface3DSeries::drawMode * - * Sets the drawing \a mode to one of DrawFlag. + * Sets the drawing \a mode to one of DrawFlag. Clearing all flags is not allowed. */ void QSurface3DSeries::setDrawMode(DrawFlags mode) { @@ -389,9 +396,14 @@ void QSurface3DSeriesPrivate::setFlatShadingEnabled(bool enabled) void QSurface3DSeriesPrivate::setDrawMode(QSurface3DSeries::DrawFlags mode) { - m_drawMode = mode; - if (m_controller) - m_controller->markSeriesVisualsDirty(); + if (mode.testFlag(QSurface3DSeries::DrawWireframe) + || mode.testFlag(QSurface3DSeries::DrawSurface)) { + m_drawMode = mode; + if (m_controller) + m_controller->markSeriesVisualsDirty(); + } else { + qWarning("You may not clear all draw flags. Mode not changed."); + } } QT_END_NAMESPACE_DATAVISUALIZATION |