##// END OF EJS Templates
Add padding for axis title...
Add padding for axis title Added three pixel padding on either side of the axis title to avoid overlaps with axis labels and neighboring axis lines. Task-number: QTRD-1903 Reviewed-by: Mika Salmela

File last commit:

r2133:8c175959daec
r2413:f80448ee2136
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