]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/selection.cpp
Use GL::Renderer in TrackWrap
[r2c2.git] / source / designer / selection.cpp
index 5f71e8b68a5b6be56d72cb2d73f878689807e7d2..855b41cc5e91538d0b4ab062c961af94ff4b5677 100644 (file)
@@ -1,15 +1,9 @@
-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #include <algorithm>
+#include "libr2c2/block.h"
 #include "selection.h"
 
 using namespace std;
-using namespace Marklin;
+using namespace R2C2;
 using namespace Msp;
 
 Track *Selection::get_track() const
@@ -94,3 +88,21 @@ void Selection::select_linked()
        if(changed)
                signal_changed.emit();
 }
+
+void Selection::select_blocks()
+{
+       bool changed = false;
+       for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
+       {
+               const set<Track *> &btracks = (*i)->get_block().get_tracks();
+               for(set<Track *>::iterator j=btracks.begin(); j!=btracks.end(); ++j)
+                       if(!tracks.count(*j))
+                       {
+                               tracks.insert(*j);
+                               changed = true;
+                       }
+       }
+
+       if(changed)
+               signal_changed.emit();
+}