/* $Id$
-This file is part of the MSP Märklin suite
+This file is part of R²C²
Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
sigc::signal<void> signal_changed;
private:
- std::set<Marklin::Track *> tracks;
+ std::set<R2C2::Track *> tracks;
public:
- const std::set<Marklin::Track *> &get_tracks() const { return tracks; }
- Marklin::Track *get_track() const;
+ const std::set<R2C2::Track *> &get_tracks() const { return tracks; }
+ R2C2::Track *get_track() const;
unsigned size() const { return tracks.size(); }
+
void clear();
- void add_track(Marklin::Track *);
- void remove_track(Marklin::Track *);
- void toggle_track(Marklin::Track *);
+
+ template<typename Iter>
+ void replace(Iter begin, Iter end)
+ {
+ tracks.clear();
+ tracks.insert(begin, end);
+ signal_changed.emit();
+ }
+
+ void add_track(R2C2::Track *);
+ void remove_track(R2C2::Track *);
+ void toggle_track(R2C2::Track *);
+
void select_more();
void select_linked();
void select_blocks();