]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/trainpanel.h
Further adjustments to changes in GLtk
[r2c2.git] / source / engineer / trainpanel.h
index b4bd386896af3aa07c3a467fb7dfe155442e9b8e..1881035615699804e0ee41da624f5fe9a196e733 100644 (file)
@@ -1,20 +1,15 @@
-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2006-2010  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef TRAINPANEL_H_
 #define TRAINPANEL_H_
 
 #include <sigc++/trackable.h>
+#include <msp/gltk/button.h>
 #include <msp/gltk/hslider.h>
 #include <msp/gltk/label.h>
 #include <msp/gltk/panel.h>
 #include <msp/gltk/toggle.h>
-#include "libmarklin/route.h"
-#include "libmarklin/train.h"
+#include "libr2c2/route.h"
+#include "libr2c2/train.h"
+#include "libr2c2/trainstatus.h"
 
 class Engineer;
 
@@ -22,7 +17,11 @@ class TrainPanel: public Msp::GLtk::Panel, public sigc::trackable
 {
 private:
        Engineer &engineer;
-       Marklin::Train &train;
+       R2C2::Train &train;
+       R2C2::TrainStatus status;
+       Msp::GLtk::Panel *pnl_basic;
+       Msp::GLtk::Panel *pnl_extra;
+       Msp::GLtk::Button *btn_expand;
        Msp::GLtk::Label *lbl_addr;
        Msp::GLtk::Label *lbl_name;
        Msp::GLtk::HSlider *sld_speed;
@@ -32,24 +31,29 @@ private:
        Msp::GLtk::Toggle *tgl_forward;
        std::map<unsigned, Msp::GLtk::Toggle *> tgl_funcs;
        sigc::connection pick_conn;
+       bool expanded;
 
 public:
-       TrainPanel(Engineer &, const Msp::GLtk::Resources &, Marklin::Train &);
+       TrainPanel(Engineer &, R2C2::Train &);
+       void expand(bool = true);
+
 private:
-       void speed_slider_changed(double);
-       void train_speed_changed(unsigned);
-       void train_reverse_changed(bool);
+       void ai_event(const R2C2::TrainAI::Message &);
        void train_function_changed(unsigned, bool);
-       void train_route_changed(const Marklin::Route *);
+       void train_route_changed(const R2C2::Route *);
        void train_status_changed(const std::string &);
        void place_clicked();
+       void take_clicked();
        void edit_clicked();
        void route_clicked();
        void goto_clicked();
+       void view_clicked();
+       void expand_clicked();
+       void speed_slider_changed(double);
        void forward_toggled(bool);
        void func_toggled(bool, unsigned);
-       void place(Marklin::Track *, unsigned);
-       void go_to(Marklin::Track *, unsigned);
+       void place(R2C2::Track *, unsigned);
+       void go_to(R2C2::Track *, unsigned);
 };
 
 #endif