1 #ifndef _CLIPPER_LABEL_H_ 2 #define _CLIPPER_LABEL_H_ 3 4 #include <QFrame> 5 #include <QLinearGradient> 6 #include <QSize> 7 #include <QString> 8 9 class QPaintEvent; 10 class QResizeEvent; 11 class QMouseEvent; 12 class QContextMenuEvent; 13 14 namespace MusEGui 15 { 16 class ClipperLabel : public QFrame 17 { 18 Q_OBJECT 19 Q_PROPERTY( bool clipped READ clipped WRITE setClipped ) 20 21 private: 22 bool _isClipped; 23 double _value; 24 QString _text; 25 QLinearGradient _onGradient; 26 27 public: 28 ClipperLabel(QWidget *parent = 0); 29 virtual QSize sizeHint() const; clipped()30 bool clipped() const { return _isClipped; } 31 void setClipped(bool b); 32 void setVal(double v, bool force = false); 33 34 protected: 35 virtual void paintEvent(QPaintEvent *); 36 virtual void resizeEvent(QResizeEvent *e); 37 virtual void mousePressEvent(QMouseEvent *); 38 virtual void mouseReleaseEvent(QMouseEvent *); 39 virtual void mouseMoveEvent(QMouseEvent *); 40 virtual void contextMenuEvent(QContextMenuEvent*); 41 42 signals: 43 void clicked(); 44 45 }; 46 47 } 48 49 #endif 50