-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
#ifndef TRAINVIEW_H_
#define TRAINVIEW_H_
#include <msp/gl/renderbuffer.h>
#include <msp/gl/framebuffer.h>
#include <msp/gl/texture2d.h>
-#include <msp/gltk/panel.h>
-#include "libmarklin/train.h"
+#include <msp/gltk/dialog.h>
+#include <msp/gltk/toggle.h>
+#include "libr2c2/train.h"
class Engineer;
-class TrainView: public Msp::GLtk::Panel
+class TrainView: public Msp::GLtk::Dialog
{
public:
enum Mode
private:
Engineer &engineer;
- const Marklin::Train &train;
+ const R2C2::Train &train;
+ Msp::GLtk::Toggle *tgl_forward;
Mode mode;
+ bool forward;
Msp::GL::Framebuffer fbo;
Msp::GL::Texture2D tex;
Msp::GL::Renderbuffer depth;
- Msp::GL::Camera camera;
- Msp::GL::Pipeline pipeline;
- bool stale;
+ R2C2::View3D view;
public:
- TrainView(Engineer &, const Marklin::Train &);
+ TrainView(Engineer &, const R2C2::Train &);
~TrainView();
void set_mode(Mode);
- void prepare();
private:
- virtual void button_release(int, int, unsigned);
- void close_clicked();
+ void ui_mode_toggled(bool, Mode);
+public:
+ void set_forward(bool);
+ void prepare();
};
#endif