]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.cpp
Add a set_sensor function to the Driver interface
[r2c2.git] / source / engineer / engineer.cpp
index ea5139d5b2e9d9e94cc7ebbdd2455bf72f959c2d..4a35c8e0cd381bc6307f24e828c8352d68152239 100644 (file)
@@ -74,6 +74,7 @@ Engineer::Engineer(int argc, char **argv):
 
        layout.signal_train_added.connect(sigc::mem_fun(this, &Engineer::train_added));
        layout.signal_block_reserved.connect(sigc::mem_fun(this, &Engineer::block_reserved));
+       layout.get_driver().signal_sensor.connect(sigc::mem_fun(this, &Engineer::sensor_event));
        if(FS::exists("engineer.state"))
                DataFile::load(layout, "engineer.state");
 
@@ -83,8 +84,6 @@ Engineer::Engineer(int argc, char **argv):
                server->use_event_dispatcher(event_disp);
        }
 
-       layout.get_driver().signal_sensor.connect(sigc::mem_fun(this, &Engineer::sensor_event));
-
        // Setup 3D view
        DataFile::load(arrow_mesh, "arrow.mesh");
 
@@ -241,14 +240,11 @@ void Engineer::button_press(int x, int y, unsigned btn, unsigned)
                                        track.set_active_path(i);
                                }
                        }
-                       /*else if(simulate)
+                       else if(options.simulate)
                        {
-                               if(unsigned sid=track->get_track().get_sensor_id())
-                               {
-                                       Sensor &sensor = control.get_sensor(sid);
-                                       control.signal_sensor_event.emit(sid, !sensor.get_state());
-                               }
-                       }*/
+                               if(unsigned sid=track.get_sensor_id())
+                                       layout.get_driver().set_sensor(sid, !layout.get_driver().get_sensor(sid));
+                       }
                }
        }
 }