#include <msp/strings/utils.h>
#include <msp/time/units.h>
#include <msp/time/utils.h>
+#include "libmarklin/route.h"
#include "libmarklin/tracktype.h"
#include "designer.h"
#include "input.h"
void Designer::set_turnout_id()
{
Track *track = selection.get_track();
- if(selection.size()==1 && track->get_type().get_n_paths()>1)
+ if(selection.size()==1 && track->get_type().is_turnout())
{
InputDialog *input = new InputDialog(*this, "Turnout ID", lexical_cast(track->get_turnout_id()));
input->signal_accept.connect(sigc::mem_fun(this, &Designer::turnout_id_accept));
int id = -1;
for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
- if((*i)->get_type().get_n_paths()==1)
+ if(!(*i)->get_type().is_turnout())
ok = true;
if(static_cast<int>((*i)->get_sensor_id())!=id)
{
Track3D *ctrack = pick_track(x, y);
if(ctrack)
{
- Track *track = ctrack->get_track().copy();
+ Track *track = new Track(*layout, ctrack->get_track().get_type());
track->set_position(ground);
- layout->add_track(*track);
selection.clear();
selection.add_track(track);