diff options
author | Titta Heikkala <titta.heikkala@digia.com> | 2013-09-12 09:35:19 +0300 |
---|---|---|
committer | Titta Heikkala <titta.heikkala@digia.com> | 2013-09-12 09:59:50 +0300 |
commit | 001bc2f7048715ae76d91475a213c2b588b3f818 (patch) | |
tree | b236ae38417bda3eb6ffa4c928c56fa417cf6957 /src | |
parent | dfd05e587e3177615d8280f18a447329ac794be7 (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.cpp | 9 | ||||
-rw-r--r-- | src/axis/chartaxiselement.cpp | 3 | ||||
-rw-r--r-- | src/axis/polarchartaxisangular.cpp | 9 | ||||
-rw-r--r-- | src/axis/polarchartaxisradial.cpp | 9 |
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); |