X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Fselection.h;h=acf8bf6bf09131a415a6a3a8b56037c86d2e9b22;hb=d15ac13f2e170f155b4bbd124df48400c339b644;hp=abae6832ccfe2cc75f2777be45bc0be4cc636ba3;hpb=449fb5de95ddb2ac9da4bd72a1c12150505d5549;p=r2c2.git diff --git a/source/designer/selection.h b/source/designer/selection.h index abae683..acf8bf6 100644 --- a/source/designer/selection.h +++ b/source/designer/selection.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of the MSP Märklin suite -Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #ifndef SELECTION_H_ #define SELECTION_H_ @@ -18,18 +11,31 @@ public: sigc::signal signal_changed; private: - std::set tracks; + std::set tracks; public: - const std::set &get_tracks() const { return tracks; } - Marklin::Track *get_track() const; + const std::set &get_tracks() const { return tracks; } + R2C2::Track *get_track() const; unsigned size() const { return tracks.size(); } + bool empty() const { return tracks.empty(); } + void clear(); - void add_track(Marklin::Track *); - void remove_track(Marklin::Track *); - void toggle_track(Marklin::Track *); + + template + 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(); }; #endif