summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTitta Heikkala <titta.heikkala@digia.com>2013-09-12 09:35:19 +0300
committerTitta Heikkala <titta.heikkala@digia.com>2013-09-12 09:59:50 +0300
commit001bc2f7048715ae76d91475a213c2b588b3f818 (patch)
treeb236ae38417bda3eb6ffa4c928c56fa417cf6957 /src
parentdfd05e587e3177615d8280f18a447329ac794be7 (diff)
Fix setting the axis title
The axis title text needs to be set in the ChartAxisElement only if the new title is empty or the title is hidden. In other cases the title will be set in updateGeometry() of the axis. Removed redundancy of setting title information. The title information needs to be set only once when creating items for axis. Task-number: QTRD-2104 Change-Id: Ie29c94215bdbab412a3dbb8368309abbd15aa4d1 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/axis/cartesianchartaxis.cpp9
-rw-r--r--src/axis/chartaxiselement.cpp3
-rw-r--r--src/axis/polarchartaxisangular.cpp9
-rw-r--r--src/axis/polarchartaxisradial.cpp9
4 files changed, 17 insertions, 13 deletions
diff --git a/src/axis/cartesianchartaxis.cpp b/src/axis/cartesianchartaxis.cpp
index 522223d8..63538070 100644
--- a/src/axis/cartesianchartaxis.cpp
+++ b/src/axis/cartesianchartaxis.cpp
@@ -59,20 +59,21 @@ void CartesianChartAxis::createItems(int count)
}
}
+ QGraphicsTextItem *title = titleItem();
+ title->setFont(axis()->titleFont());
+ title->setDefaultTextColor(axis()->titleBrush().color());
+ title->setHtml(axis()->titleText());
+
for (int i = 0; i < count; ++i) {
QGraphicsLineItem *arrow = new QGraphicsLineItem(this);
QGraphicsLineItem *grid = new QGraphicsLineItem(this);
QGraphicsTextItem *label = new QGraphicsTextItem(this);
label->document()->setDocumentMargin(ChartPresenter::textMargin());
- QGraphicsTextItem *title = titleItem();
arrow->setPen(axis()->linePen());
grid->setPen(axis()->gridLinePen());
label->setFont(axis()->labelsFont());
label->setDefaultTextColor(axis()->labelsBrush().color());
label->setRotation(axis()->labelsAngle());
- title->setFont(axis()->titleFont());
- title->setDefaultTextColor(axis()->titleBrush().color());
- title->setHtml(axis()->titleText());
arrowGroup()->addToGroup(arrow);
gridGroup()->addToGroup(grid);
labelGroup()->addToGroup(label);
diff --git a/src/axis/chartaxiselement.cpp b/src/axis/chartaxiselement.cpp
index 1fa133d3..51bd2af3 100644
--- a/src/axis/chartaxiselement.cpp
+++ b/src/axis/chartaxiselement.cpp
@@ -152,7 +152,8 @@ void ChartAxisElement::handleTitleTextChanged(const QString &title)
{
QGraphicsLayoutItem::updateGeometry();
presenter()->layout()->invalidate();
- m_title->setHtml(title);
+ if (title.isEmpty() || !m_title->isVisible())
+ m_title->setHtml(title);
}
void ChartAxisElement::handleTitlePenChanged(const QPen &pen)
diff --git a/src/axis/polarchartaxisangular.cpp b/src/axis/polarchartaxisangular.cpp
index 9fa99ac8..25f28f9f 100644
--- a/src/axis/polarchartaxisangular.cpp
+++ b/src/axis/polarchartaxisangular.cpp
@@ -253,20 +253,21 @@ void PolarChartAxisAngular::createItems(int count)
arrowGroup()->addToGroup(arrow);
}
+ QGraphicsTextItem *title = titleItem();
+ title->setFont(axis()->titleFont());
+ title->setDefaultTextColor(axis()->titleBrush().color());
+ title->setHtml(axis()->titleText());
+
for (int i = 0; i < count; ++i) {
QGraphicsLineItem *arrow = new QGraphicsLineItem(presenter()->rootItem());
QGraphicsLineItem *grid = new QGraphicsLineItem(presenter()->rootItem());
QGraphicsTextItem *label = new QGraphicsTextItem(presenter()->rootItem());
label->document()->setDocumentMargin(ChartPresenter::textMargin());
- QGraphicsTextItem *title = titleItem();
arrow->setPen(axis()->linePen());
grid->setPen(axis()->gridLinePen());
label->setFont(axis()->labelsFont());
label->setDefaultTextColor(axis()->labelsBrush().color());
label->setRotation(axis()->labelsAngle());
- title->setFont(axis()->titleFont());
- title->setDefaultTextColor(axis()->titleBrush().color());
- title->setHtml(axis()->titleText());
arrowGroup()->addToGroup(arrow);
gridGroup()->addToGroup(grid);
labelGroup()->addToGroup(label);
diff --git a/src/axis/polarchartaxisradial.cpp b/src/axis/polarchartaxisradial.cpp
index 53544fd4..d4fc1c94 100644
--- a/src/axis/polarchartaxisradial.cpp
+++ b/src/axis/polarchartaxisradial.cpp
@@ -238,20 +238,21 @@ void PolarChartAxisRadial::createItems(int count)
arrowGroup()->addToGroup(arrow);
}
+ QGraphicsTextItem *title = titleItem();
+ title->setFont(axis()->titleFont());
+ title->setDefaultTextColor(axis()->titleBrush().color());
+ title->setHtml(axis()->titleText());
+
for (int i = 0; i < count; ++i) {
QGraphicsLineItem *arrow = new QGraphicsLineItem(presenter()->rootItem());
QGraphicsEllipseItem *grid = new QGraphicsEllipseItem(presenter()->rootItem());
QGraphicsTextItem *label = new QGraphicsTextItem(presenter()->rootItem());
label->document()->setDocumentMargin(ChartPresenter::textMargin());
- QGraphicsTextItem *title = titleItem();
arrow->setPen(axis()->linePen());
grid->setPen(axis()->gridLinePen());
label->setFont(axis()->labelsFont());
label->setDefaultTextColor(axis()->labelsBrush().color());
label->setRotation(axis()->labelsAngle());
- title->setFont(axis()->titleFont());
- title->setDefaultTextColor(axis()->titleBrush().color());
- title->setHtml(axis()->titleText());
arrowGroup()->addToGroup(arrow);
gridGroup()->addToGroup(grid);
labelGroup()->addToGroup(label);