summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-28 14:55:50 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-29 08:24:43 +0300
commit89007c36f04fb965167501a0d473451976548da3 (patch)
tree7289354f1ed9b63ec14d78cd6664dd0d0bbba8af /examples
parent5bbd3b72540fd24ecb4538627e01bffe3d03acc6 (diff)
Make axes ownership more useful
Chart can now own multiple axes while showing only one. Default axes are no longer modifiable by users. Task-number: QTRD-2212 Change-Id: I028f0d7539dbbf6e3474680290c7ec6bba5a4223 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/barchart/main.cpp3
-rw-r--r--examples/qmlbarchart/qml/qmlbarchart/main.qml26
-rw-r--r--examples/rainfall/rainfallchart.cpp3
-rw-r--r--examples/scatterchart/scatterchart.cpp15
-rw-r--r--examples/spectrum/spectrumapp/main.cpp1
-rw-r--r--examples/surfacechart/chartmodifier.cpp14
-rw-r--r--examples/widget/chart.cpp182
-rw-r--r--examples/widget/chart.h15
-rw-r--r--examples/widget/main.cpp9
9 files changed, 175 insertions, 93 deletions
diff --git a/examples/barchart/main.cpp b/examples/barchart/main.cpp
index 673ed05e..c51aa12f 100644
--- a/examples/barchart/main.cpp
+++ b/examples/barchart/main.cpp
@@ -70,6 +70,9 @@ ChartDataGenerator::ChartDataGenerator(Q3DBars *barchart, QTableWidget *tableWid
m_rowCount(50),
m_tableWidget(tableWidget)
{
+ m_chart->setRowAxis(new QCategoryAxis);
+ m_chart->setColumnAxis(new QCategoryAxis);
+ m_chart->setValueAxis(new QValueAxis);
// Set up bar specifications; make the bars as wide as they are deep,
// and add a small space between the bars
m_chart->setBarSpecs(1.0, QSizeF(0.2, 0.2));
diff --git a/examples/qmlbarchart/qml/qmlbarchart/main.qml b/examples/qmlbarchart/qml/qmlbarchart/main.qml
index 887cb3d7..01eafcad 100644
--- a/examples/qmlbarchart/qml/qmlbarchart/main.qml
+++ b/examples/qmlbarchart/qml/qmlbarchart/main.qml
@@ -101,12 +101,20 @@ Item {
"July", "August", "September", "October", "November", "December"]
}
ValueAxis {
- id: valueAxis
+ id: incomeAxis
min: 0
max: 35
- labelFormat: "%.1f M\u20AC"
- title: "Annual expenses"
+ labelFormat: "%.2f M\u20AC"
+ title: "Monthly income"
}
+ ValueAxis {
+ id: expensesAxis
+ min: 0
+ max: 35
+ labelFormat: "-%.2f M\u20AC"
+ title: "Monthly expenses"
+ }
+
Bars3D {
id: testchart
width: dataView.width
@@ -122,14 +130,14 @@ Item {
barSpacing: Qt.size(0.5, 0.5)
barSpacingRelative: false
barType: Bars3D.BevelBars
- axisX: rowAxis
- axisY: valueAxis
- axisZ: columnAxis
+ rowAxis: rowAxis
+ columnAxis: columnAxis
+ valueAxis: expensesAxis
itemLabelFormat: "@valueTitle for @colLabel, @rowLabel: @valueLabel"
onDataResolved: {
// Can't select a bar until data has been resolved from model to proxy
- selectedBarPos = Qt.point(0, 5)
+ //selectedBarPos = Qt.point(0, 5)
}
}
@@ -204,11 +212,11 @@ Item {
if (valueMapping.valueRole == "expenses") {
valueMapping.valueRole = "income"
mappingButtonText.text = "Show Expenses"
- valueAxis.title = "Annual income"
+ testchart.valueAxis = incomeAxis
} else {
valueMapping.valueRole = "expenses"
mappingButtonText.text = "Show Income"
- valueAxis.title = "Annual expenses"
+ testchart.valueAxis = expensesAxis
}
}
}
diff --git a/examples/rainfall/rainfallchart.cpp b/examples/rainfall/rainfallchart.cpp
index ce670546..5b0d5dd9 100644
--- a/examples/rainfall/rainfallchart.cpp
+++ b/examples/rainfall/rainfallchart.cpp
@@ -51,6 +51,9 @@ RainfallChart::RainfallChart(Q3DBars *rainfall)
// Set axis labels and titles
QStringList months;
months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December";
+ m_chart->setRowAxis(new QCategoryAxis);
+ m_chart->setColumnAxis(new QCategoryAxis);
+ m_chart->setValueAxis(new QValueAxis);
m_chart->rowAxis()->setTitle("Year");
m_chart->columnAxis()->setTitle("Month");
m_chart->valueAxis()->setTitle(QString("rainfall in city %1").arg(m_city - 1));
diff --git a/examples/scatterchart/scatterchart.cpp b/examples/scatterchart/scatterchart.cpp
index 7af80b85..3379de50 100644
--- a/examples/scatterchart/scatterchart.cpp
+++ b/examples/scatterchart/scatterchart.cpp
@@ -38,6 +38,9 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
m_chart->setTheme(QDataVis::ThemeBrownSand);
m_chart->setShadowQuality(QDataVis::ShadowHigh);
m_chart->setCameraPreset(QDataVis::PresetFront);
+ m_chart->setAxisX(new QValueAxis);
+ m_chart->setAxisY(new QValueAxis);
+ m_chart->setAxisZ(new QValueAxis);
QScatterDataProxy *proxy = new QScatterDataProxy;
proxy->setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel");
@@ -59,12 +62,12 @@ void ScatterDataModifier::start()
void ScatterDataModifier::addData()
{
// Add labels
- m_chart->valueAxisX()->setTitle("X");
- m_chart->valueAxisY()->setTitle("Y");
- m_chart->valueAxisZ()->setTitle("Z");
- m_chart->valueAxisX()->setRange(-50.0, 50.0);
- m_chart->valueAxisY()->setRange(-1.0, 1.0);
- m_chart->valueAxisZ()->setRange(-50.0, 50.0);
+ m_chart->axisX()->setTitle("X");
+ m_chart->axisY()->setTitle("Y");
+ m_chart->axisZ()->setTitle("Z");
+ m_chart->axisX()->setRange(-50.0, 50.0);
+ m_chart->axisY()->setRange(-1.0, 1.0);
+ m_chart->axisZ()->setRange(-50.0, 50.0);
QScatterDataArray *dataArray = new QScatterDataArray;
dataArray->resize(numberOfItems);
diff --git a/examples/spectrum/spectrumapp/main.cpp b/examples/spectrum/spectrumapp/main.cpp
index 0b17d064..e5994b20 100644
--- a/examples/spectrum/spectrumapp/main.cpp
+++ b/examples/spectrum/spectrumapp/main.cpp
@@ -71,6 +71,7 @@ MainApp::MainApp(Q3DBars *window)
m_chart->setGridVisible(false);
// Disable auto-scaling of height by defining explicit range
// By setting count to 0 we avoid getting any grid
+ m_chart->setValueAxis(new QValueAxis);
m_chart->valueAxis()->setSegmentCount(0);
m_chart->valueAxis()->setRange(0.0, 1.0);
// Disable shadows
diff --git a/examples/surfacechart/chartmodifier.cpp b/examples/surfacechart/chartmodifier.cpp
index 03f55dc9..0b4fb98d 100644
--- a/examples/surfacechart/chartmodifier.cpp
+++ b/examples/surfacechart/chartmodifier.cpp
@@ -17,7 +17,6 @@
****************************************************************************/
#include "chartmodifier.h"
-#include <QCategoryAxis>
#include <QValueAxis>
#include <qmath.h>
@@ -31,6 +30,9 @@ ChartModifier::ChartModifier(Q3DSurface *chart)
m_xCount(10),
m_zCount(10)
{
+ m_chart->setAxisX(new QValueAxis);
+ m_chart->setAxisY(new QValueAxis);
+ m_chart->setAxisZ(new QValueAxis);
}
ChartModifier::~ChartModifier()
@@ -75,7 +77,7 @@ void ChartModifier::toggleSqrtSin(bool enable)
m_chart->setSegmentCount(4, 0.5f); // Going to be obsolete
m_chart->appendSeries(series, m_xCount, m_zCount);
- m_chart->valueAxisZ()->setSegmentCount(7);
+ m_chart->axisZ()->setSegmentCount(7);
qDebug() << "biggest = " << biggest << ", smallest = " << smallest;
} else {
@@ -98,10 +100,10 @@ void ChartModifier::togglePlane(bool enable)
m_chart->setSegmentCount(4, 0.5f);
m_chart->appendSeries(series, m_xCount, m_zCount);
- m_chart->valueAxisX()->setSegmentCount(m_xCount - 1);
- m_chart->valueAxisY()->setSegmentCount(4);
- m_chart->valueAxisY()->setRange(0.0, 2.0);
- m_chart->valueAxisZ()->setSegmentCount(m_zCount - 1);
+ m_chart->axisX()->setSegmentCount(m_xCount - 1);
+ m_chart->axisY()->setSegmentCount(4);
+ m_chart->axisY()->setRange(0.0, 2.0);
+ m_chart->axisZ()->setSegmentCount(m_zCount - 1);
}
}
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
index 32985ada..957ec8e9 100644
--- a/examples/widget/chart.cpp
+++ b/examples/widget/chart.cpp
@@ -41,22 +41,75 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_subSegments(3),
m_minval(-20.0), // TODO Barchart Y-axis currently only properly supports zero-centered ranges
m_maxval(20.0),
- m_selectedBarPos(-1, -1)
+ m_selectedBarPos(-1, -1),
+ m_autoAdjustingAxis(new QValueAxis),
+ m_fixedRangeAxis(new QValueAxis),
+ m_temperatureAxis(new QValueAxis),
+ m_yearAxis(new QCategoryAxis),
+ m_monthAxis(new QCategoryAxis),
+ m_genericRowAxis(new QCategoryAxis),
+ m_genericColumnAxis(new QCategoryAxis)
{
// Don't set any styles or specifications, start from defaults
// Generate generic labels
+ QStringList genericRowLabels;
+ QStringList genericColumnLabels;
for (int i = 0; i < 200; i++) {
if (i % 5)
- m_genericRowLabels << QString();
+ genericRowLabels << QString();
else
- m_genericRowLabels << QStringLiteral("Row %1").arg(i);
+ genericRowLabels << QStringLiteral("Row %1").arg(i);
}
for (int i = 0; i < 200; i++) {
if (i % 5)
- m_genericColumnLabels << QString();
+ genericColumnLabels << QString();
else
- m_genericColumnLabels << QStringLiteral("Column %1").arg(i);
+ genericColumnLabels << QStringLiteral("Column %1").arg(i);
}
+
+ m_months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December";
+ m_years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012";
+
+ QString labelFormat(QStringLiteral("%.3f"));
+ QString axisTitle("Generic Value");
+
+ m_autoAdjustingAxis->setLabelFormat(labelFormat);
+ m_autoAdjustingAxis->setTitle(axisTitle);
+ m_autoAdjustingAxis->setSegmentCount(m_segments * 2);
+ m_autoAdjustingAxis->setSubSegmentCount(1);
+ m_autoAdjustingAxis->setAutoAdjustRange(true);
+
+ m_fixedRangeAxis->setLabelFormat(labelFormat);
+ m_fixedRangeAxis->setTitle(axisTitle);
+ m_fixedRangeAxis->setSegmentCount(m_segments);
+ m_fixedRangeAxis->setSubSegmentCount(m_subSegments);
+ m_fixedRangeAxis->setRange(0.0, 100.0);
+
+ m_genericRowAxis->setTitle("Generic Row");
+ m_genericRowAxis->setCategoryLabels(genericRowLabels);
+
+ m_genericColumnAxis->setTitle("Generic Column");
+ m_genericColumnAxis->setCategoryLabels(genericColumnLabels);
+
+ m_temperatureAxis->setTitle("Average temperature");
+ m_temperatureAxis->setSegmentCount(m_segments);
+ m_temperatureAxis->setSubSegmentCount(m_subSegments);
+ m_temperatureAxis->setRange(m_minval, m_maxval);
+ m_temperatureAxis->setLabelFormat(QString(QStringLiteral("%d ") + celsiusString));
+
+ m_yearAxis->setTitle("Year");
+ m_yearAxis->setCategoryLabels(m_years);
+
+ m_monthAxis->setTitle("Month");
+ m_monthAxis->setCategoryLabels(m_months);
+
+ m_chart->addAxis(m_autoAdjustingAxis);
+ m_chart->addAxis(m_fixedRangeAxis);
+ m_chart->addAxis(m_temperatureAxis);
+ m_chart->addAxis(m_yearAxis);
+ m_chart->addAxis(m_monthAxis);
+ m_chart->addAxis(m_genericRowAxis);
+ m_chart->addAxis(m_genericColumnAxis);
}
ChartModifier::~ChartModifier()
@@ -66,8 +119,9 @@ ChartModifier::~ChartModifier()
void ChartModifier::start()
{
- if (m_static)
- addDataSet();
+ m_chart->setFont(QFont("Times Roman", 20));
+
+ restart(false);
}
void ChartModifier::restart(bool dynamicData)
@@ -75,31 +129,32 @@ void ChartModifier::restart(bool dynamicData)
m_static = !dynamicData;
if (m_static) {
- start();
- // Set selection mode to zoom row
- m_chart->setSelectionMode(QDataVis::ModeSliceRow);
- m_chart->setFont(QFont("Times Roman", 20));
+ resetData();
+
+ m_chart->setTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)"));
+
+ m_chart->setValueAxis(m_temperatureAxis);
+ m_chart->setRowAxis(m_yearAxis);
+ m_chart->setColumnAxis(m_monthAxis);
+
+ m_chart->setDataWindow(m_years.size(), m_months.size());
+ m_chart->setSelectionMode(QDataVis::ModeItem);
+ m_chart->dataProxy()->setItemLabelFormat(QStringLiteral("@valueTitle for @colLabel @rowLabel: @valueLabel"));
+
} else {
+
m_chart->dataProxy()->resetArray(0);
- m_chart->dataProxy()->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowIdx, @colIdx): @valueLabel"));
- // Set up sample space
+
+ m_chart->setTitle(QStringLiteral("Generic data"));
+
+ m_chart->setValueAxis(m_fixedRangeAxis);
+ m_chart->setRowAxis(m_genericRowAxis);
+ m_chart->setColumnAxis(m_genericColumnAxis);
+
m_chart->setDataWindow(m_rowCount, m_columnCount);
- // Set selection mode to full
- m_chart->setSelectionMode(QDataVis::ModeSliceRow);
- m_chart->valueAxis()->setSegmentCount(m_segments * 2);
- m_chart->valueAxis()->setSubSegmentCount(1);
- m_chart->valueAxis()->setAutoAdjustRange(true);
- m_chart->valueAxis()->setLabelFormat(QString(QStringLiteral("%.3f")));
-
- m_chart->rowAxis()->setTitle("Generic Row");
- m_chart->columnAxis()->setTitle("Generic Column");
- m_chart->valueAxis()->setTitle("Generic Value");
-
- if (m_chart->rowAxis()->labels().size() < m_rowCount)
- m_chart->rowAxis()->setCategoryLabels(m_genericRowLabels.mid(0, m_rowCount));
-
- if (m_chart->columnAxis()->labels().size() < m_rowCount)
- m_chart->columnAxis()->setCategoryLabels(m_genericColumnLabels.mid(0, m_columnCount));
+ m_chart->setSelectionMode(QDataVis::ModeItem);
+ m_chart->dataProxy()->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowIdx, @colIdx): @valueLabel"));
+
}
}
@@ -113,53 +168,49 @@ void ChartModifier::selectBar()
m_chart->setSelectedBarPos(noSelection);
}
-void ChartModifier::addDataSet()
+void ChartModifier::swapAxis()
{
- // Prepare data to be visualized
- // Use QDataSet adder
+ static int counter = 0;
+ int state = ++counter % 3;
- // Set window title
- m_chart->setTitle(QStringLiteral("Average temperatures in Oulu, Finland (2006-2012)"));
+ if (state == 0) {
+ m_chart->setValueAxis(m_fixedRangeAxis);
+ qDebug() << "Fixed range axis";
+ } else if (state == 1) {
+ m_chart->setValueAxis(m_autoAdjustingAxis);
+ qDebug() << "Automatic range axis";
+ } else {
+ m_chart->setValueAxis(0);
+ qDebug() << "default axis";
+ }
+}
- // Set up row and column names
- QStringList months;
- months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December";
- QStringList years;
- years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012";
+void ChartModifier::resetData()
+{
// Set up data
- float temp[7][12] = {{-6.7f, -11.7f, -9.7f, 3.3f, 9.2f, 14.0f, 16.3f, 17.8f, 10.2f, 2.1f, -2.6f, -0.3f}, // 2006
- {-6.8f, -13.3f, 0.2f, 1.5f, 7.9f, 13.4f, 16.1f, 15.5f, 8.2f, 5.4f, -2.6f, -0.8f}, // 2007
- {-4.2f, -4.0f, -4.6f, 1.9f, 7.3f, 12.5f, 15.0f, 12.8f, 7.6f, 5.1f, -0.9f, -1.3f}, // 2008
- {-7.8f, -8.8f, -4.2f, 0.7f, 9.3f, 13.2f, 15.8f, 15.5f, 11.2f, 0.6f, 0.7f, -8.4f}, // 2009
- {-14.4f, -12.1f, -7.0f, 2.3f, 11.0f, 12.6f, 18.8f, 13.8f, 9.4f, 3.9f, -5.6f, -13.0f}, // 2010
- {-9.0f, -15.2f, -3.8f, 2.6f, 8.3f, 15.9f, 18.6f, 14.9f, 11.1f, 5.3f, 1.8f, -0.2f}, // 2011
- {-8.7f, -11.3f, -2.3f, 0.4f, 7.5f, 12.2f, 16.4f, 14.1f, 9.2f, 3.1f, 0.3f, -12.1f}}; // 2012
+ static const float temp[7][12] = {
+ {-6.7f, -11.7f, -9.7f, 3.3f, 9.2f, 14.0f, 16.3f, 17.8f, 10.2f, 2.1f, -2.6f, -0.3f}, // 2006
+ {-6.8f, -13.3f, 0.2f, 1.5f, 7.9f, 13.4f, 16.1f, 15.5f, 8.2f, 5.4f, -2.6f, -0.8f}, // 2007
+ {-4.2f, -4.0f, -4.6f, 1.9f, 7.3f, 12.5f, 15.0f, 12.8f, 7.6f, 5.1f, -0.9f, -1.3f}, // 2008
+ {-7.8f, -8.8f, -4.2f, 0.7f, 9.3f, 13.2f, 15.8f, 15.5f, 11.2f, 0.6f, 0.7f, -8.4f}, // 2009
+ {-14.4f, -12.1f, -7.0f, 2.3f, 11.0f, 12.6f, 18.8f, 13.8f, 9.4f, 3.9f, -5.6f, -13.0f}, // 2010
+ {-9.0f, -15.2f, -3.8f, 2.6f, 8.3f, 15.9f, 18.6f, 14.9f, 11.1f, 5.3f, 1.8f, -0.2f}, // 2011
+ {-8.7f, -11.3f, -2.3f, 0.4f, 7.5f, 12.2f, 16.4f, 14.1f, 9.2f, 3.1f, 0.3f, -12.1f} // 2012
+ };
// Use default data proxy to feed data directly in expected format
QBarDataProxy *proxy = m_chart->dataProxy();
- // Add labels
- m_chart->rowAxis()->setTitle("Year");
- m_chart->columnAxis()->setTitle("Month");
- m_chart->valueAxis()->setTitle("Average temperature");
- m_chart->rowAxis()->setCategoryLabels(years);
- m_chart->columnAxis()->setCategoryLabels(months);
- m_chart->valueAxis()->setSegmentCount(m_segments);
- m_chart->valueAxis()->setSubSegmentCount(m_subSegments);
- m_chart->valueAxis()->setRange(m_minval, m_maxval);
- m_chart->valueAxis()->setLabelFormat(QString(QStringLiteral("%d ") + celsiusString));
- m_chart->setSelectionMode(QDataVis::ModeSliceRow);
-
// Create data rows
QBarDataArray *dataSet = new QBarDataArray;
QBarDataRow *dataRow;
- dataSet->reserve(years.size());
- for (int year = 0; year < years.size(); year++) {
- dataRow = new QBarDataRow(months.size());
+ dataSet->reserve(m_years.size());
+ for (int year = 0; year < m_years.size(); year++) {
+ dataRow = new QBarDataRow(m_months.size());
// Create data items
- for (int month = 0; month < months.size(); month++) {
+ for (int month = 0; month < m_months.size(); month++) {
// Add data to rows
(*dataRow)[month].setValue(temp[year][month]);
}
@@ -167,12 +218,9 @@ void ChartModifier::addDataSet()
dataSet->append(dataRow);
}
- // Set up sample space based on prepared data
- m_chart->setDataWindow(years.size(), months.size());
// Add data to chart (chart assumes ownership)
proxy->resetArray(dataSet);
- proxy->setItemLabelFormat(QStringLiteral("@valueTitle for @colLabel @rowLabel: @valueLabel"));
}
void ChartModifier::addRow()
@@ -446,14 +494,10 @@ void ChartModifier::setSampleCountX(int samples)
{
m_columnCount = samples;
m_chart->setDataWindow(m_rowCount, m_columnCount);
- if (m_chart->columnAxis()->labels().size() < m_columnCount)
- m_chart->columnAxis()->setCategoryLabels(m_genericColumnLabels.mid(0, m_columnCount));
}
void ChartModifier::setSampleCountZ(int samples)
{
m_rowCount = samples;
m_chart->setDataWindow(m_rowCount, m_columnCount);
- if (m_chart->rowAxis()->labels().size() < m_rowCount)
- m_chart->rowAxis()->setCategoryLabels(m_genericRowLabels.mid(0, m_rowCount));
}
diff --git a/examples/widget/chart.h b/examples/widget/chart.h
index c8b14246..36766336 100644
--- a/examples/widget/chart.h
+++ b/examples/widget/chart.h
@@ -24,6 +24,7 @@
#include <QFont>
#include <QDebug>
#include <QStringList>
+#include <QPointer>
using namespace QtDataVis3D;
@@ -34,7 +35,7 @@ public:
explicit ChartModifier(Q3DBars *barchart);
~ChartModifier();
- void addDataSet();
+ void resetData();
void addRow();
void addRows();
void changeItem();
@@ -62,6 +63,7 @@ public:
void start();
void restart(bool dynamicData);
void selectBar();
+ void swapAxis();
public slots:
void changeShadowQuality(int quality);
@@ -86,9 +88,16 @@ private:
int m_subSegments;
qreal m_minval;
qreal m_maxval;
- QStringList m_genericRowLabels;
- QStringList m_genericColumnLabels;
+ QStringList m_months;
+ QStringList m_years;
QPoint m_selectedBarPos;
+ QValueAxis *m_autoAdjustingAxis;
+ QValueAxis *m_fixedRangeAxis;
+ QValueAxis *m_temperatureAxis;
+ QCategoryAxis *m_yearAxis;
+ QCategoryAxis *m_monthAxis;
+ QCategoryAxis *m_genericRowAxis;
+ QCategoryAxis *m_genericColumnAxis;
};
#endif
diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp
index 3c0e44cf..84e1565e 100644
--- a/examples/widget/main.cpp
+++ b/examples/widget/main.cpp
@@ -98,6 +98,10 @@ int main(int argc, char **argv)
QPushButton *setSelectedBarButton = new QPushButton(widget);
setSelectedBarButton->setText(QStringLiteral("Select/deselect bar at (5,5)"));
+ QPushButton *swapAxisButton = new QPushButton(widget);
+ swapAxisButton->setText(QStringLiteral("Swap value axis"));
+ swapAxisButton->setEnabled(false);
+
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
backgroundCheckBox->setChecked(true);
@@ -196,6 +200,7 @@ int main(int argc, char **argv)
vLayout->addWidget(cameraButton, 0, Qt::AlignTop);
vLayout->addWidget(selectionButton, 0, Qt::AlignTop);
vLayout->addWidget(setSelectedBarButton, 0, Qt::AlignTop);
+ vLayout->addWidget(swapAxisButton, 0, Qt::AlignTop);
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
@@ -254,6 +259,8 @@ int main(int argc, char **argv)
&ChartModifier::changeSelectionMode);
QObject::connect(setSelectedBarButton, &QPushButton::clicked, modifier,
&ChartModifier::selectBar);
+ QObject::connect(swapAxisButton, &QPushButton::clicked, modifier,
+ &ChartModifier::swapAxis);
QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier,
&ChartModifier::changeFont);
@@ -290,6 +297,8 @@ int main(int argc, char **argv)
&QSlider::setEnabled);
QObject::connect(staticCheckBox, &QCheckBox::stateChanged, sampleSliderZ,
&QSlider::setEnabled);
+ QObject::connect(staticCheckBox, &QCheckBox::stateChanged, swapAxisButton,
+ &QSlider::setEnabled);
QObject::connect(staticCheckBox, &QCheckBox::stateChanged, modifier, &ChartModifier::restart);
modifier->start();