如何以编程方式展开/转换视图?

时间:2017-05-29 21:34:17

标签: eclipse-rcp perspective

我有一个包含新闻标题列表的tableviewer,当我点击一行时,会打开带浏览器的新闻内容视图。但是新闻页面太大,用户应该扩展新闻内容视图以查看所有内容。所以我寻找以编程方式扩展视图的方法。

NewsContentView example

我在谷歌搜索的方式并没有找到任何东西。我查看了org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java的代码,但没有找到任何内容。然后我意识到,扩展视图应该以更常见的方式实现,通过具有动作或类似的扩展点来实现。然后我想起了IWorkbenchPage.showView()。我寻找合适的方法,但没有找到这样的方法。扩展视图应该以类似的方式实现,但我没有想法,它可能是什么。

2 个答案:

答案 0 :(得分:2)

您可以使用IWorkbenchPage.toggleZoom

最大化零件

例如,“最大化零件”命令处理程序执行此操作:

IWorkbenchWindow activeWorkbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event);
if (activeWorkbenchWindow != null) {
    IWorkbenchPage page = activeWorkbenchWindow.getActivePage();
    if (page != null) {
        IWorkbenchPartReference partRef = page.getActivePartReference();
        if (partRef != null) {
            page.toggleZoom(partRef);
        }
    }
}

答案 1 :(得分:0)

还有方法IWorkbenchPage.setPartState()使用常量IWorkbenchPage.STATE_MAXIMIZEDIWorkbenchPage.STATE_MINIMIZEDIWorkbenchPage.STATE_RESTORED