32

我有一个 Eclipse RCP 应用程序的插件,它有一个视图。在 RCP 应用程序中发生事件后,插件被实例化,它的方法被调用来填充插件的模型,但是我找不到如何在不转到“显示视图...”菜单的情况下显示视图.

我认为工作台单例中会有一些东西可以处理这个问题,但我还没有找到任何地方。

4

4 回答 4

46

您可能正在寻找这个:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
于 2008-10-05T14:44:33.003 回答
20

如果从命令的处理程序调用

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);

据我所知,会更好。

于 2009-03-23T20:44:00.040 回答
4

我发现需要在打开视图并将其推到后台后将其带到前面。激活方法可以解决问题。

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

注意:workbenchPartToActivate 是IWorkbenchPart.

于 2009-05-20T15:37:10.893 回答
0

在 e4 中,EPartService 负责打开 Parts。这也可用于打开 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);
    }
}

在这里,您可以找到一个如何与 Application.e4xmi 一起使用的示例。

于 2014-03-24T14:33:05.887 回答