#ifndef BARSERIES_H #define BARSERIES_H #include "qseries.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE class QBarSet; class BarChartModel; class BarCategory; // Container for series class QTCOMMERCIALCHART_EXPORT QBarSeries : public QSeries { Q_OBJECT public: QBarSeries(QStringList categories, QObject* parent=0); virtual QSeriesType type() const { return QSeries::SeriesTypeBar; } void addBarSet(QBarSet *set); // Takes ownership of set void removeBarSet(QBarSet *set); // Releases ownership, doesn't delete set int barsetCount(); int categoryCount(); QList barSets(); QList legend(); public: // TODO: Functions below this are not part of api and will be moved // to private implementation, when we start using it // TODO: TO PIMPL ---> 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 maxCategorySum(); BarChartModel& model(); BarCategory* categoryObject(int category); // <--- TO PIMPL signals: void changed(int index); void categoryRightClicked(QString category); // TODO: internal signals, these to private implementation. // TODO: TO PIMPL ---> void floatingValuesEnabled(bool enabled); void toolTipEnabled(bool enabled); void separatorsEnabled(bool enabled); void showToolTip(QPoint pos, QString tip); // <--- TO PIMPL public Q_SLOTS: void setFloatingValuesEnabled(bool enabled=true); // enables floating values on top of bars void setToolTipEnabled(bool enabled=true); // enables tooltips void setSeparatorsEnabled(bool enabled=true); // enables separators between categories protected: BarChartModel* mModel; }; QTCOMMERCIALCHART_END_NAMESPACE #endif // BARSERIES_H