From 7206dc36f1be77515cf6759795b265c986b2e20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 3 Mar 2014 13:34:07 +0200 Subject: Disallow clearing all draw flags Task-number: QTRD-2907 Change-Id: I89a45971bf67c533ecfe477cd685812c46574dd8 Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qsurface3dseries.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src') 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 @@ -139,6 +139,13 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION * Before then it is always true. */ +/*! + * \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 * @@ -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 -- cgit v1.2.3