##// END OF EJS Templates
Fix crash in axis grid animation when animating axis is removed from chart....
Fix crash in axis grid animation when animating axis is removed from chart. Change-Id: Ibd39910f3463e0ccdb62799dfc533018a932f542 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2828:7557d1ea51b5
r2835:a483852c5c56
Show More
horizontalaxis.cpp
377 lines | 16.7 KiB | text/x-c | CppLexer
/ src / charts / axis / horizontalaxis.cpp
Michal Klocek
Refactors axis updateGeometry handling...
r2111 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Michal Klocek
Refactors axis updateGeometry handling...
r2111 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
Michal Klocek
Refactors axis updateGeometry handling...
r2111 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Michal Klocek
Refactors axis updateGeometry handling...
r2111 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
Titta Heikkala
Copyright header changes...
r2776 ** agreement between you and The Qt Company.
Michal Klocek
Refactors axis updateGeometry handling...
r2111 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Michal Klocek
Refactors axis updateGeometry handling...
r2111 **
****************************************************************************/
Titta Heikkala
Fix include syntax...
r2714 #include <private/horizontalaxis_p.h>
#include <private/qabstractaxis_p.h>
#include <private/chartpresenter_p.h>
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 #include <QtCharts/QCategoryAxis>
Titta Heikkala
Fix include syntax...
r2714 #include <QtCore/QtMath>
#include <QtCore/QDebug>
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Miikka Heikkinen
Add Polar chart support...
r2483 HorizontalAxis::HorizontalAxis(QAbstractAxis *axis, QGraphicsItem *item, bool intervalAxis)
: CartesianChartAxis(axis, item, intervalAxis)
Michal Klocek
Refactors axis updateGeometry handling...
r2111 {
}
HorizontalAxis::~HorizontalAxis()
{
}
void HorizontalAxis::updateGeometry()
{
Miikka Heikkinen
Add Polar chart support...
r2483 const QVector<qreal> &layout = ChartAxisElement::layout();
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Titta Heikkala
Fix QLogValueAxis update...
r2759 if (layout.isEmpty() && axis()->type() != QAbstractAxis::AxisTypeLogValue)
Jani Honkonen
src folder: another massive victory for coding style police
r2131 return;
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Michal Klocek
Updates axis drawing code...
r2133 QStringList labelList = labels();
Michal Klocek
Refactors axis updateGeometry handling...
r2111
QList<QGraphicsItem *> labels = labelItems();
Miikka Heikkinen
Add Polar chart support...
r2483 QList<QGraphicsItem *> arrow = arrowItems();
Miikka Heikkinen
Added HTML support for various text items...
r2539 QGraphicsTextItem *title = titleItem();
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Michal Klocek
Updates axis drawing code...
r2133 Q_ASSERT(labels.size() == labelList.size());
Q_ASSERT(layout.size() == labelList.size());
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Jani Honkonen
src folder: another massive victory for coding style police
r2131 const QRectF &axisRect = axisGeometry();
const QRectF &gridRect = gridGeometry();
Michal Klocek
Refactors axis updateGeometry handling...
r2111
//arrow
Miikka Heikkinen
Add Polar chart support...
r2483 QGraphicsLineItem *arrowItem = static_cast<QGraphicsLineItem *>(arrow.at(0));
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Miikka Heikkinen
Add Polar chart support...
r2483 if (axis()->alignment() == Qt::AlignTop)
Michal Klocek
Refactors axis updateGeometry handling...
r2111 arrowItem->setLine(gridRect.left(), axisRect.bottom(), gridRect.right(), axisRect.bottom());
Miikka Heikkinen
Add Polar chart support...
r2483 else if (axis()->alignment() == Qt::AlignBottom)
Michal Klocek
Refactors axis updateGeometry handling...
r2111 arrowItem->setLine(gridRect.left(), axisRect.top(), gridRect.right(), axisRect.top());
qreal width = 0;
Titta Heikkala
Fix long label visibility...
r2706 const QLatin1String ellipsis("...");
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Michal Klocek
Adds consider title boundary for axis label wrapping
r2148 //title
Miikka Heikkinen
Fix axis geometry when there is no axis title...
r2415 QRectF titleBoundingRect;
Miikka Heikkinen
Add Polar chart support...
r2483 QString titleText = axis()->titleText();
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 qreal availableSpace = axisRect.height() - labelPadding();
Miikka Heikkinen
Add Polar chart support...
r2483 if (!titleText.isEmpty() && titleItem()->isVisible()) {
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 availableSpace -= titlePadding() * 2.0;
Titta Heikkala
Qt Charts project file structure change...
r2712 qreal minimumLabelHeight = ChartPresenter::textBoundingRect(axis()->labelsFont(),
QStringLiteral("...")).height();
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 qreal titleSpace = availableSpace - minimumLabelHeight;
Titta Heikkala
Fix long labels visibility for QBarChart...
r2604 title->setHtml(ChartPresenter::truncatedText(axis()->titleFont(), titleText, qreal(0.0),
gridRect.width(), titleSpace,
titleBoundingRect));
Titta Heikkala
Fix multiline alignment...
r2607 title->setTextWidth(titleBoundingRect.width());
Michal Klocek
Adds consider title boundary for axis label wrapping
r2148
Miikka Heikkinen
Fix axis geometry when there is no axis title...
r2415 titleBoundingRect = title->boundingRect();
QPointF center = gridRect.center() - titleBoundingRect.center();
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 if (axis()->alignment() == Qt::AlignTop)
title->setPos(center.x(), axisRect.top() + titlePadding());
else if (axis()->alignment() == Qt::AlignBottom)
title->setPos(center.x(), axisRect.bottom() - titleBoundingRect.height() - titlePadding());
availableSpace -= titleBoundingRect.height();
Michal Klocek
Adds consider title boundary for axis label wrapping
r2148 }
Titta Heikkala
Fix QLogValueAxis update...
r2759 if (layout.isEmpty() && axis()->type() == QAbstractAxis::AxisTypeLogValue)
return;
QList<QGraphicsItem *> lines = gridItems();
QList<QGraphicsItem *> shades = shadeItems();
Titta Heikkala
Added minor ticks to value axis...
r2795 QList<QGraphicsItem *> minorLines = minorGridItems();
QList<QGraphicsItem *> minorArrows = minorArrowItems();
Titta Heikkala
Fix QLogValueAxis update...
r2759
Michal Klocek
Refactors axis updateGeometry handling...
r2111 for (int i = 0; i < layout.size(); ++i) {
Michal Klocek
Updates axis drawing code...
r2133 //items
QGraphicsLineItem *gridItem = static_cast<QGraphicsLineItem*>(lines.at(i));
Miikka Heikkinen
Add Polar chart support...
r2483 QGraphicsLineItem *tickItem = static_cast<QGraphicsLineItem*>(arrow.at(i + 1));
Miikka Heikkinen
Added HTML support for various text items...
r2539 QGraphicsTextItem *labelItem = static_cast<QGraphicsTextItem *>(labels.at(i));
Michal Klocek
Refactors axis updateGeometry handling...
r2111
//grid line
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 if (axis()->isReverse()) {
gridItem->setLine(gridRect.right() - layout[i] + gridRect.left(), gridRect.top(),
gridRect.right() - layout[i] + gridRect.left(), gridRect.bottom());
} else {
gridItem->setLine(layout[i], gridRect.top(), layout[i], gridRect.bottom());
}
Michal Klocek
Refactors axis updateGeometry handling...
r2111
Michal Klocek
Updates axis drawing code...
r2133 //label text wrapping
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 QString text;
if (axis()->isReverse() && axis()->type() != QAbstractAxis::AxisTypeCategory)
text = labelList.at(labelList.count() - i - 1);
else
text = labelList.at(i);
Miikka Heikkinen
Fix multiline axis label positioning....
r2534 QRectF boundingRect;
Titta Heikkala
Fix long labels visibility for QBarChart...
r2604 // don't truncate empty labels
if (text.isEmpty()) {
labelItem->setHtml(text);
} else {
qreal labelWidth = axisRect.width() / layout.count() - (2 * labelPadding());
Titta Heikkala
Fix multiline alignment...
r2607 QString truncatedText = ChartPresenter::truncatedText(axis()->labelsFont(), text,
axis()->labelsAngle(),
labelWidth,
availableSpace, boundingRect);
labelItem->setTextWidth(ChartPresenter::textBoundingRect(axis()->labelsFont(),
truncatedText).width());
labelItem->setHtml(truncatedText);
Titta Heikkala
Fix long labels visibility for QBarChart...
r2604 }
Michal Klocek
Updates axis drawing code...
r2133
//label transformation origin point
const QRectF& rect = labelItem->boundingRect();
Michal Klocek
Refactors axis updateGeometry handling...
r2111 QPointF center = rect.center();
labelItem->setTransformOriginPoint(center.x(), center.y());
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 qreal heightDiff = rect.height() - boundingRect.height();
Miikka Heikkinen
Fix checking for labels out of axis grid....
r2570 qreal widthDiff = rect.width() - boundingRect.width();
Michal Klocek
Refactors axis updateGeometry handling...
r2111
//ticks and label position
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 QPointF labelPos;
Miikka Heikkinen
Add Polar chart support...
r2483 if (axis()->alignment() == Qt::AlignTop) {
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 if (axis()->isReverse()) {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos = QPointF(gridRect.right() - layout[layout.size() - i - 1]
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 + gridRect.left() - center.x(),
axisRect.bottom() - rect.height()
+ (heightDiff / 2.0) - labelPadding());
tickItem->setLine(gridRect.right() + gridRect.left() - layout[i],
axisRect.bottom(),
gridRect.right() + gridRect.left() - layout[i],
axisRect.bottom() - labelPadding());
} else {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos = QPointF(layout[i] - center.x(), axisRect.bottom() - rect.height()
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 + (heightDiff / 2.0) - labelPadding());
tickItem->setLine(layout[i], axisRect.bottom(),
layout[i], axisRect.bottom() - labelPadding());
}
Miikka Heikkinen
Add Polar chart support...
r2483 } else if (axis()->alignment() == Qt::AlignBottom) {
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 if (axis()->isReverse()) {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos = QPointF(gridRect.right() - layout[layout.size() - i - 1]
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 + gridRect.left() - center.x(),
axisRect.top() - (heightDiff / 2.0) + labelPadding());
tickItem->setLine(gridRect.right() + gridRect.left() - layout[i], axisRect.top(),
gridRect.right() + gridRect.left() - layout[i],
axisRect.top() + labelPadding());
} else {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos = QPointF(layout[i] - center.x(), axisRect.top() - (heightDiff / 2.0)
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 + labelPadding());
tickItem->setLine(layout[i], axisRect.top(),
layout[i], axisRect.top() + labelPadding());
}
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
Miikka Heikkinen
Fix category axis label positioning....
r2446 //label in between
bool forceHide = false;
if (intervalAxis() && (i + 1) != layout.size()) {
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 qreal leftBound;
qreal rightBound;
if (axis()->isReverse()) {
leftBound = qMax(gridRect.right() + gridRect.left() - layout[i + 1],
gridRect.left());
rightBound = qMin(gridRect.right() + gridRect.left() - layout[i], gridRect.right());
} else {
leftBound = qMax(layout[i], gridRect.left());
rightBound = qMin(layout[i + 1], gridRect.right());
}
Miikka Heikkinen
Fix category axis label positioning....
r2446 const qreal delta = rightBound - leftBound;
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 if (axis()->type() != QAbstractAxis::AxisTypeCategory) {
// Hide label in case visible part of the category at the grid edge is too narrow
if (delta < boundingRect.width()
&& (leftBound == gridRect.left() || rightBound == gridRect.right())) {
forceHide = true;
} else {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos.setX(leftBound + (delta / 2.0) - center.x());
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 }
Miikka Heikkinen
Fix category axis label positioning....
r2446 } else {
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 QCategoryAxis *categoryAxis = static_cast<QCategoryAxis *>(axis());
if (categoryAxis->labelsPosition() == QCategoryAxis::AxisLabelsPositionCenter) {
if (delta < boundingRect.width()
&& (leftBound == gridRect.left() || rightBound == gridRect.right())) {
forceHide = true;
} else {
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos.setX(leftBound + (delta / 2.0) - center.x());
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 }
} else if (categoryAxis->labelsPosition()
== QCategoryAxis::AxisLabelsPositionOnValue) {
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 if (axis()->isReverse())
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos.setX(leftBound - center.x());
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 else
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 labelPos.setX(rightBound - center.x());
Titta Heikkala
Added possibility to set labels position for QCategoryAxis...
r2780 }
Miikka Heikkinen
Fix category axis label positioning....
r2446 }
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
Titta Heikkala
Fix long label visibility...
r2706
Miikka Heikkinen
Fix label clipping issues using QOpenGLWidget as ChartView viewport...
r2828 // Round to full pixel via QPoint to avoid one pixel clipping on the edge in some cases
labelItem->setPos(labelPos.toPoint());
Miikka Heikkinen
Compensate for rounding errors when determining label visibility...
r2445 //label overlap detection - compensate one pixel for rounding errors
Titta Heikkala
Fix long label visibility...
r2706 if ((labelItem->pos().x() < width && labelItem->toPlainText() == ellipsis) || forceHide ||
Miikka Heikkinen
Fix checking for labels out of axis grid....
r2570 (labelItem->pos().x() + (widthDiff / 2.0)) < (axisRect.left() - 1.0) ||
Titta Heikkala
Fix label visibility for category axis...
r2651 (labelItem->pos().x() + (widthDiff / 2.0) - 1.0) > axisRect.right()) {
Michal Klocek
Refactors axis updateGeometry handling...
r2111 labelItem->setVisible(false);
Michal Klocek
Reimplement zoom/scroll hanling for barcategoryaxis Y
r2145 } else {
Michal Klocek
Refactors axis updateGeometry handling...
r2111 labelItem->setVisible(true);
Miikka Heikkinen
Fix axis sizehints when labels are angled...
r2412 width = boundingRect.width() + labelItem->pos().x();
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
//shades
Miikka Heikkinen
Fix shades for log and category axes....
r2721 QGraphicsRectItem *shadeItem = 0;
if (i == 0)
shadeItem = static_cast<QGraphicsRectItem *>(shades.at(0));
else if (i % 2)
shadeItem = static_cast<QGraphicsRectItem *>(shades.at((i / 2) + 1));
if (shadeItem) {
qreal leftBound;
qreal rightBound;
if (i == 0) {
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 if (axis()->isReverse()) {
leftBound = gridRect.right() + gridRect.left() - layout[i];
Miikka Heikkinen
Fix shades for log and category axes....
r2721 rightBound = gridRect.right();
Titta Heikkala
Add possibility to set reverse values to axes...
r2781 } else {
leftBound = gridRect.left();
rightBound = layout[0];
}
} else {
if (axis()->isReverse()) {
rightBound = gridRect.right() + gridRect.left() - layout[i];
if (i == layout.size() - 1) {
leftBound = gridRect.left();
} else {
leftBound = qMax(gridRect.right() + gridRect.left() - layout[i + 1],
gridRect.left());
}
} else {
leftBound = layout[i];
if (i == layout.size() - 1)
rightBound = gridRect.right();
else
rightBound = qMin(layout[i + 1], gridRect.right());
}
Miikka Heikkinen
Fix shades for log and category axes....
r2721 }
Titta Heikkala
Fix category axis shades and labels...
r2760 if (leftBound < gridRect.left())
leftBound = gridRect.left();
if (rightBound > gridRect.right())
rightBound = gridRect.right();
Miikka Heikkinen
Fix shades for log and category axes....
r2721 shadeItem->setRect(leftBound, gridRect.top(), rightBound - leftBound,
gridRect.height());
if (shadeItem->rect().width() <= 0.0)
shadeItem->setVisible(false);
Miikka Heikkinen
Prevent drawing shades off-chart...
r2448 else
Miikka Heikkinen
Fix shades for log and category axes....
r2721 shadeItem->setVisible(true);
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
// check if the grid line and the axis tick should be shown
qreal x = gridItem->line().p1().x();
if (x < gridRect.left() || x > gridRect.right()) {
Jani Honkonen
src folder: another massive victory for coding style police
r2131 gridItem->setVisible(false);
tickItem->setVisible(false);
Miikka Heikkinen
Add Polar chart support...
r2483 } else {
Michal Klocek
Updates axis drawing code...
r2133 gridItem->setVisible(true);
tickItem->setVisible(true);
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
Titta Heikkala
Added minor ticks to value axis...
r2795 // add minor ticks
QValueAxis *valueAxis = qobject_cast<QValueAxis *>(axis());
if ((i + 1) != layout.size() && valueAxis) {
int minorTickCount = valueAxis->minorTickCount();
if (minorTickCount != 0) {
qreal minorTickDistance = (layout[i] - layout[i + 1]) / qreal(minorTickCount + 1);
for (int j = 0; j < minorTickCount; j++) {
QGraphicsLineItem *minorGridItem =
static_cast<QGraphicsLineItem *>(minorLines.at(i * minorTickCount + j));
QGraphicsLineItem *minorArrowItem =
static_cast<QGraphicsLineItem *>(minorArrows.at(i * minorTickCount + j));
if (i == 0) {
minorGridItem->setLine(gridRect.left() - minorTickDistance * qreal(j + 1),
gridRect.top(),
gridRect.left() - minorTickDistance * qreal(j + 1),
gridRect.bottom());
} else {
minorGridItem->setLine(gridItem->line().p1().x()
- minorTickDistance * qreal(j + 1),
gridRect.top(),
gridItem->line().p1().x()
- minorTickDistance * qreal(j + 1),
gridRect.bottom());
}
if (axis()->alignment() == Qt::AlignTop) {
minorArrowItem->setLine(minorGridItem->line().p1().x(),
axisRect.bottom(),
minorGridItem->line().p1().x(),
axisRect.bottom() - labelPadding() / 2);
} else if (axis()->alignment() == Qt::AlignBottom){
minorArrowItem->setLine(minorGridItem->line().p1().x(),
axisRect.top(),
minorGridItem->line().p1().x(),
axisRect.top() + labelPadding() / 2);
}
// check if the minor grid line and the axis tick should be shown
qreal minorXPos = minorGridItem->line().p1().x();
if (minorXPos < gridRect.left() || minorXPos > gridRect.right()) {
minorGridItem->setVisible(false);
minorArrowItem->setVisible(false);
} else {
minorGridItem->setVisible(true);
minorArrowItem->setVisible(true);
}
}
}
}
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
//begin/end grid line in case labels between
Jani Honkonen
src folder: another massive victory for coding style police
r2131 if (intervalAxis()) {
Michal Klocek
Refactors axis updateGeometry handling...
r2111 QGraphicsLineItem *gridLine;
Jani Honkonen
src folder: another massive victory for coding style police
r2131 gridLine = static_cast<QGraphicsLineItem *>(lines.at(layout.size()));
Michal Klocek
Refactors axis updateGeometry handling...
r2111 gridLine->setLine(gridRect.right(), gridRect.top(), gridRect.right(), gridRect.bottom());
Michal Klocek
Updates axis drawing code...
r2133 gridLine->setVisible(true);
gridLine = static_cast<QGraphicsLineItem*>(lines.at(layout.size()+1));
Michal Klocek
Refactors axis updateGeometry handling...
r2111 gridLine->setLine(gridRect.left(), gridRect.top(), gridRect.left(), gridRect.bottom());
Michal Klocek
Updates axis drawing code...
r2133 gridLine->setVisible(true);
Michal Klocek
Refactors axis updateGeometry handling...
r2111 }
}
Michal Klocek
Refactors ChartAxis...
r2138 QSizeF HorizontalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
{
Q_UNUSED(constraint);
Michal Klocek
Fixes layout rounding issue
r2306 QSizeF sh(0,0);
Michal Klocek
Refactors ChartAxis...
r2138
Miikka Heikkinen
Add Polar chart support...
r2483 if (axis()->titleText().isEmpty() || !titleItem()->isVisible())
Michal Klocek
Refactors ChartAxis...
r2138 return sh;
switch (which) {
Miikka Heikkinen
Fix multi-line axis titles....
r2530 case Qt::MinimumSize: {
Titta Heikkala
Qt Charts project file structure change...
r2712 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(),
QStringLiteral("..."));
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
Michal Klocek
Refactors ChartAxis...
r2138 break;
Miikka Heikkinen
Fix multi-line axis titles....
r2530 }
Michal Klocek
Refactors ChartAxis...
r2138 case Qt::MaximumSize:
Miikka Heikkinen
Fix multi-line axis titles....
r2530 case Qt::PreferredSize: {
Miikka Heikkinen
Added HTML support for various text items...
r2539 QRectF titleRect = ChartPresenter::textBoundingRect(axis()->titleFont(), axis()->titleText());
Miikka Heikkinen
Fix multiline axis titles truncation...
r2540 sh = QSizeF(titleRect.width(), titleRect.height() + (titlePadding() * 2.0));
Michal Klocek
Refactors ChartAxis...
r2138 break;
Miikka Heikkinen
Fix multi-line axis titles....
r2530 }
Michal Klocek
Refactors ChartAxis...
r2138 default:
break;
}
return sh;
}
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE