X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fengineer.h;h=8e8e0216b21ef3a866c0d25b73a42e97e20e228e;hb=f42183985c65e1e12f19e9246dee90b8e7e44a34;hp=ad4bbccec1d3e7ab6cb1971144844282145d4e38;hpb=449fb5de95ddb2ac9da4bd72a1c12150505d5549;p=r2c2.git diff --git a/source/engineer/engineer.h b/source/engineer/engineer.h index ad4bbcc..8e8e021 100644 --- a/source/engineer/engineer.h +++ b/source/engineer/engineer.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of the MSP Märklin suite -Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa +Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -19,6 +19,7 @@ Distributed under the GPL #include "libmarklin/trafficmanager.h" #include "libmarklin/train.h" #include "3d/layout.h" +#include "network/server.h" class MainPanel; class TrainPanel; @@ -41,14 +42,14 @@ private: Marklin::Layout3D layout_3d; Marklin::Control control; Marklin::TrafficManager *trfc_mgr; + Marklin::Server *server; + Msp::IO::EventDispatcher event_disp; Marklin::Point cam_pos; float cam_rot; MainPanel *main_panel; std::list train_panels; - TrainProperties *train_prop; - bool train_prop_stale; Marklin::Train *placing_train; Marklin::Block *placing_block; unsigned placing_entry; @@ -60,16 +61,17 @@ public: Engineer(int argc, char **argv); ~Engineer(); + const Msp::GLtk::Resources &get_ui_resources() const { return ui_res; } + Msp::GLtk::Root &get_root() const { return *root; } const Marklin::Catalogue &get_catalogue() const { return catalogue; } + const Marklin::Layout &get_layout() const { return layout; } Marklin::Control &get_control() { return control; } - void add_train(); - Marklin::Train *add_train(const Marklin::LocoType &, unsigned); + Marklin::TrafficManager &get_traffic_manager() { return *trfc_mgr; } void place_train(Marklin::Train &); int main(); void quit() { exit(0); } private: void tick(); - void key_press(unsigned, unsigned, wchar_t); void button_press(int, int, unsigned, unsigned); void button_release(int, int, unsigned, unsigned); void pointer_motion(int, int); @@ -80,7 +82,7 @@ private: void block_reserved(const Marklin::Block &, const Marklin::Train *); void project_3d(); Marklin::Track3D *pick_track(int, int); - void dismiss_train_prop(); + void train_added(Marklin::Train &); static Msp::Application::RegApp reg; };