summaryrefslogtreecommitdiffstats
path: root/examples/widget
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-07 14:52:28 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-08 08:21:37 +0300
commitebee290095f9a32dbcf5956e9fed50d2610cbfe1 (patch)
treec9260232aa82517c12bbcd94ef3d004b29860959 /examples/widget
parentb3e10fcc8403bc1a0d9d4c107b52eb10af0ecffa (diff)
Tickcount and both automatic and explicit range setting via axes
- Tick count moved to QValueAxis. - QValueAxis adjusts range to data by default on barcharts. - QValueaxis explicit range setting now works for barchart. Change-Id: I2c0afcab34b74a848144fda41d9135dcdb510354 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples/widget')
-rw-r--r--examples/widget/chart.cpp18
-rw-r--r--examples/widget/chart.h4
2 files changed, 9 insertions, 13 deletions
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
index f34e6835..1a8d6c5d 100644
--- a/examples/widget/chart.cpp
+++ b/examples/widget/chart.cpp
@@ -60,9 +60,9 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_barSpacingX(0.1f),
m_barSpacingZ(0.1f),
m_fontSize(20),
- m_ticks(20),
- m_tickStep(1),
- m_minval(-15.2f)
+ m_ticks(10),
+ m_minval(-20.0), // TODO Barchart Y-axis currently only properly supports zero-centered ranges
+ m_maxval(20.0)
{
// Don't set any styles or specifications, start from defaults
// Generate generic labels
@@ -100,15 +100,14 @@ void ChartModifier::restart(bool dynamicData)
// Set selection mode to zoom row
m_chart->setSelectionMode(ModeZoomRow);
m_chart->setFont(QFont("Times Roman", 20));
- m_chart->setTickCount(m_ticks, m_tickStep, m_minval);
} else {
m_chart->dataProxy()->resetArray(0);
// Set up sample space
m_chart->setupSampleSpace(m_rowCount, m_columnCount);
// Set selection mode to full
m_chart->setSelectionMode(ModeBarRowAndColumn);
- // Reset tick count to default
- m_chart->setTickCount(0, 0);
+ m_chart->valueAxis()->setTickCount(m_ticks * 2);
+ m_chart->valueAxis()->setAutoAdjustRange(true);
m_chart->rowAxis()->setTitle("Generic Row");
m_chart->columnAxis()->setTitle("Generic Column");
@@ -155,6 +154,8 @@ void ChartModifier::addDataSet()
m_chart->valueAxis()->setTitle("Average temperature (" + celsiusString + ")");
m_chart->rowAxis()->setLabels(years);
m_chart->columnAxis()->setLabels(months);
+ m_chart->valueAxis()->setTickCount(m_ticks);
+ m_chart->valueAxis()->setRange(m_minval, m_maxval);
// Create data rows
QBarDataArray *dataSet = new QBarDataArray;
@@ -172,11 +173,6 @@ void ChartModifier::addDataSet()
dataSet->append(dataRow);
}
- // Set tick count (4 steps of 5 degrees, with absolute minimum of -16C, even though we don't have quite that low temperatures in the data)
- //m_chart->setTickCount(4, 5, -16.0f);
- // ..or 20 steps of 1 degree, with absolute minimum of -15.2C
- m_chart->setTickCount(m_ticks, m_tickStep, m_minval);
-
// Set up sample space based on prepared data
m_chart->setupSampleSpace(years.size(), months.size());
diff --git a/examples/widget/chart.h b/examples/widget/chart.h
index 8b7aaa39..3c759d27 100644
--- a/examples/widget/chart.h
+++ b/examples/widget/chart.h
@@ -99,8 +99,8 @@ private:
float m_barSpacingZ;
int m_fontSize;
int m_ticks;
- float m_tickStep;
- float m_minval;
+ qreal m_minval;
+ qreal m_maxval;
QStringList m_genericRowLabels;
QStringList m_genericColumnLabels;
};