##// END OF EJS Templates
Refactor to use qseries private for implmentation interface...
Refactor to use qseries private for implmentation interface * adds missing headers private stacked, percent bar series * refactors dataset switch case -> scaleDomain * refactors presenter switch case -> createGraphics

File last commit:

r943:d79a954416af
r943:d79a954416af
Show More
qbarseries_p.h
70 lines | 2.1 KiB | text/x-c | CLexer
Michal Klocek
Adds big fat pimpl to series classes...
r938 #ifndef QBARSERIES_P_H
#define QBARSERIES_P_H
sauimone
barchart pimpl part 1
r934
#include "qbarseries.h"
Michal Klocek
Adds big fat pimpl to series classes...
r938 #include "qseries_p.h"
sauimone
barchart pimpl part 1
r934 #include <QStringList>
#include <QSeries>
class QModelIndex;
QTCOMMERCIALCHART_BEGIN_NAMESPACE
// Container for series
Michal Klocek
Adds big fat pimpl to series classes...
r938 class QBarSeriesPrivate : public QSeriesPrivate
sauimone
barchart pimpl part 1
r934 {
Q_OBJECT
public:
Michal Klocek
Adds big fat pimpl to series classes...
r938 QBarSeriesPrivate(QBarCategories categories, QBarSeries *parent);
sauimone
barchart pimpl part 1
r934
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943 void scaleDomain(Domain& domain);
Chart* createGraphics(ChartPresenter* presenter);
sauimone
barchart pimpl part 1
r934 bool setModel(QAbstractItemModel *model);
void setModelMapping(int categories, int bottomBoundry, int topBoundry, Qt::Orientation orientation = Qt::Vertical);
QBarSet* barsetAt(int index);
QString categoryName(int category);
qreal min();
qreal max();
qreal valueAt(int set, int category);
qreal percentageAt(int set, int category);
qreal categorySum(int category);
qreal absoluteCategorySum(int category);
qreal maxCategorySum();
BarChartModel& modelInternal();
Q_SIGNALS:
void clicked(QBarSet *barset, QString category, Qt::MouseButtons button); // Up to user of api, what to do with these signals
void selected();
void updatedBars();
void restructuredBars();
void showToolTip(QPoint pos, QString tip);
public Q_SLOTS:
void setToolTipEnabled(bool enabled = true); // enables tooltips
void barsetClicked(QString category, Qt::MouseButtons button);
private Q_SLOTS:
// slots for updating bars when data in model changes
void modelUpdated(QModelIndex topLeft, QModelIndex bottomRight);
void modelDataAdded(QModelIndex parent, int start, int end);
void modelDataRemoved(QModelIndex parent, int start, int end);
void barsetChanged();
protected:
BarChartModel *m_internalModel; // TODO: this may change... current "2 models" situation doesn't look good.
QAbstractItemModel* m_model;
int m_mapCategories;
int m_mapBarBottom;
int m_mapBarTop;
int m_mapFirst;
int m_mapCount;
Qt::Orientation m_mapOrientation;
Michal Klocek
Adds big fat pimpl to series classes...
r938 private:
Q_DECLARE_PUBLIC(QBarSeries)
sauimone
barchart pimpl part 1
r934 };
QTCOMMERCIALCHART_END_NAMESPACE
#endif // QBARSERIESPRIVATE_P_H