]> git.sesse.net Git - ultimatescore/blob - client/mainwindow.h
Accept and parse BT6000 data over UDP.
[ultimatescore] / client / mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5
6 #include <string>
7 #include <thread>
8
9 #include "ws_server.h"
10 #include "event_device.h"
11
12 namespace Ui {
13 class MainWindow;
14 }
15
16 class QSpinBox;
17
18 class MainWindow : public QMainWindow
19 {
20 Q_OBJECT
21
22 public:
23         explicit MainWindow(QWidget *parent = 0);
24         ~MainWindow();
25
26 private:
27         void ws_disconnect_clicked();
28         void set_initials_clicked();
29         void set_color_clicked();
30         void set_score_clicked();
31         void set_all_scorebug_clicked();
32         void add_goal(QSpinBox *box, int delta);
33         void set_clock_clicked();
34         void set_clock_limit_clicked();
35         void start_and_show_clock_clicked();
36         void stop_clock_clicked();
37         void show_clock_clicked();
38         void hide_clock_clicked();
39         void set_comment_clicked();
40         void set_and_show_comment_clicked();
41         void hide_comment_clicked();
42         void set_and_show_autocomment_clicked();
43         void show_lower_third_clicked();
44         void hide_lower_third_clicked();
45         void quick_lower_third_activate();
46         void autocomment_update();
47         void show_scorebug_clicked();
48         void show_group_clicked(const std::string &group_name);
49         void show_roster_clicked(const std::string &team_code);
50         void show_schedule_clicked();
51         void show_carousel_clicked();
52         void show_roster_carousel_clicked();
53         void show_nothing_clicked();
54         void udp_thread_func();
55         void bt6000_message_received(const std::string &msg);
56
57         Ui::MainWindow *ui;
58         WSServer *ws;
59         EventDevice *event_device;
60
61         std::thread udp_thread;
62 };
63
64 #endif // MAINWINDOW_H