如何在 RCP 中实现删除键绑定 3.X
How to implement delete key binding in RCP 3.X
我需要实现删除键绑定,这样当我按下删除键时,必须删除选定的树节点。我已经在 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>
我应该添加命令吗?命令的属性应该是什么?
我应该在我的代码中的什么地方调用此操作?
大多数插件为此只在树上使用一个键侦听器。类似于:
treeViewer.getTree().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
if (event.character == SWT.DEL && event.stateMask == 0) {
// TODO handle delete
}
}
});
请注意,Eclipse 已经是删除的绑定:
<key
commandId="org.eclipse.ui.edit.delete"
sequence="DEL"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
因此您也可以为命令 org.eclipse.ui.edit.delete
定义一个处理程序,但您必须确保该处理程序仅在您的 view/editor 处于活动状态时才处于活动状态。
我需要实现删除键绑定,这样当我按下删除键时,必须删除选定的树节点。我已经在 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>
我应该添加命令吗?命令的属性应该是什么? 我应该在我的代码中的什么地方调用此操作?
大多数插件为此只在树上使用一个键侦听器。类似于:
treeViewer.getTree().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
if (event.character == SWT.DEL && event.stateMask == 0) {
// TODO handle delete
}
}
});
请注意,Eclipse 已经是删除的绑定:
<key
commandId="org.eclipse.ui.edit.delete"
sequence="DEL"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
因此您也可以为命令 org.eclipse.ui.edit.delete
定义一个处理程序,但您必须确保该处理程序仅在您的 view/editor 处于活动状态时才处于活动状态。