+void Catalogue::add_track(TrackType &track)
+{
+ if(tracks.count(track.get_article_number()))
+ throw Exception("Duplicate track type");
+
+ tracks[track.get_article_number()] = &track;
+ signal_track_added.emit(track);
+}
+
+void Catalogue::add_locomotive(LocoType &loco)
+{
+ if(locos.count(loco.get_article_number()))
+ throw Exception("Duplicate track type");
+
+ locos[loco.get_article_number()] = &loco;
+ signal_loco_added.emit(loco);
+}
+
+const TrackType &Catalogue::get_track(unsigned art_nr) const