summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2019-12-05 13:58:19 +0100
committerPaul Olav Tvete <paul.tvete@qt.io>2019-12-05 14:09:06 +0000
commit8b1dcb1b3db09ba6e5ff26be3113d6e67c30da6e (patch)
treefd75f25f14332c03e24375e20770d7b38c0a664f
parent63c8a9ed533f25da030d38790cb4acc0df82ada4 (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.cpp8
-rw-r--r--tests/manual/chartviewer/window.cpp15
-rw-r--r--tests/manual/chartviewer/window.h1
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 &parameters, 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 &parameters, 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;