如何在RCP 3.X中实现删除键绑定

时间:2017-02-13 16:44:58

标签: eclipse-plugin swt eclipse-rcp rcp

我需要实现一个删除键绑定,这样当我按下删除键时,必须删除一个选定的树节点。我已经在buttonListener中实现了删除,但我也需要使用DEL键实现相同的功能。

plugin.xml中

<extension
     point="org.eclipse.ui.bindings">
  <key
        commandId="org.eclipse.ui.edit.delete"
        contextId="org.eclipse.ui.contexts.dialogAndWindow"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+DEL">  //just tried for CTRL+DEL key but i need only for DEL Key
  </key>
</extension>

我应该添加命令吗?命令的属性应该是什么? 我应该在我的代码中将此操作称为何处?

1 个答案:

答案 0 :(得分:0)

大多数插件只是在树上使用键监听器。类似的东西:

treeViewer.getTree().addKeyListener(new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent event) {
      if (event.character == SWT.DEL && event.stateMask == 0) {
         // TODO handle delete
      }
    } 
});

请注意,Eclipse已经是delete的绑定:

<key
   commandId="org.eclipse.ui.edit.delete"
   sequence="DEL"
   schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />

因此您也可以为命令org.eclipse.ui.edit.delete定义处理程序,但是必须确保处理程序仅在您的视图/编辑器处于活动状态时处于活动状态。