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