在 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
}
我正在尝试使用 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
}