]> git.tdb.fi Git - r2c2.git/blobdiff - source/remote/trainselector.h
Add a new remote control program with GLtk-based UI
[r2c2.git] / source / remote / trainselector.h
diff --git a/source/remote/trainselector.h b/source/remote/trainselector.h
new file mode 100644 (file)
index 0000000..00f46dd
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef TRAINSELECTOR_H_
+#define TRAINSELECTOR_H_
+
+#include <msp/gltk/dropdown.h>
+#include <msp/gltk/listdata.h>
+#include <msp/gltk/panel.h>
+#include "network/train.h"
+
+class TrainSelector: public Msp::GLtk::Panel
+{
+public:
+       sigc::signal<void, R2C2::NetTrain *> signal_train_selected;
+
+private:
+       Msp::GLtk::Dropdown *drp_trains;
+       Msp::GLtk::FunctionListData<R2C2::NetTrain *> trains;
+
+public:
+       TrainSelector(R2C2::Client &);
+
+private:
+       void train_added(R2C2::NetTrain &);
+       void train_selected(unsigned);
+};
+
+#endif