#include <map>
#include <msp/datafile/loader.h>
+#include "articlenumber.h"
#include "layout.h"
#include "profile.h"
void rail_profile();
void scale(float, float);
void track(unsigned);
+ void track(ArticleNumber);
void vehicle(unsigned);
+ void vehicle(ArticleNumber);
};
+ typedef std::map<ArticleNumber, TrackType *> TrackMap;
+ typedef std::map<ArticleNumber, VehicleType *> VehicleMap;
+
sigc::signal<void, const TrackType &> signal_track_added;
sigc::signal<void, const VehicleType &> signal_vehicle_added;
Profile rail_profile;
Profile ballast_profile;
Profile path_profile;
- std::map<unsigned, TrackType *> tracks;
- std::map<unsigned, VehicleType *> vehicles;
+ TrackMap tracks;
+ VehicleMap vehicles;
Layout layout;
public:
const Profile &get_path_profile() const { return path_profile; }
void add_track(TrackType &);
- const TrackType &get_track(unsigned) const;
- const std::map<unsigned, TrackType *> &get_tracks() const { return tracks; }
+ const TrackType &get_track(const ArticleNumber &) const;
+ const TrackMap &get_tracks() const { return tracks; }
void add_vehicle(VehicleType &);
- const VehicleType &get_vehicle(unsigned) const;
- const std::map<unsigned, VehicleType *> &get_vehicles() const { return vehicles; }
+ const VehicleType &get_vehicle(const ArticleNumber &) const;
+ const VehicleMap &get_vehicles() const { return vehicles; }
Layout &get_layout() { return layout; }
};