- {
- const set<Track *> &tracks=selection->get_tracks();
- bool ok=false;
- int id=-1;
- for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
- {
- if((*i)->get_type().get_n_routes()==1)
- ok=true;
- if(static_cast<int>((*i)->get_sensor_id())!=id)
- {
- if(id==-1)
- id=(*i)->get_sensor_id();
- else
- id=-2;
- }
- }
- if(ok)
- {
- ostringstream ss;
- if(id>=0)
- ss<<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==Msp::Input::KEY_RIGHT)
- rotate=-1;
- else if(key==Msp::Input::KEY_LEFT)
- rotate=1;
- else if(key==Msp::Input::KEY_UP)
- move_y=1;
- else if(key==Msp::Input::KEY_DOWN)
- move_y=-1;
- else if(key==Msp::Input::KEY_INSERT)
- zoom=-1;
- else if(key==Msp::Input::KEY_PGUP)
- zoom=1;
- else if(key==Msp::Input::KEY_HOME)
- pitch=1;
- else if(key==Msp::Input::KEY_END)
- pitch=-1;
- else if(key==Msp::Input::KEY_DELETE)
- move_x=-1;
- else if(key==Msp::Input::KEY_PGDN)
- move_x=1;
-}
-
-void Designer::key_release(unsigned code, unsigned)
-{
- unsigned key=Msp::Input::key_from_sys(code);
-
- if(mode==INPUT)
- return;
-
- if(key==Msp::Input::KEY_SHIFT_L || key==Msp::Input::KEY_SHIFT_R)
- shift=false;
- else if(key==Msp::Input::KEY_RIGHT || key==Msp::Input::KEY_LEFT)
- rotate=0;
- else if(key==Msp::Input::KEY_UP || key==Msp::Input::KEY_DOWN)
- move_y=0;
- else if(key==Msp::Input::KEY_INSERT || key==Msp::Input::KEY_PGUP)
- zoom=0;
- else if(key==Msp::Input::KEY_HOME || key==Msp::Input::KEY_END)
- pitch=0;
- else if(key==Msp::Input::KEY_DELETE || key==Msp::Input::KEY_PGDN)
- move_x=0;