##// END OF EJS Templates
horizontal percent barchart & example
horizontal percent barchart & example

File last commit:

r1014:3f26deedec78
r1688:daa1eadf0e06
Show More
chartbackground.cpp
99 lines | 2.5 KiB | text/x-c | CppLexer
/ src / chartbackground.cpp
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
** 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$
**
****************************************************************************/
Michal Klocek
Add missing files from last commit
r640 #include "chartbackground_p.h"
Michal Klocek
Adds ChartConfig class
r719 #include "chartconfig_p.h"
Michal Klocek
Add missing files from last commit
r640 #include <QPen>
#include <QBrush>
#include <QPainter>
Tero Ahola
Added drop shadow effect for light themes
r1001 #include <QGraphicsDropShadowEffect>
Michal Klocek
Add missing files from last commit
r640
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Tero Ahola
Added drop shadow effect for light themes
r1001 ChartBackground::ChartBackground(QGraphicsItem* parent) :
QGraphicsRectItem(parent),
m_diameter(15),
m_dropShadow(0)
Michal Klocek
Add missing files from last commit
r640 {
}
ChartBackground::~ChartBackground()
{
}
Tero Ahola
Added drop shadow effect for light themes
r1001 void ChartBackground::setDropShadowEnabled(bool enabled)
{
if (enabled) {
if (!m_dropShadow) {
m_dropShadow = new QGraphicsDropShadowEffect();
Tero Ahola
Tuned drop shadow effect
r1014 #ifdef Q_OS_MAC
m_dropShadow->setBlurRadius(15);
m_dropShadow->setOffset(0, 0);
#elif defined(Q_OS_WIN)
m_dropShadow->setBlurRadius(10);
m_dropShadow->setOffset(0, 0);
#else
Tero Ahola
Added drop shadow effect for light themes
r1001 m_dropShadow->setBlurRadius(10);
m_dropShadow->setOffset(5, 5);
Tero Ahola
Tuned drop shadow effect
r1014 #endif
Tero Ahola
Added drop shadow effect for light themes
r1001 setGraphicsEffect(m_dropShadow);
}
} else {
delete m_dropShadow;
m_dropShadow = 0;
}
}
Michal Klocek
Add missing files from last commit
r640 void ChartBackground::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option);
Q_UNUSED(widget);
Michal Klocek
Add build stamp and git head support for debug
r715 painter->save();
Michal Klocek
Add missing files from last commit
r640 painter->setPen(pen());
painter->setBrush(brush());
painter->drawRoundRect(rect(),roundness(rect().width()),roundness(rect().height()));
Michal Klocek
Add build stamp and git head support for debug
r715 #ifndef QT_NO_DEBUG
painter->setPen(Qt::black);
QFont font;
QString build("build %1");
font.setPointSize(6);
painter->setFont(font);
Michal Klocek
Adds ChartConfig class
r719 painter->drawText(rect().bottomLeft(),build.arg(ChartConfig::instance()->compilationTime()));
Michal Klocek
Add build stamp and git head support for debug
r715 #endif
painter->restore();
Michal Klocek
Add missing files from last commit
r640 }
int ChartBackground::roundness(qreal size) const
{
return 100*m_diameter/int(size);
}
int ChartBackground::diameter() const
{
return m_diameter;
}
void ChartBackground::setDimeter(int dimater)
{
m_diameter=dimater;
}
QTCOMMERCIALCHART_END_NAMESPACE