##// END OF EJS Templates
Tinkering with piechartcustomization
Tinkering with piechartcustomization

File last commit:

r1462:62d898329cbd
r1486:0f0d41a23707
Show More
percentbarchartitem.cpp
106 lines | 3.6 KiB | text/x-c | CppLexer
/ src / barchart / percentbarchartitem.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$
**
****************************************************************************/
sauimone
combined barpresenterbase and barpresenter. renamed barchartpresenters to barchartitems
r666 #include "percentbarchartitem_p.h"
sauimone
renamed bar.h to bar_p.h
r118 #include "bar_p.h"
sauimone
barchart PIMPL part 2. Cleaning up leftovers in public api
r962 #include "qbarseries_p.h"
sauimone
Added pen & brush to QBarSet
r214 #include "qbarset.h"
sauimone
animations for stacked and percentbarchart
r1426 #include "chartanimator_p.h"
sauimone
percent bar chart
r101
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Tero Ahola
Code review: Fixed simple issues in Bar and Legend
r737 PercentBarChartItem::PercentBarChartItem(QBarSeries *series, ChartPresenter *presenter) :
Michal Klocek
Refactors chartitem...
r677 BarChartItem(series, presenter)
sauimone
percent bar chart
r101 {
}
sauimone
animations to stacked and percent barchart
r694 QVector<QRectF> PercentBarChartItem::calculateLayout()
sauimone
percent bar chart
r101 {
sauimone
animations to stacked and percent barchart
r694 QVector<QRectF> layout;
sauimone
bug fix in bar charts. Crashed, if layout was set before data. Also integrated to test app.
r165
sauimone
removed categories from barseries. categories are now only on axis
r1321 // Use temporary qreals for accuracy
qreal categoryCount = m_series->d_func()->categoryCount();
Tero Ahola
Minor modifications to properties of abstract, area and bar series
r1462 qreal setCount = m_series->count();
sauimone
barchart visible property fix
r1322 bool barsVisible = m_series->isVisible();
sauimone
percent bar chart
r101
sauimone
correct x-positioning for barcharts
r1228 // Domain:
qreal width = geometry().width();
qreal height = geometry().height();
qreal rangeY = m_domainMaxY - m_domainMinY;
qreal rangeX = m_domainMaxX - m_domainMinX;
qreal scaleY = (height / rangeY);
qreal scaleX = (width / rangeX);
sauimone
barmargin replaced with barwidth
r1425 qreal barWidth = scaleX * m_series->d_func()->barWidth();
sauimone
percent barchart layout fix. signal fix
r850
sauimone
Fixed layout for barcharts
r473 int itemIndex(0);
Tero Ahola
Code review: Fixed simple issues in Bar and Legend
r737 for (int category = 0; category < categoryCount; category++) {
sauimone
barchart PIMPL part 2. Cleaning up leftovers in public api
r962 qreal colSum = m_series->d_func()->categorySum(category);
sauimone
percent barchart layout fix. signal fix
r850 qreal percentage = (100 / colSum);
sauimone
correct x-positioning for barcharts
r1228 qreal yPos = height + scaleY * m_domainMinY + geometry().topLeft().y();
for (int set=0; set < setCount; set++) {
sauimone
barchart PIMPL part 2. Cleaning up leftovers in public api
r962 QBarSet* barSet = m_series->d_func()->barsetAt(set);
sauimone
correct x-positioning for barcharts
r1228
qreal xPos = (barSet->at(category).x() - m_domainMinX) * scaleX + m_rect.left() - barWidth/2;
qreal barHeight = barSet->at(category).y() * percentage * scaleY;
sauimone
minor code review fixes, part n
r763 Bar* bar = m_bars.at(itemIndex);
sauimone
Barchart value layout fix
r817 bar->setPen(barSet->pen());
bar->setBrush(barSet->brush());
sauimone
barchart visible property fix
r1322 bar->setVisible(barsVisible);
Tero Ahola
Code review: Fixed simple issues in Bar and Legend
r737 QRectF rect(xPos, yPos-barHeight, barWidth, barHeight);
sauimone
animations to stacked and percent barchart
r694 layout.append(rect);
sauimone
cleanup on barseries. removed old commented out separator code
r654
sauimone
removed barlabel. label visibility control is now per series instead of per set
r1246 QGraphicsSimpleTextItem* label = m_labels.at(itemIndex);
sauimone
Floating values to bar charts
r263
sauimone
barchart PIMPL part 2. Cleaning up leftovers in public api
r962 if (!qFuzzyIsNull(m_series->d_func()->valueAt(set,category))) {
int p = m_series->d_func()->percentageAt(set,category) * 100;
sauimone
barcharts: added legend to model. added signals for hover events (for tooltip). updated examples
r280 QString vString(QString::number(p));
vString.truncate(3);
sauimone
updated barchart examples. minor fixes
r276 vString.append("%");
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 label->setText(vString);
sauimone
updated barchart examples. minor fixes
r276 } else {
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 label->setText(QString(""));
sauimone
updated barchart examples. minor fixes
r276 }
sauimone
Floating values to bar charts
r263
sauimone
renamed barchart floating values with labels to be consistent with piechart
r820 label->setPos(xPos + (rect.width()/2 - label->boundingRect().width()/2)
,yPos - barHeight/2 - label->boundingRect().height()/2);
sauimone
fixed clipping in barcharts
r839 label->setFont(barSet->labelFont());
Tero Ahola
Fixed a bug with QBarSet::setLabelBrush
r1306 label->setBrush(barSet->labelBrush());
sauimone
barchart visible property fix
r1322
sauimone
Floating values to bar charts
r263 itemIndex++;
yPos -= barHeight;
}
sauimone
refactored barcharts. layout to derived classess other funtionality to base class
r126 }
sauimone
animations to stacked and percent barchart
r694 return layout;
sauimone
percent bar chart
r101 }
sauimone
animations for stacked and percentbarchart
r1426 void PercentBarChartItem::applyLayout(const QVector<QRectF> &layout)
{
if (animator()) {
animator()->updateLayout(this, m_layout, layout);
} else {
setLayout(layout);
update();
}
}
sauimone
combined barpresenterbase and barpresenter. renamed barchartpresenters to barchartitems
r666 #include "moc_percentbarchartitem_p.cpp"
sauimone
moved tooltip to presenter
r288
sauimone
percent bar chart
r101 QTCOMMERCIALCHART_END_NAMESPACE