3 This file is part of R²C²
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef LIBR2C2_ZONE_H_
9 #define LIBR2C2_ZONE_H_
13 #include <msp/datafile/objectloader.h>
23 class Loader: public Msp::DataFile::ObjectLoader<Zone>
31 typedef std::set<Track *> TrackSet;
33 sigc::signal<void, const std::string &, const std::string &, unsigned> signal_name_changed;
38 std::string qualifier;
46 void set_name(const std::string &, const std::string &, unsigned);
47 const std::string &get_group() const { return group; }
48 const std::string &get_qualifier() const { return qualifier; }
49 unsigned get_number() const { return number; }
50 std::string get_name() const;
52 void add_track(Track &);
53 bool add_tracks(const TrackSet &);
54 const TrackSet &get_tracks() const { return tracks; }
55 bool has_track(Track &) const;
57 void save(std::list<Msp::DataFile::Statement> &) const;
59 bool is_valid(Track &) const;