我有一个插件接入到Eclipse RCP应用程序中,其中包含一个视图。在RCP应用程序中发生事件后,插件被实例化,调用其方法来填充插件的模型,但我找不到如何使视图出现而不必转到“显示视图...”菜单。
我认为工作台单例中应该有一些可以处理此问题的内容,但我无法找到任何相关资料。
我有一个插件接入到Eclipse RCP应用程序中,其中包含一个视图。在RCP应用程序中发生事件后,插件被实例化,调用其方法来填充插件的模型,但我找不到如何使视图出现而不必转到“显示视图...”菜单。
我认为工作台单例中应该有一些可以处理此问题的内容,但我无法找到任何相关资料。
您可能在寻找这个:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
如果从命令处理程序中调用
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
据我所知,会更好。
我发现在视图已经被打开并推到后台之后,需要将其带到前台。使用activate方法就可以轻松实现。
PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.activate(workbenchPartToActivate);
注意:workbenchPartToActivate是IWorkbenchPart的一个实例。
public class Opener {
@Inject
EPartService partService;
public void openPart() {
MPart part = partService.createPart("org.eclipse.ui.browser.view");
part.setLabel("Browser");
partService.showPart(part, PartState.ACTIVATE);
}
}