summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 09:31:09 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 09:41:09 +0300
commit1f9a6ca62c282658ae1f76a59e521cd99a280ba5 (patch)
tree5df98ce3e69c50cff863d301fd513410839afb35 /examples
parent11949906fe5d59ebb209e8cf508f5edd0836111e (diff)
Fix crash when resetting axes
Selection label generation didn't account for case where category axes are empty. Change-Id: I3c41f14764f810b52c20c5fc8adce5f9d8dea4d5 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/widget/chart.cpp14
-rw-r--r--examples/widget/chart.h1
-rw-r--r--examples/widget/main.cpp7
3 files changed, 22 insertions, 0 deletions
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
index 957ec8e9..62b35c2e 100644
--- a/examples/widget/chart.cpp
+++ b/examples/widget/chart.cpp
@@ -185,6 +185,20 @@ void ChartModifier::swapAxis()
}
}
+void ChartModifier::releaseAxes()
+{
+ // Releases all axes - results in default axes for all dimensions.
+ // Axes reset when the graph is switched as set*Axis calls are made, which
+ // implicitly add axes.
+ m_chart->releaseAxis(m_autoAdjustingAxis);
+ m_chart->releaseAxis(m_fixedRangeAxis);
+ m_chart->releaseAxis(m_temperatureAxis);
+ m_chart->releaseAxis(m_yearAxis);
+ m_chart->releaseAxis(m_monthAxis);
+ m_chart->releaseAxis(m_genericRowAxis);
+ m_chart->releaseAxis(m_genericColumnAxis);
+}
+
void ChartModifier::resetData()
{
diff --git a/examples/widget/chart.h b/examples/widget/chart.h
index 36766336..a4b6d78d 100644
--- a/examples/widget/chart.h
+++ b/examples/widget/chart.h
@@ -64,6 +64,7 @@ public:
void restart(bool dynamicData);
void selectBar();
void swapAxis();
+ void releaseAxes();
public slots:
void changeShadowQuality(int quality);
diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp
index 84e1565e..628fc453 100644
--- a/examples/widget/main.cpp
+++ b/examples/widget/main.cpp
@@ -102,6 +102,10 @@ int main(int argc, char **argv)
swapAxisButton->setText(QStringLiteral("Swap value axis"));
swapAxisButton->setEnabled(false);
+ QPushButton *releaseAxesButton = new QPushButton(widget);
+ releaseAxesButton->setText(QStringLiteral("Release all axes"));
+ releaseAxesButton->setEnabled(true);
+
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
backgroundCheckBox->setChecked(true);
@@ -201,6 +205,7 @@ int main(int argc, char **argv)
vLayout->addWidget(selectionButton, 0, Qt::AlignTop);
vLayout->addWidget(setSelectedBarButton, 0, Qt::AlignTop);
vLayout->addWidget(swapAxisButton, 0, Qt::AlignTop);
+ vLayout->addWidget(releaseAxesButton, 0, Qt::AlignTop);
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
@@ -261,6 +266,8 @@ int main(int argc, char **argv)
&ChartModifier::selectBar);
QObject::connect(swapAxisButton, &QPushButton::clicked, modifier,
&ChartModifier::swapAxis);
+ QObject::connect(releaseAxesButton, &QPushButton::clicked, modifier,
+ &ChartModifier::releaseAxes);
QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier,
&ChartModifier::changeFont);