Since changing the path is an asynchronous operation, this lets other
components react to an impending change.
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
+ signal_path_changing(p);
path_changing = true;
layout.get_driver().set_turnout(turnout_id, p);
}
path_changing = true;
layout.get_driver().set_turnout(turnout_id, p);
}
};
sigc::signal<void, unsigned, Track *> signal_link_changed;
};
sigc::signal<void, unsigned, Track *> signal_link_changed;
+ sigc::signal<void, unsigned> signal_path_changing;
sigc::signal<void, unsigned> signal_path_changed;
private:
sigc::signal<void, unsigned> signal_path_changed;
private: