qbarseries_p.h
66 lines
| 1.9 KiB
| text/x-c
|
CLexer
Michal Klocek
|
r938 | #ifndef QBARSERIES_P_H | ||
#define QBARSERIES_P_H | ||||
sauimone
|
r934 | |||
#include "qbarseries.h" | ||||
Michal Klocek
|
r938 | #include "qseries_p.h" | ||
sauimone
|
r934 | #include <QStringList> | ||
#include <QSeries> | ||||
class QModelIndex; | ||||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
// Container for series | ||||
Michal Klocek
|
r938 | class QBarSeriesPrivate : public QSeriesPrivate | ||
sauimone
|
r934 | { | ||
Q_OBJECT | ||||
public: | ||||
Michal Klocek
|
r938 | QBarSeriesPrivate(QBarCategories categories, QBarSeries *parent); | ||
sauimone
|
r934 | |||
Michal Klocek
|
r943 | void scaleDomain(Domain& domain); | ||
Chart* createGraphics(ChartPresenter* presenter); | ||||
Michal Klocek
|
r950 | QList<LegendMarker*> createLegendMarker(QLegend* legend); | ||
Michal Klocek
|
r943 | |||
sauimone
|
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: | ||||
sauimone
|
r968 | void clicked(QBarSet *barset, QString category, Qt::MouseButtons button); | ||
sauimone
|
r934 | void selected(); | ||
void updatedBars(); | ||||
void restructuredBars(); | ||||
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
|
r938 | private: | ||
Q_DECLARE_PUBLIC(QBarSeries) | ||||
sauimone
|
r934 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // QBARSERIESPRIVATE_P_H | ||||