1 #ifndef LIBR2C2_CATALOGUE_H_
2 #define LIBR2C2_CATALOGUE_H_
5 #include <msp/datafile/objectloader.h>
6 #include "articlenumber.h"
8 #include "trackappearance.h"
17 class Loader: public Msp::DataFile::ObjectLoader<Catalogue>
24 void scale(float, float);
25 void signal(ArticleNumber);
26 void terrain(ArticleNumber);
27 void track(ArticleNumber);
28 void track_appearance();
29 void vehicle(ArticleNumber);
32 typedef std::map<ArticleNumber, ObjectType *> ObjectMap;
34 sigc::signal<void, const ObjectType &> signal_object_added;
39 TrackAppearance appearance;
47 float get_scale() const { return scale; }
48 float get_gauge() const { return gauge; }
50 void add(ObjectType &);
51 const ObjectType &get(const ArticleNumber &) const;
52 const ObjectMap &get_all() const { return objects; }
55 const T &get(const ArticleNumber &an) const
56 { return dynamic_cast<const T &>(get(an)); }
58 Layout &get_layout() { return layout; }