summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTitta Heikkala <titta.heikkala@digia.com>2014-06-06 09:38:23 +0300
committerTitta Heikkala <titta.heikkala@digia.com>2014-06-06 10:17:01 +0300
commit899dd6266dee39082940b2e1c1cc12b811abbcf0 (patch)
tree74669f93c5b8300a33e092919a62f5c83e7dd174
parent85326bf48cb40cd19e612d873e29c4c536a7cbdd (diff)
Fix bar value label position
The bar value labels are positioned so that they don't overlap with the border drawn around the bar. Task-number: QTRD-3171 Change-Id: Icf6344214195e91ae66eed31ca587414e02291b9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--src/barchart/abstractbarchartitem.cpp7
-rw-r--r--src/barchart/vertical/bar/barchartitem.cpp7
-rw-r--r--src/barchart/vertical/percent/percentbarchartitem.cpp7
-rw-r--r--src/barchart/vertical/stacked/stackedbarchartitem.cpp7
4 files changed, 16 insertions, 12 deletions
diff --git a/src/barchart/abstractbarchartitem.cpp b/src/barchart/abstractbarchartitem.cpp
index 70c647ca..8dbc318a 100644
--- a/src/barchart/abstractbarchartitem.cpp
+++ b/src/barchart/abstractbarchartitem.cpp
@@ -245,14 +245,15 @@ void AbstractBarChartItem::positionLabels()
qreal xPos = 0;
qreal yPos = m_layout.at(i).center().y() - label->boundingRect().center().y();
+ int offset = m_bars.at(i)->pen().width() / 2 + 2;
if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter)
xPos = m_layout.at(i).center().x() - label->boundingRect().center().x();
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd)
- xPos = m_layout.at(i).right() - label->boundingRect().width();
+ xPos = m_layout.at(i).right() - label->boundingRect().width() - offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase)
- xPos = m_layout.at(i).left();
+ xPos = m_layout.at(i).left() + offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd)
- xPos = m_layout.at(i).right();
+ xPos = m_layout.at(i).right() + offset;
label->setPos(xPos, yPos);
label->setZValue(zValue() + 1);
diff --git a/src/barchart/vertical/bar/barchartitem.cpp b/src/barchart/vertical/bar/barchartitem.cpp
index eae5be18..9a57325a 100644
--- a/src/barchart/vertical/bar/barchartitem.cpp
+++ b/src/barchart/vertical/bar/barchartitem.cpp
@@ -105,14 +105,15 @@ void BarChartItem::positionLabels()
qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x();
qreal yPos = 0;
+ int offset = m_bars.at(i)->pen().width() / 2 + 2;
if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter)
yPos = m_layout.at(i).center().y() - label->boundingRect().center().y();
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd)
- yPos = m_layout.at(i).top();
+ yPos = m_layout.at(i).top() - offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase)
- yPos = m_layout.at(i).bottom() - label->boundingRect().height();
+ yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd)
- yPos = m_layout.at(i).top() - label->boundingRect().height();
+ yPos = m_layout.at(i).top() - label->boundingRect().height() + offset;
label->setPos(xPos, yPos);
label->setZValue(zValue() + 1);
diff --git a/src/barchart/vertical/percent/percentbarchartitem.cpp b/src/barchart/vertical/percent/percentbarchartitem.cpp
index b7ec6d5f..b4c6283b 100644
--- a/src/barchart/vertical/percent/percentbarchartitem.cpp
+++ b/src/barchart/vertical/percent/percentbarchartitem.cpp
@@ -152,14 +152,15 @@ void PercentBarChartItem::positionLabels()
qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x();
qreal yPos = 0;
+ int offset = m_bars.at(i)->pen().width() / 2 + 2;
if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter)
yPos = m_layout.at(i).center().y() - label->boundingRect().center().y();
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd)
- yPos = m_layout.at(i).top();
+ yPos = m_layout.at(i).top() - offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase)
- yPos = m_layout.at(i).bottom() - label->boundingRect().height();
+ yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd)
- yPos = m_layout.at(i).top() - label->boundingRect().height();
+ yPos = m_layout.at(i).top() - label->boundingRect().height() + offset;
label->setPos(xPos, yPos);
label->setZValue(zValue() + 1);
diff --git a/src/barchart/vertical/stacked/stackedbarchartitem.cpp b/src/barchart/vertical/stacked/stackedbarchartitem.cpp
index 82329194..72bc650a 100644
--- a/src/barchart/vertical/stacked/stackedbarchartitem.cpp
+++ b/src/barchart/vertical/stacked/stackedbarchartitem.cpp
@@ -117,14 +117,15 @@ void StackedBarChartItem::positionLabels()
qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x();
qreal yPos = 0;
+ int offset = m_bars.at(i)->pen().width() / 2 + 2;
if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter)
yPos = m_layout.at(i).center().y() - label->boundingRect().center().y();
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd)
- yPos = m_layout.at(i).top();
+ yPos = m_layout.at(i).top() - offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase)
- yPos = m_layout.at(i).bottom() - label->boundingRect().height();
+ yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset;
else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd)
- yPos = m_layout.at(i).top() - label->boundingRect().height();
+ yPos = m_layout.at(i).top() - label->boundingRect().height() + offset;
label->setPos(xPos, yPos);
label->setZValue(zValue() + 1);