summaryrefslogtreecommitdiffstats
path: root/tests/multigraphs
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-20 10:56:59 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-07 08:10:13 +0200
commitaa842c39480aa5b95f704c97b8b3acc821144883 (patch)
tree8a1e90e1fe1d6d85054286e655cb2e1722d758eb /tests/multigraphs
parent91a94a743b4cfd30ef77aa73837050d44620469b (diff)
Fix theme ownership
Theme ownership now uses similar model as axis and inputhandler ownership: Graph can own multiple themes, but only one is active at the time. Task-number: QTRD-2623 Change-Id: I7134384df6f8cc465cc28fbebb454b7d2e254f83 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'tests/multigraphs')
-rw-r--r--tests/multigraphs/data.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/tests/multigraphs/data.cpp b/tests/multigraphs/data.cpp
index 99354caf..177d86b7 100644
--- a/tests/multigraphs/data.cpp
+++ b/tests/multigraphs/data.cpp
@@ -45,15 +45,15 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_started(false)
{
// Initialize surface
- m_surface->setTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
+ m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::black);
gradient.setColorAt(0.33, Qt::blue);
gradient.setColorAt(0.67, Qt::red);
gradient.setColorAt(1.0, Qt::yellow);
m_surface->setSelectionMode(QDataVis::SelectionNone);
- m_surface->theme()->setGridEnabled(false);
- m_surface->theme()->setBackgroundEnabled(false);
+ m_surface->activeTheme()->setGridEnabled(false);
+ m_surface->activeTheme()->setBackgroundEnabled(false);
m_surface->scene()->activeCamera()->setCameraPosition(0.0, 90.0, 150);
QSurface3DSeries *series1 = new QSurface3DSeries(new QHeightMapSurfaceDataProxy());
series1->setFlatShadingEnabled(true);
@@ -63,9 +63,9 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_surface->addSeries(series1);
// Initialize scatter
- m_scatter->setTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
+ m_scatter->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
m_scatter->setSelectionMode(QDataVis::SelectionNone);
- m_scatter->theme()->setGridEnabled(false);
+ m_scatter->activeTheme()->setGridEnabled(false);
m_scatter->setShadowQuality(QDataVis::ShadowQualitySoftLow);
m_scatter->scene()->activeCamera()->setCameraPosition(0.0, 85.0, 150);
QScatter3DSeries *series2 = new QScatter3DSeries;
@@ -73,9 +73,9 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_scatter->addSeries(series2);
// Initialize bars
- m_bars->setTheme(new Q3DTheme(Q3DTheme::ThemeQt));
+ m_bars->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt));
m_bars->setSelectionMode(QDataVis::SelectionItemAndRow | QDataVis::SelectionSlice);
- m_bars->theme()->setGridEnabled(false);
+ m_bars->activeTheme()->setGridEnabled(false);
m_bars->setShadowQuality(QDataVis::ShadowQualityLow);
m_bars->setBarSpacing(QSizeF(0.0, 0.0));
m_bars->scene()->activeCamera()->setCameraPosition(0.0, 75.0, 150);
@@ -185,24 +185,32 @@ void Data::scrollDown()
void Data::useGradientOne()
{
- m_surface->setTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
+ Q3DTheme *currentTheme = m_surface->activeTheme();
+ m_surface->releaseTheme(currentTheme);
+ delete currentTheme;
+ m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::black);
gradient.setColorAt(0.33, Qt::blue);
gradient.setColorAt(0.67, Qt::red);
gradient.setColorAt(1.0, Qt::yellow);
m_surface->seriesList().at(0)->setBaseGradient(gradient);
+ m_surface->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient);
m_statusArea->append(QStringLiteral("<b>Colors:</b> Thermal image imitation"));
}
void Data::useGradientTwo()
{
- m_surface->setTheme(new Q3DTheme(Q3DTheme::ThemeQt));
+ Q3DTheme *currentTheme = m_surface->activeTheme();
+ m_surface->releaseTheme(currentTheme);
+ delete currentTheme;
+ m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt));
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::white);
gradient.setColorAt(0.8, Qt::red);
gradient.setColorAt(1.0, Qt::green);
m_surface->seriesList().at(0)->setBaseGradient(gradient);
+ m_surface->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient);
m_statusArea->append(QStringLiteral("<b>Colors:</b> Highlight foreground"));
}