X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Froute.cpp;h=364509c8714d4b1aa94fc1340e3f4cbf993181ea;hb=1ba0bd68483b900a702c7a38f41250b33770503d;hp=fa2286cc65aef625848101bc7b7c77c9d020d055;hpb=c64a87b014f8da9827309a374f994ed984e24734;p=r2c2.git diff --git a/source/libmarklin/route.cpp b/source/libmarklin/route.cpp index fa2286c..364509c 100644 --- a/source/libmarklin/route.cpp +++ b/source/libmarklin/route.cpp @@ -5,18 +5,21 @@ Copyright © 2007-2009 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ +#include "layout.h" +#include "route.h" #include "track.h" #include "tracktype.h" -#include "route.h" using namespace std; using namespace Msp; namespace Marklin { -Route::Route(const string &n): +Route::Route(Layout &layout, const string &n): name(n) -{ } +{ + layout.signal_track_removed.connect(sigc::mem_fun(this, &Route::track_removed)); +} int Route::get_turnout(unsigned id) const { @@ -171,6 +174,11 @@ unsigned Route::check_validity(const Track &trk) const return result; } +void Route::track_removed(Track &t) +{ + tracks.erase(&t); +} + Route::Loader::Loader(Route &r): DataFile::BasicLoader(r)