SWT/JFace 最小化/最大化编辑器区域

发布于 2024-12-28 01:02:36 字数 78 浏览 1 评论 0原文

我没有找到任何以编程方式最小化/最大化的功能。 当所有编辑器都关闭时,我想最小化我的编辑器区域。 有什么建议吗?

提前致谢。

I didn't manage to find any functionalities for minimizing/maximizing programatically.
I want to minimize my editorArea when all the editors are closed.
Any suggestions?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼角的笑意。 2025-01-04 01:02:36

我找到了最小化编辑器区域的解决方法。它不是很好,但它正在完成工作。

      WorkbenchPage page = (WorkbenchPage)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
  IEditorReference[] editorReferences = page.getEditorReferences();
  if(editorReferences.length==0){
     page.getActivePerspective().setEditorAreaState(IStackPresentationSite.STATE_MINIMIZED);    
  }

我真的不喜欢那个演员,但我无法得到具体的课程。
有什么改进的建议吗?

I found a workaround to minimize the editorArea. It's not very nice but it's doing the job.

      WorkbenchPage page = (WorkbenchPage)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
  IEditorReference[] editorReferences = page.getEditorReferences();
  if(editorReferences.length==0){
     page.getActivePerspective().setEditorAreaState(IStackPresentationSite.STATE_MINIMIZED);    
  }

I really don't like that cast but I cant get the concrete class.
Any suggestions for improving this?

多像笑话 2025-01-04 01:02:36

您可以使用 IWorkbenchPage.setEditorAreaVisible()。您可以通过添加 IPerspectiveListener 到窗口。

public void perspectiveChanged(IWorkbenchPage page,
        IPerspectiveDescriptor perspective, String changeId) {
    if (changeId == IWorkbenchPage.CHANGE_EDITOR_CLOSE) {
        if (page.isEditorAreaVisible() && page.getEditorReferences().length == 0)
            page.setEditorAreaVisible(false);
    }
}

虽然也可以使用页面的 setPartState() 方法最小化编辑器区域,但在所有编辑器关闭后无法完成此操作。尽管最后一个编辑器引用在关闭编辑器事件处理程序中可用,但对 ILayoutContainer 的引用已被删除,因此不能用于更改状态。

You can show/hide editor area using IWorkbenchPage.setEditorAreaVisible(). You could do this by adding IPerspectiveListener to the window.

public void perspectiveChanged(IWorkbenchPage page,
        IPerspectiveDescriptor perspective, String changeId) {
    if (changeId == IWorkbenchPage.CHANGE_EDITOR_CLOSE) {
        if (page.isEditorAreaVisible() && page.getEditorReferences().length == 0)
            page.setEditorAreaVisible(false);
    }
}

While it is also possible to minimize editor area using setPartState() method of the page, this can't be done after all editors are closed. Even though the last editor reference is available in close editor event handler, the reference to ILayoutContainer has already been removed and thus can't be used to change the state.

浅笑轻吟梦一曲 2025-01-04 01:02:36

我在 bugs.eclipse.com 上发现了这个错误:https://bugs.eclipse。 org/bugs/show_bug.cgi?id=29840 但我找不到 ZoomManagement。

I found this bug on bugs.eclipse.com: https://bugs.eclipse.org/bugs/show_bug.cgi?id=29840 but i can't find the ZoomManagement.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文