]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/newvehicledialog.cpp
Convert Catalogue to a Collection
[r2c2.git] / source / engineer / newvehicledialog.cpp
index de4d14a7fda8786679bdfaff10bab774dea8402d..e9c537ee0c21f8b0a73a8b665ea542752a5a250c 100644 (file)
@@ -37,15 +37,14 @@ 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::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);
-               }
+       list<VehicleType *> veh_types = train.get_layout().get_catalogue().get_list<VehicleType>();
+       for(list<VehicleType *>::iterator i=veh_types.begin(); i!=veh_types.end(); ++i)
+       {
+               if((*i)->is_locomotive())
+                       loco_types.append(*i);
+               else
+                       wagon_types.append(*i);
+       }
 }
 
 void NewVehicleDialog::toggle_list(bool show, GLtk::List *lst)