Projet e-stok  0.2
BTS SNIR LaSalle Avignon 2020
Keyboard.h
Aller à la documentation de ce fichier.
1 #ifndef KEYBOARD_H
2 #define KEYBOARD_H
3 
12 #include <QtWidgets>
13 
14 #define KEYBOARD_SINGLETON
15 //#define DEBUG_KEYBOARD
16 
22 class Keyboard : public QWidget
23 {
24  Q_OBJECT
25 private:
26 #ifdef KEYBOARD_SINGLETON
27  explicit Keyboard(QLineEdit *lineEdit = Q_NULLPTR, QWidget *parent = Q_NULLPTR);
28  static Keyboard* instance;
29 #endif
30  QStackedWidget *stackedWidget;
31  QGridLayout *gridLayout;
32  QHBoxLayout *hBoxLayout;
33  QSignalMapper *mapper;
34  QLineEdit *lineEdit;
36  bool capsLock;
37  bool mask;
38  void init();
39  void makeCapsLock();
40  QString keyToCharacter(int key);
41 
42 protected:
43  void paintEvent(QPaintEvent *e);
44 
45 public:
46 #ifndef KEYBOARD_SINGLETON
47  explicit Keyboard(QLineEdit *lineEdit = Q_NULLPTR, QWidget *parent = Q_NULLPTR);
48 #else
49  static Keyboard* getInstance(QWidget *parent = Q_NULLPTR);
50  static Keyboard* getInstance(QLineEdit *lineEdit, QWidget *parent = Q_NULLPTR);
51 #endif
52  void setLineEdit(QLineEdit *lineEdit);
53 
54 public slots:
55  void showKeyboard(int globalX, int globalY);
56  void hideKeyboard();
57  bool keyboardVisible() const;
58 
59 signals:
60  void specialKeyClicked(int key);
61  void keyClicked(const QString &text);
62 
63 private slots:
64  void buttonClicked(int key);
65  void focusChange(QWidget*, QWidget*);
66  void keyboardSpecialKeyClicked(int key);
67  void keyboardKeyClicked(const QString &characters);
68 };
69 
70 #endif
Déclaration de la classe Keyboard.
Definition: Keyboard.h:22
void paintEvent(QPaintEvent *e)
Definition: Keyboard.cpp:113
QSignalMapper * mapper
Definition: Keyboard.h:33
bool capsLock
Definition: Keyboard.h:36
QGridLayout * gridLayout
Definition: Keyboard.h:31
static Keyboard * getInstance(QWidget *parent=Q_NULLPTR)
static Keyboard * instance
Definition: Keyboard.h:28
void setLineEdit(QLineEdit *lineEdit)
Definition: Keyboard.cpp:123
QStackedWidget * stackedWidget
Definition: Keyboard.h:30
QPushButton * buttonEsc
Definition: Keyboard.h:35
void showKeyboard(int globalX, int globalY)
Definition: Keyboard.cpp:136
void buttonClicked(int key)
Definition: Keyboard.cpp:162
QLineEdit * lineEdit
Definition: Keyboard.h:34
void keyboardSpecialKeyClicked(int key)
Definition: Keyboard.cpp:223
void focusChange(QWidget *, QWidget *)
Definition: Keyboard.cpp:204
void makeCapsLock()
Definition: Keyboard.cpp:317
QHBoxLayout * hBoxLayout
Definition: Keyboard.h:32
bool mask
Definition: Keyboard.h:37
void hideKeyboard()
Definition: Keyboard.cpp:152
void init()
Definition: Keyboard.cpp:263
void keyClicked(const QString &text)
bool keyboardVisible() const
Definition: Keyboard.cpp:157
QString keyToCharacter(int key)
Definition: Keyboard.cpp:345
void specialKeyClicked(int key)
Keyboard(QLineEdit *lineEdit=Q_NULLPTR, QWidget *parent=Q_NULLPTR)
Definition: Keyboard.cpp:100
void keyboardKeyClicked(const QString &characters)
Definition: Keyboard.cpp:249