我有一个具有视图的Eclipse RCP应用程序的插件。在RCP应用程序中发生事件后,插件被实例化,调用其方法来填充插件的模型,但是我无法找到如何在不进入“Show View ...”菜单的情况下显示视图
我认为工作台单例中会有一些东西可以解决这个问题,但我还没有发现任何地方。
答案 0 :(得分:46)
你可能正在寻找这个:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
答案 1 :(得分:18)
如果从命令的处理程序调用
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
如我所知,会更好。
答案 2 :(得分:4)
我发现在将视图打开并推到后台之后需要将视图置于前面。 activate方法可以解决问题。
PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.activate(workbenchPartToActivate);
注意:workbenchPartToActivate是IWorkbenchPart
的实例。
答案 3 :(得分:0)
在e4中,EPartService负责打开零件。这也可用于打开e3 ViewParts。通过IEclipseContext实例化以下类,调用openPart-Method,您应该看到Eclipse内部浏览器视图。
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);
}
}
Here你可以找到一个如何与你的Application.e4xmi一起工作的例子。