##// END OF EJS Templates
Scrolling logic to legend
Scrolling logic to legend

File last commit:

r663:9af75e8e0281
r716:e7d88adcf7ee
Show More
qbarset.h
74 lines | 2.0 KiB | text/x-c | CLexer
#ifndef QBARSET_H
#define QBARSET_H
#include <qchartglobal.h>
#include <QPen>
#include <QBrush>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QTCOMMERCIALCHART_EXPORT QBarSet : public QObject
{
Q_OBJECT
public:
QBarSet(QString name, QObject *parent = 0);
void setName(QString name);
QString name();
QBarSet& operator << (const qreal &value); // appends new value to set
void insertValue(int i, qreal value);
void removeValue(int i);
// TODO: remove indices eventually. Use as internal?
int count(); // count of values in set
qreal valueAt(int index); // for modifying individual values
void setValue(int index, qreal value); // setter for individual value
qreal total(); // total values in the set
// TODO:
//qreal value(QString category);
//void setValue(QString category, qreal value);
void setPen(const QPen pen);
QPen pen() const;
void setBrush(const QBrush brush);
QBrush brush() const;
void setFloatingValuePen(const QPen pen);
QPen floatingValuePen() const;
Q_SIGNALS:
void clicked(QString category); // Clicked and hover signals exposed to user
void rightClicked(QString category);
void toggleFloatingValues();
// TODO: Expose this to user or not?
// TODO: TO PIMPL --->
void structureChanged();
void valueChanged();
void hoverEnter(QPoint pos);
void hoverLeave();
void showToolTip(QPoint pos, QString tip); // Private signal
// <--- TO PIMPL
public Q_SLOTS:
// These are for internal communication
// TODO: TO PIMPL --->
void barHoverEnterEvent(QPoint pos);
void barHoverLeaveEvent();
// <--- TO PIMPL
private:
QString mName;
QList<qreal> mValues; // TODO: replace with map (category, value)
QMap<QString,qreal> mMappedValues;
QPen mPen;
QBrush mBrush;
QPen mFloatingValuePen;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif // QBARSET_H