##// END OF EJS Templates
added labels to series, intergrated with test app. minor hack to test app
added labels to series, intergrated with test app. minor hack to test app

File last commit:

r167:023d2c8150a8
r167:023d2c8150a8
Show More
bargroup.cpp
69 lines | 2.1 KiB | text/x-c | CppLexer
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 #include "bargroup.h"
sauimone
renamed bar.h to bar_p.h
r118 #include "bar_p.h"
sauimone
added labels to barcharts
r114 #include "barlabel_p.h"
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 #include <QDebug>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
Added bar chart example
r78 BarGroup::BarGroup(BarChartSeries& series, QGraphicsItem *parent) :
sauimone
refactored barcharts. layout to derived classess other funtionality to base class
r126 BarGroupBase(series,parent)
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 {
sauimone
refactored barcharts. layout to derived classess other funtionality to base class
r126 mBarDefaultWidth = 10;
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 }
void BarGroup::layoutChanged()
{
sauimone
model delegate for bar series. updated examples
r161 qDebug() << "BarGroup::layoutChanged";
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 // Scale bars to new layout
// Layout for bars:
sauimone
model delegate for bar series. updated examples
r161 if (mModel.countRows() <= 0) {
sauimone
model prototyping for bar chart
r159 return;
}
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56
sauimone
bug fix in bar charts. Crashed, if layout was set before data. Also integrated to test app.
r165 if (childItems().count() == 0) {
qDebug() << "WARNING: BarGroup::layoutChanged called before graphics items are created!";
return;
}
sauimone
percent bar chart
r101 // TODO: better way to auto-layout?
sauimone
bar chart layout fixing
r99 // Use reals for accurancy (we might get some compiler warnings... :)
sauimone
model delegate for bar series. updated examples
r161 int itemCount = mModel.countColumns();
int seriesCount = mModel.countRows();
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56
sauimone
bar chart layout fixing
r99 qreal tW = mWidth;
qreal tH = mHeight;
sauimone
added labels to series, intergrated with test app. minor hack to test app
r167 qreal tM = mModel.max();
sauimone
bar chart layout fixing
r99 qreal scale = (tH/tM);
sauimone
model prototyping for bar chart
r159 qreal tC = itemCount+1;
sauimone
bar chart layout fixing
r99 qreal xStepPerSeries = (tW/tC);
sauimone
correct drawing for barchart
r82 // Scaling.
sauimone
Improved bar chart series
r71 int itemIndex(0);
sauimone
model prototyping for bar chart
r159 int labelIndex = itemCount * seriesCount;
sauimone
added labels to barcharts
r114
sauimone
model prototyping for bar chart
r159 for (int item=0; item < itemCount; item++) {
qreal xPos = xStepPerSeries * item + ((tW + mBarDefaultWidth*seriesCount)/(itemCount*2));
sauimone
theme interface to barcharts. some minor fixes
r113 qreal yPos = mHeight;
sauimone
model prototyping for bar chart
r159 for (int series = 0; series < seriesCount; series++) {
qreal barHeight = mModel.valueAt(series, item) * scale;
sauimone
bar chart layout fixing
r99 Bar* bar = reinterpret_cast<Bar*> (childItems().at(itemIndex));
// TODO: width settable per bar?
bar->resize(mBarDefaultWidth, barHeight);
sauimone
model prototyping for bar chart
r159 bar->setColor(mColors.at(series));
sauimone
theme interface to barcharts. some minor fixes
r113 bar->setPos(xPos, yPos-barHeight); // item*posStep+startPos + series * mBarDefaultWidth, mHeight);
sauimone
bar chart layout fixing
r99 itemIndex++;
xPos += mBarDefaultWidth;
}
sauimone
added labels to barcharts
r114
// TODO: Layout for labels, remove magic number
sauimone
model prototyping for bar chart
r159 xPos = xStepPerSeries * item + ((tW + mBarDefaultWidth*seriesCount)/(itemCount*2));
sauimone
added labels to barcharts
r114 BarLabel* label = reinterpret_cast<BarLabel*> (childItems().at(labelIndex));
label->setPos(xPos, mHeight + 20);
labelIndex++;
sauimone
bar chart layout fixing
r99 }
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 mLayoutDirty = true;
}
QTCOMMERCIALCHART_END_NAMESPACE