我没有找到任何以编程方式最小化/最大化的功能。 当所有编辑都关闭时,我想最小化我的editorArea。 有什么建议吗?
提前致谢。
答案 0 :(得分:3)
我找到了一种解决方法来最小化editorArea。这不是很好,但它正在做这项工作。
WorkbenchPage page = (WorkbenchPage)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorReference[] editorReferences = page.getEditorReferences();
if(editorReferences.length==0){
page.getActivePerspective().setEditorAreaState(IStackPresentationSite.STATE_MINIMIZED);
}
我真的不喜欢那个演员,但我不能得到具体的课程。 有任何改进建议吗?
答案 1 :(得分:2)
您可以使用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
的引用也已被删除,因此不能用于更改状态。
答案 2 :(得分:0)
我在bugs.eclipse.com上发现了这个错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=29840但我找不到ZoomManagement。