##// END OF EJS Templates
correct interpolation for baranimation
correct interpolation for baranimation

File last commit:

r1810:62c8384299b9
r1879:e322c54e4b32
Show More
qhorizontalbarseries.cpp
127 lines | 3.8 KiB | text/x-c | CppLexer
/ src / barchart / horizontal / bar / qhorizontalbarseries.cpp
Michal Klocek
Refactor barchart...
r1707 /****************************************************************************
**
** 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$
**
****************************************************************************/
sauimone
horizontal barchart frame
r1672 #include "qhorizontalbarseries.h"
#include "qhorizontalbarseries_p.h"
sauimone
horizontal barchart & example
r1681 #include "horizontalbarchartitem_p.h"
#include "horizontalbaranimation_p.h"
Marek Rosa
renamed QBarCategoryAxis related files
r1810 #include "qbarcategoryaxis.h"
sauimone
horizontal barchart & example
r1681
#include "chartdataset_p.h"
#include "charttheme_p.h"
sauimone
horizontal barchart frame
r1672 QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
horizontal barchart doc update
r1709 /*!
\class QHorizontalBarSeries
\brief Series for creating horizontal bar chart
\mainclass
QHorizontalBarSeries represents a series of data shown as bars. The purpose of this class is to draw bars
as groups, where bars in same category are grouped next to each other. QHorizontalBarSeries groups the data
from sets to categories, which are defined by a QStringList.
See the \l {HorizontalBarChart Example} {horizontal bar chart example} to learn how to create a horizontal bar chart.
\image examples_horizontalbarchart.png
\sa QBarSet, QBarSeries, QPercentBarSeries, QAbstractBarSeries, QStackedBarSeries, QHorizontalStackedBarSeries, QHorizontalPercentBarSeries
*/
/*
// TODO:
\qmlclass Horizontal QHorizontalBarSeries
\inherits AbstractBarSeries
The following QML shows how to create a simple grouped bar chart:
\snippet ../demos/qmlchart/qml/qmlchart/View6.qml 1
\beginfloatleft
\image demos_qmlchart6.png
\endfloat
\clearfloat
*/
sauimone
horizontal barchart doc update
r1793 /*!
Constructs empty QHorizontalBarSeries.
QHorizontalBarSeries is QObject which is a child of a \a parent.
*/
sauimone
horizontal barchart frame
r1672 QHorizontalBarSeries::QHorizontalBarSeries(QObject *parent) :
sauimone
horizontal barchart & example
r1681 QAbstractBarSeries(*new QHorizontalBarSeriesPrivate(this), parent)
sauimone
horizontal barchart frame
r1672 {
}
sauimone
horizontal barchart doc update
r1793 /*!
Destructor
Removes series from chart.
*/
Michal Klocek
Fixes wrong bar destruction by adding destructor for bar*series , note this breaks ABI
r1727 QHorizontalBarSeries::~QHorizontalBarSeries()
{
Q_D(QHorizontalBarSeries);
if(d->m_dataset) {
d->m_dataset->removeSeries(this);
}
}
sauimone
horizontal barchart doc update
r1793 /*!
Returns QChartSeries::SeriesTypeHorizontalBar.
*/
sauimone
horizontal barchart frame
r1672 QAbstractSeries::SeriesType QHorizontalBarSeries::type() const
{
return QAbstractSeries::SeriesTypeHorizontalBar;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
QHorizontalBarSeriesPrivate::QHorizontalBarSeriesPrivate(QHorizontalBarSeries *q) : QAbstractBarSeriesPrivate(q)
{
}
void QHorizontalBarSeriesPrivate::scaleDomain(Domain& domain)
{
qreal minX(domain.minX());
qreal minY(domain.minY());
qreal maxX(domain.maxX());
qreal maxY(domain.maxY());
sauimone
horizontal barchart & example
r1681 qreal y = categoryCount();
sauimone
fixed bug in barseries scaledomain with negative values
r1781 minX = qMin(minX, min());
sauimone
horizontal percent barchart & example
r1688 minY = qMin(minY, - (qreal)0.5);
sauimone
fixed bug in barseries scaledomain with negative values
r1781 maxX = qMax(maxX, max());
sauimone
horizontal percent barchart & example
r1688 maxY = qMax(maxY, y - (qreal)0.5);
sauimone
horizontal barchart frame
r1672
Michal Klocek
Refactors Domain and Axis...
r1698 domain.setRange(minX,maxX,minY,maxY);
sauimone
horizontal barchart frame
r1672 }
Michal Klocek
Refactors Chart to ChartElement
r1736 ChartElement* QHorizontalBarSeriesPrivate::createGraphics(ChartPresenter* presenter)
sauimone
horizontal barchart frame
r1672 {
Q_Q(QHorizontalBarSeries);
sauimone
horizontal barchart & example
r1681 HorizontalBarChartItem* bar = new HorizontalBarChartItem(q,presenter);
sauimone
horizontal barchart frame
r1672 if(presenter->animationOptions().testFlag(QChart::SeriesAnimations)) {
sauimone
horizontal barchart & example
r1681 bar->setAnimation(new HorizontalBarAnimation(bar));
sauimone
horizontal barchart frame
r1672 }
presenter->chartTheme()->decorate(q, presenter->dataSet()->seriesIndex(q));
return bar;
sauimone
horizontal barchart & example
r1681 }
sauimone
horizontal barchart frame
r1672 #include "moc_qhorizontalbarseries.cpp"
QTCOMMERCIALCHART_END_NAMESPACE