diff options
author | Titta Heikkala <titta.heikkala@theqtcompany.com> | 2015-08-13 10:46:50 +0300 |
---|---|---|
committer | Titta Heikkala <titta.heikkala@theqtcompany.com> | 2015-09-07 07:56:05 +0000 |
commit | dab4dfead39d02e711a9f2b5bfd7a42b30125fba (patch) | |
tree | 653b26cf1beaaa3aedc287ca8c41fd3f1968c0f5 /src/charts/axis/chartaxiselement.cpp | |
parent | 05fa3caa787974595a2692f708a75813a515adda (diff) |
Added minor ticks to value axis
Added possibility to set minor tick for value axis. By default the
count of minor ticks is zero. The arrow of minor ticks follows the
color and pen of the arrows of the major ticks as it's part of axis.
Change-Id: I8a422caaeedcd18ee6144e8636e3903d16f0632c
Task-number: QTRD-3294
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Diffstat (limited to 'src/charts/axis/chartaxiselement.cpp')
-rw-r--r-- | src/charts/axis/chartaxiselement.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/charts/axis/chartaxiselement.cpp b/src/charts/axis/chartaxiselement.cpp index 90cce21b..1667f0c7 100644 --- a/src/charts/axis/chartaxiselement.cpp +++ b/src/charts/axis/chartaxiselement.cpp @@ -48,6 +48,8 @@ ChartAxisElement::ChartAxisElement(QAbstractAxis *axis, QGraphicsItem *item, boo m_animation(0), m_grid(new QGraphicsItemGroup(item)), m_arrow(new QGraphicsItemGroup(item)), + m_minorGrid(new QGraphicsItemGroup(item)), + m_minorArrow(new QGraphicsItemGroup(item)), m_shades(new QGraphicsItemGroup(item)), m_labels(new QGraphicsItemGroup(item)), m_title(new QGraphicsTextItem(item)), @@ -57,9 +59,12 @@ ChartAxisElement::ChartAxisElement(QAbstractAxis *axis, QGraphicsItem *item, boo //initial initialization m_arrow->setHandlesChildEvents(false); m_arrow->setZValue(ChartPresenter::AxisZValue); + m_minorArrow->setHandlesChildEvents(false); + m_minorArrow->setZValue(ChartPresenter::AxisZValue); m_labels->setZValue(ChartPresenter::AxisZValue); m_shades->setZValue(ChartPresenter::ShadesZValue); m_grid->setZValue(ChartPresenter::GridZValue); + m_minorGrid->setZValue(ChartPresenter::GridZValue); m_title->setZValue(ChartPresenter::GridZValue); m_title->document()->setDocumentMargin(ChartPresenter::textMargin()); handleVisibleChanged(axis->isVisible()); @@ -92,6 +97,14 @@ void ChartAxisElement::connectSlots() QObject::connect(axis(), SIGNAL(titleVisibleChanged(bool)), this, SLOT(handleTitleVisibleChanged(bool))); QObject::connect(axis()->d_ptr.data(), SIGNAL(rangeChanged(qreal, qreal)), this, SLOT(handleRangeChanged(qreal, qreal))); QObject::connect(axis(), SIGNAL(reverseChanged(bool)), this, SLOT(handleReverseChanged(bool))); + QObject::connect(axis(), SIGNAL(lineVisibleChanged(bool)), + this, SLOT(handleMinorArrowVisibleChanged(bool))); + QObject::connect(axis(), SIGNAL(linePenChanged(const QPen&)), this, + SLOT(handleMinorArrowPenChanged(const QPen&))); + QObject::connect(axis(), SIGNAL(minorGridVisibleChanged(bool)), + this, SLOT(handleMinorGridVisibleChanged(bool))); + QObject::connect(axis(), SIGNAL(minorGridLinePenChanged(const QPen&)), + this, SLOT(handleMinorGridPenChanged(const QPen&))); } void ChartAxisElement::handleArrowVisibleChanged(bool visible) @@ -99,11 +112,21 @@ void ChartAxisElement::handleArrowVisibleChanged(bool visible) m_arrow->setVisible(visible); } +void ChartAxisElement::handleMinorArrowVisibleChanged(bool visible) +{ + m_minorArrow->setVisible(visible); +} + void ChartAxisElement::handleGridVisibleChanged(bool visible) { m_grid->setVisible(visible); } +void ChartAxisElement::handleMinorGridVisibleChanged(bool visible) +{ + m_minorGrid->setVisible(visible); +} + void ChartAxisElement::handleLabelsVisibleChanged(bool visible) { QGraphicsLayoutItem::updateGeometry(); @@ -174,12 +197,16 @@ void ChartAxisElement::handleVisibleChanged(bool visible) if (!visible) { m_grid->setVisible(visible); m_arrow->setVisible(visible); + m_minorGrid->setVisible(visible); + m_minorArrow->setVisible(visible); m_shades->setVisible(visible); m_labels->setVisible(visible); m_title->setVisible(visible); } else { m_grid->setVisible(axis()->isGridLineVisible()); m_arrow->setVisible(axis()->isLineVisible()); + m_minorGrid->setVisible(axis()->isMinorGridLineVisible()); + m_minorArrow->setVisible(axis()->isLineVisible()); m_shades->setVisible(axis()->shadesVisible()); m_labels->setVisible(axis()->labelsVisible()); m_title->setVisible(axis()->isTitleVisible()); |