]> git.tdb.fi Git - r2c2.git/blob - source/remote/remote.h
Some other minor UI tweaks
[r2c2.git] / source / remote / remote.h
1 #ifndef REMOTE_H_
2 #define REMOTE_H_
3
4 #include <gtkmm/main.h>
5 #include <gtkmm/window.h>
6 #include <gtkmm/box.h>
7 #include <msp/core/application.h>
8 #include "network/client.h"
9
10 class MainPanel;
11 class TrainPanel;
12
13 class Remote: public Msp::RegisteredApplication<Remote>
14 {
15 private:
16         Msp::IO::EventDispatcher event_disp;
17         R2C2::Catalogue catalogue;
18         R2C2::Client client;
19         Gtk::Main gtk;
20         Gtk::Window window;
21         Gtk::Box *panel_box;
22         MainPanel *main_panel;
23         std::vector<TrainPanel *> train_panels;
24
25 public:
26         Remote(int argc, char **argv);
27
28         const R2C2::Catalogue &get_catalogue() const { return catalogue; }
29 private:
30         void tick();
31
32         void train_added(R2C2::NetTrain &);
33 };
34
35 #endif