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

时间:2015-04-24 10:28:13

标签: eclipse eclipse-rcp 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实现相同的目标?

据我所知,我现在需要注册一个命令并在plugin.xml / fragment.e4xmi中挂钩一个处理程序,但这种方法只适用于单独的类,而不是内部类。我找到了看起来很有希望的东西here。但是,我不知道这是仅为视图还是全局注册处理程序,还是处理程序需要停用/重新激活部件更改。

1 个答案:

答案 0 :(得分:1)

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

您可以使用'Handled Tool Item',您必须在其中声明'command'和'handler',或者您可以使用'Direct Tool Item',在这种情况下您只需指定要调用的类。

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

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

  ... call view methods
}