00001 #ifndef __GBUTTON__ 00002 #define __GBUTTON__ 00003 00004 #include <qwidget.h> 00005 #include <qpixmap.h> 00006 00007 class WASkin; 00008 00009 class GButton : public QWidget 00010 { 00011 Q_OBJECT 00012 friend class WASkin; 00013 public: 00014 GButton(bool toggle, QWidget * parent = 0); 00015 00016 void setOn(bool); 00017 inline bool isOn(void) { return on; } 00018 00019 protected: 00020 virtual void paintEvent(QPaintEvent *); 00021 virtual void mousePressEvent(QMouseEvent *); 00022 virtual void mouseReleaseEvent(QMouseEvent *); 00023 00024 signals: 00025 void pressed(void); 00026 void clicked(void); 00027 void toggled(bool); 00028 00029 private: 00030 const bool toggle; 00031 bool down; 00032 bool on; 00033 QPixmap pmPressed, pmReleased; 00034 QPixmap pmtPressed, pmtReleased; 00035 }; 00036 00037 #endif