如何使用命令处理程序处理删除操作?

时间:2013-10-31 09:48:23

标签: eclipse eclipse-rcp eclipse-plugin

我已经实现了org.eclipse.ui.edit.delete command handler,我想通过编辑/删除主菜单项来调用它。

由于“删除”操作是retargetable操作调用在每个编辑的上下文中定义的另一个操作,编辑器通常配置为IActionBars.setGlobalAction(String id, IAction action)其中id = "delete"和操作是一个可重定向的自定义动作。

我可以看到以下选项:

  1. 创建一个将其执行和状态更改监视委派给命令的操作 将现有命令转换为setGlobalAction的参数,可能会复制org.eclipse.ui.internal.actions.CommandAction逼近。
  2. 从主菜单中删除现有操作,然后插入命令贡献项
  3. 两种方式看起来都太复杂/肮脏。我错过了什么吗?我可以使用命令而不是动作吗?

    编辑:

    似乎主菜单不是使用IAction实现,而是使用CommandContributionItem实现。默认命令处理程序调用{​​{1}},后者又查询CommandAction。命令的“更好”处理程序可以覆盖此行为。

    虽然我现在可以为delete命令提供一个处理程序,但问题仍然是实际的,因为从GUI调用命令(例如通过单击按钮)很有用,并且自定义命令不是那么容易调用(它们没有默认值)键绑定或可重定向的操作)。

0 个答案:

没有答案