X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flayout.h;h=f603d39f2f0b8ad3e4262e9b583254c4e13dc6eb;hb=65cbaf88a03497df08243ac27354b0c0ea1f640b;hp=d1844dee66bd5f387ff79fc7f2e1664c03536898;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/libmarklin/layout.h b/source/libmarklin/layout.h index d1844de..f603d39 100644 --- a/source/libmarklin/layout.h +++ b/source/libmarklin/layout.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef LIBMARKLIN_LAYOUT_H_ #define LIBMARKLIN_LAYOUT_H_ @@ -13,34 +20,35 @@ class Catalogue; class Layout { public: - class Loader: public Msp::DataFile::Loader + class Loader: public Msp::DataFile::BasicLoader { public: Loader(Layout &); - Layout &get_object() { return layout; } private: - Layout &layout; - + virtual void finish(); void track(unsigned); }; +private: + const Catalogue &catalogue; + std::string base; + std::set tracks; + //RouteSeq routes; + +public: sigc::signal signal_track_added; sigc::signal signal_track_removed; - Layout(Catalogue &); + Layout(const Catalogue &); + ~Layout(); + + const Catalogue &get_catalogue() const { return catalogue; } + const std::string &get_base() const { return base; } const std::set &get_tracks() const { return tracks; } void add_track(Track &); void remove_track(Track &); void check_links(); - void load(const std::string &); - int save(const std::string &); - ~Layout(); -private: - Catalogue &catalogue; - std::string filename; - std::string base; - std::set tracks; - //RouteSeq routes; + void save(const std::string &); }; } // namespace Marklin