iisiconlabel.h
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef IISICONLABEL_H
00009 #define IISICONLABEL_H
00010 
00011 #include <QtGui>
00012 
00013 #include "iistaskpanel_global.h"
00014 
00015 struct iisIconLabelScheme;
00016 
00017 class IISTASKPANEL_EXPORT iisIconLabel : public QWidget
00018 {
00019         Q_OBJECT
00020 
00021 public:
00022         iisIconLabel(const QIcon &icon, const QString &title, QWidget *parent = 0);
00023         virtual ~iisIconLabel();
00024 
00025         void setColors(const QColor &color, const QColor &colorOver, const QColor &colorOff);
00026         void setFont(const QFont &font);
00027         void setFocusPen(const QPen &pen);
00028 
00029         void setSchemePointer(iisIconLabelScheme **pointer);
00030 
00031         virtual QSize sizeHint() const;
00032         virtual QSize minimumSizeHint() const;
00033 
00034 Q_SIGNALS:
00035         void pressed();
00036         void released();
00037         void clicked();
00038         void activated();
00039         void contextMenu();
00040 
00041 protected:
00042         virtual void paintEvent ( QPaintEvent * event );
00043         virtual void enterEvent ( QEvent * event );
00044         virtual void leaveEvent ( QEvent * event );
00045 
00046         virtual void mousePressEvent ( QMouseEvent * event );
00047         virtual void mouseReleaseEvent ( QMouseEvent * event );
00048         virtual void keyPressEvent ( QKeyEvent * event );
00049 
00050         QIcon myPixmap;
00051         QString myText;
00052 
00053         QColor myColor, myColorOver, myColorDisabled;
00054         QFont myFont;
00055         QPen myPen;
00056 
00057         iisIconLabelScheme **mySchemePointer;
00058 
00059         bool m_over, m_pressed;
00060 
00061         bool m_changeCursorOver, m_underlineOver;
00062 };
00063 
00064 #endif // IISICONLABEL_H