diff options
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 13 | ||||
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller_p.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 500ce9dc..fb732139 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -446,6 +446,19 @@ void Abstract3DController::handleThemeMultiHighlightGradientChanged(const QLinea markSeriesVisualsDirty(); } +void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme) +{ + Q_UNUSED(theme) + + // Changing theme type is logically equivalent of changing the entire theme + // object, so reset all attached series to the new theme. + + Q3DTheme *activeTheme = m_themeManager->activeTheme(); + for (int i = 0; i < m_seriesList.size(); i++) + m_seriesList.at(i)->d_ptr->resetToTheme(*activeTheme, i, true); + markSeriesVisualsDirty(); +} + void Abstract3DController::setAxisX(Q3DAbstractAxis *axis) { setAxisHelper(Q3DAbstractAxis::AxisOrientationX, axis, &m_axisX); diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index a862a961..66c61a53 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -249,6 +249,7 @@ public slots: void handleThemeSingleHighlightGradientChanged(const QLinearGradient &gradient); void handleThemeMultiHighlightColorChanged(const QColor &color); void handleThemeMultiHighlightGradientChanged(const QLinearGradient &gradient); + void handleThemeTypeChanged(Q3DTheme::Theme theme); // Renderer callback handlers void handleRequestShadowQuality(QDataVis::ShadowQuality quality); |