From 3573055abe42ff283d011d8550bc8495156338a1 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 9 Dec 2013 10:49:49 +0200 Subject: Move series specific visual elements to series, part 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Colors to series - Multiselection labels in bar slices still buggy - Selection in bars doesn't work correctly if not all series have items in that grid Task-number: QTRD-2557 Change-Id: Icd38428e5337a26b8410476104bb1f1f784cdc7f Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qabstract3dseries_p.h | 65 ++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 5 deletions(-) (limited to 'src/datavisualization/data/qabstract3dseries_p.h') diff --git a/src/datavisualization/data/qabstract3dseries_p.h b/src/datavisualization/data/qabstract3dseries_p.h index d37df562..7b2ea2e6 100644 --- a/src/datavisualization/data/qabstract3dseries_p.h +++ b/src/datavisualization/data/qabstract3dseries_p.h @@ -39,16 +39,51 @@ class QAbstractDataProxy; class Abstract3DController; struct QAbstract3DSeriesChangeBitField { - bool itemLabelFormatChanged : 1; - bool meshChanged : 1; - bool meshSmoothChanged : 1; - bool userDefinedMeshChanged : 1; + bool itemLabelFormatChanged : 1; + bool meshChanged : 1; + bool meshSmoothChanged : 1; + bool userDefinedMeshChanged : 1; + bool colorStyleChanged : 1; + bool baseColorChanged : 1; + bool baseGradientChanged : 1; + bool singleHighlightColorChanged : 1; + bool singleHighlightGradientChanged : 1; + bool multiHighlightColorChanged : 1; + bool multiHighlightGradientChanged : 1; QAbstract3DSeriesChangeBitField() : itemLabelFormatChanged(true), meshChanged(true), meshSmoothChanged(true), - userDefinedMeshChanged(true) + userDefinedMeshChanged(true), + colorStyleChanged(true), + baseColorChanged(true), + baseGradientChanged(true), + singleHighlightColorChanged(true), + singleHighlightGradientChanged(true), + multiHighlightColorChanged(true), + multiHighlightGradientChanged(true) + { + } +}; + +struct QAbstract3DSeriesThemeOverrideBitField { + bool colorStyleOverride : 1; + bool baseColorOverride : 1; + bool baseGradientOverride : 1; + bool singleHighlightColorOverride : 1; + bool singleHighlightGradientOverride : 1; + bool multiHighlightColorOverride : 1; + bool multiHighlightGradientOverride : 1; + + QAbstract3DSeriesThemeOverrideBitField() + : colorStyleOverride(false), + baseColorOverride(false), + baseGradientOverride(false), + singleHighlightColorOverride(false), + singleHighlightGradientOverride(false), + multiHighlightColorOverride(false), + multiHighlightGradientOverride(false) { } }; @@ -71,7 +106,18 @@ public: void setMeshSmooth(bool enable); void setUserDefinedMesh(const QString &meshFile); + void setColorStyle(Q3DTheme::ColorStyle style); + void setBaseColor(const QColor &color); + void setBaseGradient(const QLinearGradient &gradient); + void setSingleHighlightColor(const QColor &color); + void setSingleHighlightGradient(const QLinearGradient &gradient); + void setMultiHighlightColor(const QColor &color); + void setMultiHighlightGradient(const QLinearGradient &gradient); + + void resetToTheme(const Q3DTheme &theme, int seriesIndex, bool force); + QAbstract3DSeriesChangeBitField m_changeTracker; + QAbstract3DSeriesThemeOverrideBitField m_themeTracker; QAbstract3DSeries *q_ptr; QAbstract3DSeries::SeriesType m_type; QString m_itemLabelFormat; @@ -81,6 +127,15 @@ public: QAbstract3DSeries::Mesh m_mesh; bool m_meshSmooth; QString m_userDefinedMesh; + + Q3DTheme::ColorStyle m_colorStyle; + QColor m_baseColor; + QLinearGradient m_baseGradient; + QColor m_singleHighlightColor; + QLinearGradient m_singleHighlightGradient; + QColor m_multiHighlightColor; + QLinearGradient m_multiHighlightGradient; + }; QT_DATAVISUALIZATION_END_NAMESPACE -- cgit v1.2.3