- else if(key==SDLK_s)
- {
- Track *track=selection->get_track();
- if(selection->size()==1 && track->get_n_routes()==1)
- {
- ostringstream ss;
- ss<<track->get_sensor_id();
- input=new Input(*this, "Sensor ID", ss.str());
- input->signal_cancel.connect(sigc::mem_fun(this, &Designer::input_dismiss));
- input->signal_accept.connect(sigc::mem_fun(this, &Designer::sensor_id_accept));
- mode=INPUT;
- }
- }
- else if(key==SDLK_RIGHT)
- rotate=-1;
- else if(key==SDLK_LEFT)
- rotate=1;
- else if(key==SDLK_UP)
- move_y=1;
- else if(key==SDLK_DOWN)
- move_y=-1;
- else if(key==SDLK_INSERT)
- zoom=-1;
- else if(key==SDLK_PAGEUP)
- zoom=1;
- else if(key==SDLK_HOME)
- pitch=1;
- else if(key==SDLK_END)
- pitch=-1;
- else if(key==SDLK_DELETE)
- move_x=-1;
- else if(key==SDLK_PAGEDOWN)
- move_x=1;
-}
-
-void Designer::key_release(unsigned key, unsigned)
-{
- if(mode==INPUT)
- return;
-
- if(key==SDLK_RSHIFT || key==SDLK_LSHIFT)
- shift=false;
- else if(key==SDLK_RIGHT || key==SDLK_LEFT)
- rotate=0;
- else if(key==SDLK_UP || key==SDLK_DOWN)
- move_y=0;
- else if(key==SDLK_INSERT || key==SDLK_PAGEUP)
- zoom=0;
- else if(key==SDLK_HOME || key==SDLK_END)
- pitch=0;
- else if(key==SDLK_DELETE || key==SDLK_PAGEDOWN)
- move_x=0;
+ else if(key==Msp::Input::KEY_F)
+ manipulator.flatten();
+ else if(key==Msp::Input::KEY_E && (mod&Input::MOD_SHIFT))
+ manipulator.even_slope(true);
+ else if(key==Msp::Input::KEY_E)
+ manipulator.even_slope();
+ else if(key==Msp::Input::KEY_T)
+ set_turnout_id();
+ else if(key==Msp::Input::KEY_S)
+ set_sensor_id();
+ else if(key==Msp::Input::KEY_A)
+ add_selection_to_route();
+ else if(key==Msp::Input::KEY_C)
+ manipulator.connect();
+ else if(key==Msp::Input::KEY_V)
+ svg_export();