]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/selection.h
Move the fitting part of Manipulator::connect to a separate function
[r2c2.git] / source / designer / selection.h
index 802c6f2b1d54e7b67f42fa1ceecb0b673ffe8d46..9d49c76d3b924e467f9a60d6efddaade34e341bb 100644 (file)
@@ -14,21 +14,34 @@ Distributed under the GPL
 
 class Selection
 {
+public:
+       sigc::signal<void> signal_changed;
+
 private:
        std::set<Marklin::Track *> tracks;
 
 public:
-       sigc::signal<void> signal_changed;
-
        const std::set<Marklin::Track *> &get_tracks() const { return tracks; }
        Marklin::Track *get_track() const;
        unsigned size() const { return tracks.size(); }
+
        void clear();
+
+       template<typename Iter>
+       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