+ static Msp::Application::RegApp<Designer> reg;
+
+public:
+ Designer(int, char **);
+ ~Designer();
+
+ int main();
+ void save();
+ void quit();
+
+ Marklin::Layout *get_layout() { return layout; }
+ Marklin::Layout3D *get_layout_3d() { return layout_3d; }
+ const Msp::GL::Camera &get_camera() const { return camera; }
+ const Msp::GLtk::Resources &get_ui_resources() const { return ui_res; }
+ Msp::GLtk::Root &get_root() const { return *root; }
+
+ void new_track();
+ void set_turnout_id();
+ void set_sensor_id();
+
+ void edit_route(Marklin::Route &);
+ Marklin::Route *get_current_route() const { return cur_route; }
+ void add_selection_to_route();
+
+ Marklin::Point map_pointer_coords(int, int);
+private: