]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/newvehicledialog.cpp
Use generic ObjectTypes in Catalogue
[r2c2.git] / source / engineer / newvehicledialog.cpp
index f27370fe093bdba68228ddc843c5d7c0bb9feef3..de4d14a7fda8786679bdfaff10bab774dea8402d 100644 (file)
@@ -37,14 +37,15 @@ NewVehicleDialog::NewVehicleDialog(Train &t):
 
        dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_add"))->signal_clicked.connect(sigc::mem_fun(this, &NewVehicleDialog::add_clicked));
 
-       const Catalogue::VehicleMap &cat_vtypes = train.get_layout().get_catalogue().get_vehicles();
-       for(Catalogue::VehicleMap::const_iterator i=cat_vtypes.begin(); i!=cat_vtypes.end(); ++i)
-       {
-               if(i->second->is_locomotive())
-                       loco_types.append(i->second);
-               else
-                       wagon_types.append(i->second);
-       }
+       const Catalogue::ObjectMap &obj_types = train.get_layout().get_catalogue().get_all();
+       for(Catalogue::ObjectMap::const_iterator i=obj_types.begin(); i!=obj_types.end(); ++i)
+               if(const VehicleType *vt = dynamic_cast<const VehicleType *>(i->second))
+               {
+                       if(vt->is_locomotive())
+                               loco_types.append(vt);
+                       else
+                               wagon_types.append(vt);
+               }
 }
 
 void NewVehicleDialog::toggle_list(bool show, GLtk::List *lst)