00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef PICKER_H
00011 #define PICKER_H
00012
00013 #include <qlabel.h>
00014 #include <qframe.h>
00015 #include <qevent.h>
00016 #include <qsizepolicy.h>
00017
00018 class PickerLabel: public QLabel {
00019 Q_OBJECT
00020 public:
00021 PickerLabel( QWidget *parent = 0, const char *name = 0 );
00022 ~PickerLabel();
00023
00024 void setLetters( char ch1, char ch2, char ch3 );
00025 void clearLetter();
00026
00027 signals:
00028
00029 void selectedLetter( char );
00030 void clearAll();
00031
00032 protected:
00033
00034 void mouseReleaseEvent( QMouseEvent *e );
00035 void mousePressEvent( QMouseEvent *e );
00036
00037 private:
00038
00039 int currentLetter;
00040 static char lastLetter;
00041 char letter1, letter2, letter3;
00042
00043 private slots:
00044
00045 void emitClearSignal();
00046
00047 };
00048 class LetterPicker: public QFrame {
00049 Q_OBJECT
00050 public:
00051 LetterPicker( QWidget *parent = 0, const char *name = 0 );
00052 ~LetterPicker();
00053
00054 QSizePolicy sizePolicy () const;
00055
00056 public slots:
00057 void clear();
00058
00059 signals:
00060 void letterClicked( char );
00061
00062 private:
00063 PickerLabel *lblABC, *lblDEF, *lblGHI, *lblJKL, *lblMNO, *lblPQR, *lblSTU, *lblVWX, *lblYZ;
00064 PickerLabel *lastLabel;
00065
00066 private slots:
00067 void newLetter( char letter );
00068 };
00069
00070 #endif