X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Fselection.h;h=9d49c76d3b924e467f9a60d6efddaade34e341bb;hb=283542ae424b94786652fbf0c67b883b63a8e7a0;hp=802c6f2b1d54e7b67f42fa1ceecb0b673ffe8d46;hpb=3e9c210ddc036cd015228504cc0803c909e27f84;p=r2c2.git diff --git a/source/designer/selection.h b/source/designer/selection.h index 802c6f2..9d49c76 100644 --- a/source/designer/selection.h +++ b/source/designer/selection.h @@ -14,21 +14,34 @@ Distributed under the GPL class Selection { +public: + sigc::signal signal_changed; + private: std::set tracks; public: - sigc::signal signal_changed; - const std::set &get_tracks() const { return tracks; } Marklin::Track *get_track() const; unsigned size() const { return tracks.size(); } + void clear(); + + template + void replace(Iter begin, Iter end) + { + tracks.clear(); + tracks.insert(begin, end); + signal_changed.emit(); + } + void add_track(Marklin::Track *); void remove_track(Marklin::Track *); void toggle_track(Marklin::Track *); + void select_more(); void select_linked(); + void select_blocks(); }; #endif