00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OLEDBOX_H
00031 #define OLEDBOX_H
00032
00033
00034 #include <qwidget.h>
00035 #include <qcolor.h>
00036
00037 class QPixmap;
00038
00039 namespace Opie {
00040 namespace Ui {
00041
00042 class OLedBox : public QWidget
00043 {
00044 Q_OBJECT
00045
00046 public:
00047 OLedBox( const QColor& col = red, QWidget* parent = 0, const char* name = 0 );
00048 virtual ~OLedBox();
00049
00050 QColor color() const;
00051 bool isOn() const;
00052 void setReadOnly( bool R ) { m_readonly = R; }
00053 bool readOnly( void ) const { return m_readonly; }
00054
00055 virtual QSize sizeHint() const;
00056
00057 public slots:
00058 void toggle();
00059 void setOn( bool on );
00060 void setColor( const QColor& col );
00061
00062 signals:
00063 void toggled( bool );
00064
00065 protected:
00066 virtual void paintEvent( QPaintEvent* e );
00067 virtual void resizeEvent( QResizeEvent* e );
00068
00069 virtual void mousePressEvent( QMouseEvent* e );
00070
00071 private:
00072 void drawLed( QPixmap *, const QColor& col );
00073
00074 private:
00075 QPixmap *m_pix [2];
00076
00077 QColor m_color;
00078 bool m_on;
00079 bool m_readonly;
00080
00081 static QPixmap *s_border_pix;
00082 };
00083 };
00084 };
00085 #endif