3117c9f1b0fa5b08de4e42e6e8988322a91ba6a3
[multypo.git] / qt / multypo.h
1 #ifndef MULTIKBD_H
2 #define MULTIKBD_H
3
4 #include <QWidget>
5 #include <QMap>
6 #include <QFile>
7
8 #include "player.h"
9
10 class MultypoWindow : public QWidget
11 {
12         Q_OBJECT
13         
14 public:
15     enum State {
16         Naming,
17         Playing,
18         Scoring
19     };
20     
21         explicit MultypoWindow(QWidget *parent = 0);
22         ~MultypoWindow();
23
24         bool handleX11Event(XEvent *event);
25
26 private:
27         void handleKeyPress(int device, QString string);
28         void nextWord();
29     bool allPlayersWaiting();
30     int typingPlayers();
31
32     State state; // naming iff (no players or any player is naming)
33     QString currentWord; // defined iff state == Playing
34     QMap<int, Player*> players;
35     
36         bool xiInited;
37         int xiOpcode;
38         QLabel *mainLabel;
39         QFile words;
40 };
41
42 #endif // MULTIKBD_H