]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/catalogue.cpp
Add an internal layout to Catalogue for selecting tracks
[r2c2.git] / source / libmarklin / catalogue.cpp
index 3c9cf7d6c2392bf0bf73cdd9efe191de0b9740a7..cce5ef04ee564d3b2bd7f8b78278e89a0ccab3ff 100644 (file)
@@ -18,7 +18,8 @@ namespace Marklin {
 
 Catalogue::Catalogue():
        scale(1),
-       gauge(1.524)
+       gauge(1.524),
+       layout(*this)
 { }
 
 Catalogue::~Catalogue()
@@ -53,6 +54,7 @@ Catalogue::Loader::Loader(Catalogue &c):
 {
        add("ballast_profile", &Loader::ballast_profile);
        add("gauge", &Loader::gauge);
+       add("layout", &Loader::layout);
        add("locomotive", &Loader::locomotive);
        add("rail_profile", &Loader::rail_profile);
        add("scale", &Loader::scale);
@@ -69,6 +71,11 @@ void Catalogue::Loader::gauge(float g)
        obj.gauge = g/1000;
 }
 
+void Catalogue::Loader::layout()
+{
+       load_sub(obj.layout);
+}
+
 void Catalogue::Loader::locomotive(unsigned art_nr)
 {
        if(obj.locos.count(art_nr))