#include "libr2c2/driver.h"
#include "libr2c2/trackcircuit.h"
#include "libr2c2/tracktype.h"
+#include "libr2c2/zone.h"
#include "3d/allocation.h"
#include "3d/path.h"
#include "3d/track.h"
#include "3d/trackcircuit.h"
#include "3d/vehicle.h"
+#include "departuresdialog.h"
#include "dynamicdialog.h"
#include "engineer.h"
#include "mainwindow.h"
set_status(format("Turnout %d", track->get_turnout_address()));
}
}
- if(unsigned saddr = track->get_sensor_address())
+ else if(unsigned saddr = track->get_sensor_address())
{
if(options.simulate)
layout.get_driver().set_sensor(saddr, !layout.get_driver().get_sensor(saddr));
set_status(format("Sensor %d", saddr));
}
+ else
+ {
+ const set<Zone *> &zones = layout.get_all<Zone>();
+ for(set<Zone *>::const_iterator i=zones.begin(); i!=zones.end(); ++i)
+ if((*i)->has_track(*track))
+ {
+ DeparturesDialog *dlg = new DeparturesDialog(layout, (*i)->get_group());
+ root->add(*dlg);
+ break;
+ }
+ }
}
else if(Vehicle *veh = dynamic_cast<Vehicle *>(obj))
{