##// END OF EJS Templates
Refactors Domain and Axis...
Refactors Domain and Axis * removes legacy code from domain * moves nice numbers handling from domain to valuesaxis * moves ticksCount from domain to valuesaxis * simplyfy signals : only one updated() singal in axis and domain * updates tst_domain to reflect changes * moves axes implementation to separte directories

File last commit:

r1698:da7242791c36
r1698:da7242791c36
Show More
qhorizontalbarseries.cpp
87 lines | 2.4 KiB | text/x-c | CppLexer
/ src / barchart / qhorizontalbarseries.cpp
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"
Michal Klocek
Adds axis domain intialization
r1695 #include "qbarcategoriesaxis.h"
sauimone
horizontal barchart & example
r1681
#include "chartdataset_p.h"
#include "charttheme_p.h"
sauimone
horizontal barchart frame
r1672 QTCOMMERCIALCHART_BEGIN_NAMESPACE
QHorizontalBarSeries::QHorizontalBarSeries(QObject *parent) :
sauimone
horizontal barchart & example
r1681 QAbstractBarSeries(*new QHorizontalBarSeriesPrivate(this), parent)
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();
qreal x = max();
minX = qMin(minX, x);
sauimone
horizontal percent barchart & example
r1688 minY = qMin(minY, - (qreal)0.5);
sauimone
horizontal barchart & example
r1681 maxX = qMax(maxX, x);
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 }
Chart* QHorizontalBarSeriesPrivate::createGraphics(ChartPresenter* presenter)
{
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->setAnimator(presenter->animator());
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 }
Michal Klocek
Adds axis domain intialization
r1695 void QHorizontalBarSeriesPrivate::initializeAxis(QAbstractAxis* axis)
sauimone
horizontal barchart & example
r1681 {
Michal Klocek
Adds axis domain intialization
r1695
if(axis->type()==QAbstractAxis::AxisTypeCategories && axis->orientation()==Qt::Vertical)
{
QBarCategoriesAxis* cataxis = qobject_cast<QBarCategoriesAxis*>(axis);
Q_ASSERT(cataxis);
QStringList categories;
for (int i(1); i < categoryCount()+1; i++)
categories << QString::number(i);
cataxis->append(categories);
}
sauimone
horizontal barchart & example
r1681 }
Michal Klocek
Adds axis domain intialization
r1695 QAbstractAxis::AxisType QHorizontalBarSeriesPrivate::defaultAxisType(Qt::Orientation orientation) const
sauimone
horizontal barchart & example
r1681 {
Michal Klocek
Adds axis domain intialization
r1695 if(orientation==Qt::Vertical)
return QAbstractAxis::AxisTypeCategories;
else
return QAbstractAxis::AxisTypeValues;
sauimone
horizontal barchart frame
r1672 }
#include "moc_qhorizontalbarseries.cpp"
QTCOMMERCIALCHART_END_NAMESPACE