diff options
author | Mika Salmela <mika.salmela@qt.io> | 2018-02-28 11:11:31 +0200 |
---|---|---|
committer | Mika Salmela <mika.salmela@qt.io> | 2018-03-08 10:08:14 +0000 |
commit | 4488348a357494afb0b805c9aec8a5eb7e4ee0b9 (patch) | |
tree | 0e323f0a23715c322dd04eacf00b41e1ce49bff6 /tests | |
parent | 896bb27b82f34eff625aa1b5a76ccca75e448cec (diff) |
Implement dynamic tick handling for ValueAxis
Adds properties to define dynamic tick positioning for ValueAxis.
Change-Id: Ife2ff3032492e063604adba9bd63eed72c0e0a16
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qvalueaxis/tst_qvalueaxis.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/qvalueaxis/tst_qvalueaxis.cpp b/tests/auto/qvalueaxis/tst_qvalueaxis.cpp index 57c78911..44296e2e 100644 --- a/tests/auto/qvalueaxis/tst_qvalueaxis.cpp +++ b/tests/auto/qvalueaxis/tst_qvalueaxis.cpp @@ -72,6 +72,7 @@ private slots: void autoscale(); void reverse(); void labels(); + void dynamicTicks(); private: QValueAxis* m_valuesaxis; @@ -473,6 +474,43 @@ void tst_QValueAxis::labels() QCOMPARE(originalStrings, updatedStrings); } +void tst_QValueAxis::dynamicTicks() +{ + QValueAxis *valuesaxis = new QValueAxis(); + m_chart->setAxisX(m_valuesaxis, m_series); + m_chart->setAxisY(valuesaxis, m_series); + m_view->resize(400, 400); + m_valuesaxis->setRange(-111.0, 111); + m_valuesaxis->setTickType(QValueAxis::TicksDynamic); + m_valuesaxis->setTickAnchor(100.0); + m_valuesaxis->setTickInterval(100.0); + valuesaxis->setRange(-111.0, 111); + valuesaxis->setTickType(QValueAxis::TicksDynamic); + valuesaxis->setTickAnchor(100.0); + valuesaxis->setTickInterval(50.0); + valuesaxis->setLabelFormat("%.2f"); + m_view->show(); + QTest::qWaitForWindowShown(m_view); + + QStringList expectedList; + expectedList << "" << "100.00" << "50.00" << "0.00" << "-50.00" << "-100.00" << + "100.0" << "0.0" << "-100.0"; + + QList<QGraphicsItem *> childItems = m_chart->scene()->items(); + QList<QGraphicsTextItem *> textItems; + QStringList observedStrings; + for (QGraphicsItem *i : childItems) { + if (QGraphicsTextItem *text = qgraphicsitem_cast<QGraphicsTextItem *>(i)) { + if (text->parentItem() != m_chart) { + textItems << text; + observedStrings << text->toPlainText(); + } + } + } + + QCOMPARE(expectedList, observedStrings); +} + QTEST_MAIN(tst_QValueAxis) #include "tst_qvalueaxis.moc" |