return result;
}
-unsigned count = 0;
-
template<typename Pred>
Route *create_route(const Track &from, unsigned ep, const Pred &goal)
{
list<const Track *> tracks = dijkstra(from, ep, goal);
- Route *route = new Route(from.get_layout(), format("-%d-", ++count));
+ Route *route = new Route(from.get_layout());
for(list<const Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
route->add_track(**i);
+ route->set_name("Pathfinder");
route->set_temporary(true);
return route;
namespace Marklin {
-Route::Route(Layout &l, const string &n):
+Route::Route(Layout &l):
layout(l),
- name(n),
temporary(false)
{
layout.add_route(*this);
layout.remove_route(*this);
}
+void Route::set_name(const string &n)
+{
+ name = n;
+ signal_name_changed.emit(name);
+}
+
void Route::set_temporary(bool t)
{
temporary = t;
void Route::save(list<DataFile::Statement> &st) const
{
+ st.push_back((DataFile::Statement("name"), name));
for(map<unsigned, int>::const_iterator i=turnouts.begin(); i!=turnouts.end(); ++i)
st.push_back((DataFile::Statement("turnout"), i->first, i->second));
}
Route::Loader::Loader(Route &r):
DataFile::BasicLoader<Route>(r)
{
+ add("name", &Route::name);
add("turnout", &Loader::turnout);
}