diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2019-12-05 13:58:19 +0100 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2019-12-05 14:09:06 +0000 |
commit | 8b1dcb1b3db09ba6e5ff26be3113d6e67c30da6e (patch) | |
tree | fd75f25f14332c03e24375e20770d7b38c0a664f | |
parent | 63c8a9ed533f25da030d38790cb4acc0df82ada4 (diff) |
Place minor tickmarks on horizontal axis correctly
It looks like top and bottom was accidentally swapped when the dynamic
tickmarks feature was added. This resulted in the minor tickmarks being
drawn on the opposite edge of the canvas from the axis and the major
tickmarks.
Also modified the manual test to make drawing the grid optional, so the
position of the tick marks can be seen more easily.
Fixes: QTBUG-79349
Change-Id: Ia25c656d3d66ee0e6dd908504ec5c81cd2555bde
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/charts/axis/horizontalaxis.cpp | 8 | ||||
-rw-r--r-- | tests/manual/chartviewer/window.cpp | 15 | ||||
-rw-r--r-- | tests/manual/chartviewer/window.h | 1 |
3 files changed, 16 insertions, 8 deletions
diff --git a/src/charts/axis/horizontalaxis.cpp b/src/charts/axis/horizontalaxis.cpp index 821961c7..3bbc5ebe 100644 --- a/src/charts/axis/horizontalaxis.cpp +++ b/src/charts/axis/horizontalaxis.cpp @@ -485,12 +485,12 @@ void HorizontalAxis::updateMinorTickGeometry() qreal minorArrowLineItemY2; switch (axis()->alignment()) { case Qt::AlignTop: - minorArrowLineItemY1 = gridGeometry().bottom(); - minorArrowLineItemY2 = gridGeometry().bottom() - labelPadding() / 2.0; + minorArrowLineItemY1 = gridGeometry().top(); + minorArrowLineItemY2 = gridGeometry().top() - labelPadding() / 2.0; break; case Qt::AlignBottom: - minorArrowLineItemY1 = gridGeometry().top(); - minorArrowLineItemY2 = gridGeometry().top() + labelPadding() / 2.0; + minorArrowLineItemY1 = gridGeometry().bottom(); + minorArrowLineItemY2 = gridGeometry().bottom() + labelPadding() / 2.0; break; default: minorArrowLineItemY1 = 0.0; diff --git a/tests/manual/chartviewer/window.cpp b/tests/manual/chartviewer/window.cpp index 4d41da64..85a6c956 100644 --- a/tests/manual/chartviewer/window.cpp +++ b/tests/manual/chartviewer/window.cpp @@ -70,6 +70,7 @@ Window::Window(const QVariantHash ¶meters, QWidget *parent) m_openGLCheckBox(0), m_zoomCheckBox(0), m_scrollCheckBox(0), + m_gridCheckBox(0), m_baseLayout(new QGraphicsLinearLayout()), m_menu(createMenu()), m_template(0), @@ -95,6 +96,7 @@ Window::Window(const QVariantHash ¶meters, QWidget *parent) settingsLayout->addItem(m_widgetHash["templateComboBox"]); settingsLayout->addItem(m_widgetHash["scrollCheckBox"]); settingsLayout->addItem(m_widgetHash["zoomCheckBox"]); + settingsLayout->addItem(m_widgetHash["gridCheckBox"]); settingsLayout->addItem(m_widgetHash["xTickLabel"]); settingsLayout->addItem(m_widgetHash["xTickSpinBox"]); settingsLayout->addItem(m_widgetHash["yTickLabel"]); @@ -147,6 +149,7 @@ void Window::connectSignals() QObject::connect(m_openGLCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); QObject::connect(m_zoomCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); QObject::connect(m_scrollCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); + QObject::connect(m_gridCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); QObject::connect(m_animatedComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); QObject::connect(m_legendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); QObject::connect(m_templateComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); @@ -171,6 +174,7 @@ void Window::createProxyWidgets() m_openGLCheckBox = new QCheckBox(tr("OpenGL")); m_zoomCheckBox = new QCheckBox(tr("Zoom")); m_scrollCheckBox = new QCheckBox(tr("Scroll")); + m_gridCheckBox = new QCheckBox(tr("Grid lines")); m_templateComboBox = createTempleteBox(); m_widgetHash["viewLabel"] = m_scene->addWidget(new QLabel("View")); m_widgetHash["viewComboBox"] = m_scene->addWidget(m_viewComboBox); @@ -194,6 +198,7 @@ void Window::createProxyWidgets() m_widgetHash["templateComboBox"] = m_scene->addWidget(m_templateComboBox); m_widgetHash["zoomCheckBox"] = m_scene->addWidget(m_zoomCheckBox); m_widgetHash["scrollCheckBox"] = m_scene->addWidget(m_scrollCheckBox); + m_widgetHash["gridCheckBox"] = m_scene->addWidget(m_gridCheckBox); } QComboBox *Window::createThemeBox() @@ -354,7 +359,7 @@ void Window::checkXTick() foreach (QChart *chart, m_grid->charts()) { if (qobject_cast<QValueAxis *>(chart->axisX())) { QValueAxis *valueAxis = qobject_cast<QValueAxis *>(chart->axisX()); - valueAxis->setGridLineVisible(); + valueAxis->setGridLineVisible(m_gridCheckBox->isChecked()); valueAxis->setTickCount(m_xTickSpinBox->value()); } } @@ -365,7 +370,7 @@ void Window::checkYTick() foreach (QChart *chart, m_grid->charts()) { if (qobject_cast<QValueAxis *>(chart->axisY())) { QValueAxis *valueAxis = qobject_cast<QValueAxis *>(chart->axisY()); - valueAxis->setGridLineVisible(); + valueAxis->setGridLineVisible(m_gridCheckBox->isChecked()); valueAxis->setTickCount(m_yTickSpinBox->value()); } } @@ -376,7 +381,8 @@ void Window::checkMinorXTick() foreach (QChart *chart, m_grid->charts()) { if (qobject_cast<QValueAxis *>(chart->axisX())) { QValueAxis *valueAxis = qobject_cast<QValueAxis *>(chart->axisX()); - valueAxis->setMinorGridLineVisible(); + valueAxis->setMinorGridLineVisible(m_gridCheckBox->isChecked()); + valueAxis->setGridLineVisible(m_gridCheckBox->isChecked()); valueAxis->setMinorTickCount(m_minorXTickSpinBox->value()); } } @@ -387,7 +393,8 @@ void Window::checkMinorYTick() foreach (QChart *chart, m_grid->charts()) { if (qobject_cast<QValueAxis *>(chart->axisY())) { QValueAxis *valueAxis = qobject_cast<QValueAxis *>(chart->axisY()); - valueAxis->setMinorGridLineVisible(); + valueAxis->setMinorGridLineVisible(m_gridCheckBox->isChecked()); + valueAxis->setGridLineVisible(m_gridCheckBox->isChecked()); valueAxis->setMinorTickCount(m_minorYTickSpinBox->value()); } } diff --git a/tests/manual/chartviewer/window.h b/tests/manual/chartviewer/window.h index ea04fedc..8c9de07e 100644 --- a/tests/manual/chartviewer/window.h +++ b/tests/manual/chartviewer/window.h @@ -108,6 +108,7 @@ private: QCheckBox *m_openGLCheckBox; QCheckBox *m_zoomCheckBox; QCheckBox *m_scrollCheckBox; + QCheckBox *m_gridCheckBox; QGraphicsLinearLayout *m_baseLayout; QMenu *m_menu; int m_template; |