#include <set>
#include <string>
#include <msp/datafile/objectloader.h>
+#include "trackchain.h"
namespace R2C2 {
class Layout;
class Track;
-class Zone
+class Zone: public TrackChain
{
public:
class Loader: public Msp::DataFile::ObjectLoader<Zone>
void block(unsigned);
};
- typedef std::set<Track *> TrackSet;
-
sigc::signal<void, const std::string &, const std::string &, unsigned> signal_name_changed;
private:
- Layout &layout;
std::string group;
std::string qualifier;
unsigned number;
- TrackSet tracks;
public:
Zone(Layout &);
unsigned get_number() const { return number; }
std::string get_name() const;
- void add_track(Track &);
- bool add_tracks(const TrackSet &);
- const TrackSet &get_tracks() const { return tracks; }
- bool has_track(Track &) const;
-
void save(std::list<Msp::DataFile::Statement> &) const;
-private:
- bool is_valid(Track &) const;
};
} // namespace R2C2