在 Eclipse e4 中创建匿名视图操作

Creating anonymous view actions in Eclipse e4

我正在尝试使用 Eclipse e4 创建一个新视图(我的产品基于 RCP 3.x,但现在更新为使用 Legacye4.xmi)。过去,当我想创建一个工具栏操作来与内部视图状态交互时,我会做这样的事情;

private TableViewer viewer;
private IAction doSomething;

private void makeActions() {
  doSomething = new Action() {
    public void run() {
      // Do something e.e.g with a table viewer
      tableViewer.getXXXX();
    }
  }
  getViewSite().getActionsBars().getToolBarManager().add(doSomething);
}

如何使用 e4 API 实现相同的目的?

据我所知,我现在需要注册一个命令并在插件中连接一个处理程序。xml/fragment.e4xmi 但这种方法只适用于单独的 类,不适用于内部 类。我发现了一些看起来很有希望的东西 here。但是我不知道这是否只是为视图或全局注册处理程序,或者处理程序是否需要 deactivating/reactivating 部分更改。

对于 e4 视图,您通常在 Part 的 ToolBar 部分的 fragment.e4xmi 中声明视图工具栏项目。

您可以使用 'Handled Tool Item',其中您必须声明一个 'command' 和一个 'handler',或者您可以使用 'Direct Tool Item',在这种情况下您只需指定 class 打电话。

添加示例处理程序执行方法可能是:

@Execute
public void execute(MPart part)
{
  MyViewClass view = (MyViewClass)part.getObject();

  ... call view methods
}