00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef GUI_CLICKABLELABEL_H
00012 #define GUI_CLICKABLELABEL_H
00013
00014 #include <qlabel.h>
00015 #include <qpixmap.h>
00016
00017
00020
00021
00022
00023 class ClickableLabel : public QLabel
00024 {
00025 Q_OBJECT
00026
00027 public:
00028 ClickableLabel( QWidget *parent=0, const char* name=0);
00029 void setInvisible( bool val );
00030
00031 protected:
00033 void paintEvent( QPaintEvent *e );
00034
00035 void enterEvent ( QEvent * );
00036 void leaveEvent ( QEvent * );
00037
00038 void mouseMoveEvent( QMouseEvent* e );
00039 void mousePressEvent ( QMouseEvent * );
00040 void mouseReleaseEvent ( QMouseEvent * e );
00041
00042 public slots:
00043 void setEnabled( bool val );
00044 void setPixmap( const QPixmap &p );
00045
00046 signals:
00047 void clicked();
00048
00049 private:
00050
00051 void setActive();
00052
00053
00054 void setHighlighted();
00055
00056 QPixmap defaultPixmap;
00057 bool enabled;
00058 bool invisible;
00059 bool pressed;
00060
00061 };
00062
00063
00064 #endif //GUI_CLICKABLELABEL_H