##// END OF EJS Templates
Separated legend marker to private header. Added signals for left and right mouse click
Separated legend marker to private header. Added signals for left and right mouse click

File last commit:

r512:db1a02a52a65
r547:2c194d26bbea
Show More
qbarset.h
70 lines | 1.9 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
// 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 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