bool SplinePlugGadget::keyPress( GadgetPtr gadget, const KeyEvent &event ) { if( event.key=="BackSpace" && m_selection->size() ) { Plug *firstPlug = static_cast<Plug *>( m_selection->member( 0 ) ); UndoContext undoEnabler( firstPlug->ancestor<ScriptNode>() ); for( size_t i = 0, e = m_selection->size(); i < e ; i++ ) { Plug *pointPlug = static_cast<Plug *>( m_selection->member( i ) ); GraphComponentPtr parent = pointPlug->parent<GraphComponent>(); if( parent ) { parent->removeChild( pointPlug ); } } } return true; }