]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/trainlistdialog.h
Add a dialog to display telemetry data from the driver
[r2c2.git] / source / engineer / trainlistdialog.h
index c12bcd4fc72c8a6bfb95f348f3605a2192c86f7e..9403d2f3fe50ac2cb2ba1c9062eb2e3a55e5c8bd 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef TRAINLISTDIALOG_H_
 #define TRAINLISTDIALOG_H_
 
+#include <sigc++/trackable.h>
 #include <msp/gltk/dialog.h>
 #include <msp/gltk/list.h>
 #include <msp/gltk/listdata.h>
@@ -8,13 +9,15 @@
 
 class Engineer;
 
-class TrainListDialog: public Msp::GLtk::Dialog
+class TrainListDialog: public Msp::GLtk::Dialog, public sigc::trackable
 {
 private:
        Engineer &engineer;
        R2C2::Layout &layout;
        Msp::GLtk::BasicListData<R2C2::Train *> trains;
        Msp::GLtk::List *lst_trains;
+       Msp::GLtk::BasicListData<const R2C2::Driver::DetectedLocomotive *> detected_locos;
+       Msp::GLtk::List *lst_imported;
 
 public:
        TrainListDialog(Engineer &);
@@ -22,6 +25,12 @@ public:
 private:
        void new_clicked();
        void show_clicked();
+       void tab_toggled(bool, Msp::GLtk::Widget *);
+       void locomotive_detected(const R2C2::Driver::DetectedLocomotive &);
+       void locomotive_gone(const R2C2::Driver::DetectedLocomotive &);
+       void train_added(R2C2::Train &);
+       void train_removed(R2C2::Train &);
+       void train_name_changed(R2C2::Train &);
 };
 
 #endif