##// END OF EJS Templates
Adding some pen & brush tools to piechartcustomization
Adding some pen & brush tools to piechartcustomization

File last commit:

r512:db1a02a52a65
r520:da9aeab11a8e
Show More
barpresenter.cpp
96 lines | 3.0 KiB | text/x-c | CppLexer
sauimone
added _p to private class headers
r381 #include "barpresenter_p.h"
sauimone
renamed bar.h to bar_p.h
r118 #include "bar_p.h"
sauimone
Floating values to bar charts
r263 #include "barvalue_p.h"
sauimone
barchart separators fixed, layout fixed
r505 #include "separator_p.h"
sauimone
Added pen & brush to QBarSet
r214 #include "qbarset.h"
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 #include <QDebug>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
Labels for barchart to axis
r487 BarPresenter::BarPresenter(QBarSeries *series, QChart *parent) :
sauimone
moved tooltip to presenter
r288 BarPresenterBase(series, parent)
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 {
}
sauimone
Common naming convention for barcharts
r216 void BarPresenter::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
review fixes. countCategories() -> categoryCount(). countSets -> barsetCount()
r366 if (mSeries->barsetCount() <= 0) {
sauimone
fixed bug in category implementation. model now owns the category and sets
r173 qDebug() << "No sets in model!";
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) {
sauimone
Bug fix for bar presenters. It appears that order of childItems may change. Relying on order caused crash
r256 qDebug() << "WARNING: BarPresenter::layoutChanged called before graphics items are created!";
sauimone
bug fix in bar charts. Crashed, if layout was set before data. Also integrated to test app.
r165 return;
}
sauimone
Fixed layout for barcharts
r473 // Use temporary qreals for accurancy (we might get some compiler warnings... :)
sauimone
review fixes. countCategories() -> categoryCount(). countSets -> barsetCount()
r366 int categoryCount = mSeries->categoryCount();
int setCount = mSeries->barsetCount();
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
moved tooltip to presenter
r288 qreal tM = mSeries->max();
sauimone
bar chart layout fixing
r99 qreal scale = (tH/tM);
sauimone
Fixed layout for barcharts
r473 qreal tC = categoryCount + 1;
sauimone
barchart separators fixed, layout fixed
r505 qreal categoryWidth = tW/tC;
mBarWidth = categoryWidth / (setCount+1);
sauimone
bar chart layout fixing
r99
sauimone
Improved bar chart series
r71 int itemIndex(0);
sauimone
Floating values to bar charts
r263 for (int category=0; category < categoryCount; category++) {
sauimone
barchart separators fixed, layout fixed
r505 qreal xPos = categoryWidth * category + categoryWidth /2;
sauimone
theme interface to barcharts. some minor fixes
r113 qreal yPos = mHeight;
sauimone
brush support for bargroups
r183 for (int set = 0; set < setCount; set++) {
sauimone
moved tooltip to presenter
r288 qreal barHeight = mSeries->valueAt(set,category) * scale;
sauimone
Bug fix for bar presenters. It appears that order of childItems may change. Relying on order caused crash
r256 Bar* bar = mBars.at(itemIndex);
sauimone
bar chart layout fixing
r99
// TODO: width settable per bar?
sauimone
Fixed layout for barcharts
r473 bar->resize(mBarWidth, barHeight);
sauimone
review fix: Removed iterator from barseries. Remove const from brush and pen. Renamed setters for tooltip, floating values and separators
r357 bar->setBrush(mSeries->barsetAt(set)->brush());
sauimone
moved tooltip to presenter
r288 bar->setPos(xPos, yPos-barHeight);
sauimone
bar chart layout fixing
r99 itemIndex++;
sauimone
Fixed layout for barcharts
r473 xPos += mBarWidth;
sauimone
bar chart layout fixing
r99 }
}
sauimone
barchart separators fixed, layout fixed
r505 // Position separators
qreal xPos = categoryWidth + categoryWidth/2 - mBarWidth /2;
for (int s=0; s < mSeparators.count(); s++) {
Separator* sep = mSeparators.at(s);
sep->setPos(xPos,0);
sep->setSize(QSizeF(1,mHeight));
sauimone
better use of gradients in barcharts
r512 sep->setColor(QColor(255,0,0,255)); // TODO: color for separations from theme
sauimone
barchart separators fixed, layout fixed
r505 xPos += categoryWidth;
}
sauimone
Floating values to bar charts
r263 // Position floating values
itemIndex = 0;
sauimone
review fixes. countCategories() -> categoryCount(). countSets -> barsetCount()
r366 for (int category=0; category < mSeries->categoryCount(); category++) {
sauimone
barchart separators fixed, layout fixed
r505 qreal xPos = categoryWidth * category + categoryWidth/2 + mBarWidth/2;
sauimone
Floating values to bar charts
r263 qreal yPos = mHeight;
sauimone
review fixes. countCategories() -> categoryCount(). countSets -> barsetCount()
r366 for (int set=0; set < mSeries->barsetCount(); set++) {
sauimone
moved tooltip to presenter
r288 qreal barHeight = mSeries->valueAt(set,category) * scale;
sauimone
Floating values to bar charts
r263 BarValue* value = mFloatingValues.at(itemIndex);
sauimone
better use of gradients in barcharts
r512 QBarSet* barSet = mSeries->barsetAt(set);
value->resize(100,50); // TODO: proper layout for this.
sauimone
updated barchart examples. minor fixes
r276 value->setPos(xPos, yPos-barHeight/2);
sauimone
better use of gradients in barcharts
r512 value->setPen(barSet->floatingValuePen());
sauimone
Floating values to bar charts
r263
sauimone
moved tooltip to presenter
r288 if (mSeries->valueAt(set,category) != 0) {
value->setValueString(QString::number(mSeries->valueAt(set,category)));
sauimone
updated barchart examples. minor fixes
r276 } else {
value->setValueString(QString(""));
}
sauimone
Floating values to bar charts
r263
itemIndex++;
sauimone
Fixed layout for barcharts
r473 xPos += mBarWidth;
sauimone
Floating values to bar charts
r263 }
}
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 }
sauimone
added _p to private class headers
r381 #include "moc_barpresenter_p.cpp"
sauimone
moved tooltip to presenter
r288
sauimone
Integrating bar chart. Cleaned up old implementation. TODO: show this in test application. how?
r56 QTCOMMERCIALCHART_END_NAMESPACE