##// END OF EJS Templates
Fix crash when changing the values to empty model with logarithmic axis...
Fix crash when changing the values to empty model with logarithmic axis One zero or negative value invalidates the whole layout for logarithmic axes, but this wasn't taken into account when replacing the points. Task-number: QTRD-1914 Reviewed-by: Mika Salmela

File last commit:

r2133:8c175959daec
r2427:b3d485323aa9
Show More
charttitle.cpp
94 lines | 2.2 KiB | text/x-c | CppLexer
Michal Klocek
Refactors layout...
r1965 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
#include "charttitle_p.h"
#include <QFont>
#include <QFontMetrics>
#include <QDebug>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Jani Honkonen
more coding style fixes for src-folder...
r2104 ChartTitle::ChartTitle(QGraphicsItem *parent)
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 : QGraphicsSimpleTextItem(parent)
Michal Klocek
Refactors layout...
r1965 {
}
ChartTitle::~ChartTitle()
{
}
void ChartTitle::setText(const QString &text)
{
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 m_text = text;
Michal Klocek
Refactors layout...
r1965 }
QString ChartTitle::text() const
{
return m_text;
}
void ChartTitle::setGeometry(const QRectF &rect)
{
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 QFontMetrics fn(font());
Michal Klocek
Refactors layout...
r1965
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 int width = rect.width();
Michal Klocek
Refactors layout...
r1965
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 if (fn.boundingRect(m_text).width() > width) {
QString string = m_text + "...";
while (fn.boundingRect(string).width() > width && string.length() > 3)
string.remove(string.length() - 4, 1);
QGraphicsSimpleTextItem::setText(string);
} else {
QGraphicsSimpleTextItem::setText(m_text);
}
Michal Klocek
Refactors layout...
r1965
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 setPos(rect.topLeft());
Michal Klocek
Refactors layout...
r1965 }
QSizeF ChartTitle::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
{
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 Q_UNUSED(constraint);
QFontMetrics fn(font());
QSizeF sh;
Michal Klocek
Refactors layout...
r1965
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 switch (which) {
Michal Klocek
Refactors layout...
r1965 case Qt::MinimumSize:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 sh = QSizeF(fn.boundingRect("...").width(), fn.height());
Michal Klocek
Refactors layout...
r1965 break;
case Qt::PreferredSize:
Michal Klocek
Updates axis drawing code...
r2133 sh = fn.boundingRect(m_text).size();
Michal Klocek
Refactors layout...
r1965 break;
case Qt::MaximumSize:
Michal Klocek
Updates axis drawing code...
r2133 sh = fn.boundingRect(m_text).size();
Michal Klocek
Refactors layout...
r1965 break;
case Qt::MinimumDescent:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 sh = QSizeF(0, fn.descent());
Michal Klocek
Refactors layout...
r1965 break;
default:
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 break;
}
Michal Klocek
Refactors layout...
r1965
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 return sh;
Michal Klocek
Refactors layout...
r1965 }
QTCOMMERCIALCHART_END_NAMESPACE