summaryrefslogtreecommitdiffstats
path: root/tests/scattertest
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/scattertest
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/scattertest')
-rw-r--r--tests/scattertest/scatterchart.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index b1df526a..10f48465 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -37,10 +37,10 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
m_selectedItem(-1),
m_targetSeries(0)
{
- m_chart->setTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
- QFont font = m_chart->theme()->font();
+ m_chart->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
+ QFont font = m_chart->activeTheme()->font();
font.setPointSize(m_fontSize);
- m_chart->theme()->setFont(font);
+ m_chart->activeTheme()->setFont(font);
m_chart->setShadowQuality(QDataVis::ShadowQualityNone);
m_chart->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetFront);
m_chart->setAxisX(new Q3DValueAxis);
@@ -161,7 +161,10 @@ void ScatterDataModifier::changeTheme()
{
static int theme = Q3DTheme::ThemeQt;
- m_chart->setTheme(new Q3DTheme(Q3DTheme::Theme(theme)));
+ Q3DTheme *currentTheme = m_chart->activeTheme();
+ m_chart->releaseTheme(currentTheme);
+ delete currentTheme;
+ m_chart->setActiveTheme(new Q3DTheme(Q3DTheme::Theme(theme)));
if (++theme > Q3DTheme::ThemeIsabelle)
theme = Q3DTheme::ThemeQt;
@@ -169,22 +172,22 @@ void ScatterDataModifier::changeTheme()
void ScatterDataModifier::changeLabelStyle()
{
- m_chart->theme()->setLabelBackgroundEnabled(!m_chart->theme()->isLabelBackgroundEnabled());
+ m_chart->activeTheme()->setLabelBackgroundEnabled(!m_chart->activeTheme()->isLabelBackgroundEnabled());
}
void ScatterDataModifier::changeFont(const QFont &font)
{
QFont newFont = font;
newFont.setPointSizeF(m_fontSize);
- m_chart->theme()->setFont(newFont);
+ m_chart->activeTheme()->setFont(newFont);
}
void ScatterDataModifier::changeFontSize(int fontSize)
{
m_fontSize = fontSize;
- QFont font = m_chart->theme()->font();
+ QFont font = m_chart->activeTheme()->font();
font.setPointSize(m_fontSize);
- m_chart->theme()->setFont(font);
+ m_chart->activeTheme()->setFont(font);
}
void ScatterDataModifier::changePointSize(int pointSize)
@@ -470,12 +473,12 @@ void ScatterDataModifier::changeShadowQuality(int quality)
void ScatterDataModifier::setBackgroundEnabled(int enabled)
{
- m_chart->theme()->setBackgroundEnabled((bool)enabled);
+ m_chart->activeTheme()->setBackgroundEnabled((bool)enabled);
}
void ScatterDataModifier::setGridEnabled(int enabled)
{
- m_chart->theme()->setGridEnabled((bool)enabled);
+ m_chart->activeTheme()->setGridEnabled((bool)enabled);
}
QVector3D ScatterDataModifier::randVector()