- /*if(control.get_locomotive(addr))
- return 0;*/
-
- if(addr==0)
- {
- train_prop=new TrainProperties(*this, ui_res, 0);
- train_prop->signal_ok.connect(sigc::mem_fun(this, &Engineer::dismiss_train_prop));
- train_prop_stale=false;
-
- return 0;
- }
- else
- {
- Locomotive *loco=new Locomotive(control, addr);
- Train *train=new Train(*trfc_mgr, *loco);
- train->set_name(format("Train %d", trfc_mgr->get_trains().size()));
-
- //train_prop=new TrainProperties(ui_res, *train);
-
- TrainPanel *tpanel=new TrainPanel(*this, ui_res, *train);
- int y=main_panel->get_geometry().y;
- for(TrainPanelSeq::iterator i=train_panels.begin(); i!=train_panels.end(); ++i)
- y-=(*i)->get_geometry().h;
- tpanel->set_position(0, y-tpanel->get_geometry().h);
- train_panels.push_back(tpanel);
-
- placing_train=train;
- placing_block=0;
- status_text="Select train location";
-
- return train;
- }