其实一般情况下,在Perspective 中添加View的时候,是新建一个Folder,然后再把View添加到Folder当中的。
注意createFolder方法,有四个参数:
第一个是Folder的ID,自己随便指定,不要重复就可以了;
第二个是和参考之间的关系。(IPageLayout中指定了四个常量,分别代表上下左右)
第三个是一个比例,它指定了新加的Folder占用参考的大小比例。(例如0.25f表示占去参考部分大小的25%)
第四个是参考部分的ID,它指定了上面两点提到的那个参考,一般情况下,如上例它使用EditorArea。当然也可以使用你已经添加了的其他Folder或者View的ID,那样新加的Folder就占用指定的那个Folder或者View的空间。
PS:如果你设置了RCP程序启动后自动最大化的话,你会发现这个比例是不准确的?这是因为在workbenchWindow里面有:
而在计算folder的大小的时候,是根据这里设置的值来指定的(即使最大化了)。
String editorArea
=
layout.getEditorArea();
layout.setEditorAreaVisible( true );
IFolderLayout left = layout.createFolder( " left " , IPageLayout.LEFT, 0.4f , editorArea); // 新建一个Folder
left.addView(IPageLayout.ID_RES_NAV); // resource navigator
layout.setEditorAreaVisible( true );
IFolderLayout left = layout.createFolder( " left " , IPageLayout.LEFT, 0.4f , editorArea); // 新建一个Folder
left.addView(IPageLayout.ID_RES_NAV); // resource navigator
第一个是Folder的ID,自己随便指定,不要重复就可以了;
第二个是和参考之间的关系。(IPageLayout中指定了四个常量,分别代表上下左右)
第三个是一个比例,它指定了新加的Folder占用参考的大小比例。(例如0.25f表示占去参考部分大小的25%)
第四个是参考部分的ID,它指定了上面两点提到的那个参考,一般情况下,如上例它使用EditorArea。当然也可以使用你已经添加了的其他Folder或者View的ID,那样新加的Folder就占用指定的那个Folder或者View的空间。
PS:如果你设置了RCP程序启动后自动最大化的话,你会发现这个比例是不准确的?这是因为在workbenchWindow里面有:
public
void
preWindowOpen()
{
configurer.setInitialSize(new Point(600, 400));//perspective里添加folder的时候,大小是根据这里的值计算的
//morecode
}
configurer.setInitialSize(new Point(600, 400));//perspective里添加folder的时候,大小是根据这里的值计算的
//morecode
}