资源描述
添加透视图和视图
接着上述情况:
在拓展上继续拓展一个视图 起名字定义为MyPerspective
然后创建一个类PerspectiveFactory()接口为PerspectiveFactory
如下:
在拓展views 并在其下面在设置几个view (视图)
将视图的信息加载在透视图下
在PerspectiveFactory下添加信息:
public void createInitialLayout(IPageLayout layout) {
// TODO Auto-generated method stub
String editorArea=layout.getEditorArea();
//获取布局页(透视图)的编辑空间
// layout.addView("com.MyPlugIN.Navigator", IPageLayout.LEFT, 0.25f, editorArea);
layout.addView("com.MyPlugIN.SampleView1", IPageLayout.BOTTOM, 0.25f, editorArea);
layout.addView("com.MyPlugIN.SampleView2", IPageLayout.RIGHT, 0.25f, editorArea);
// layout.addView(viewId, relationship, ratio, refId);在当前透视图添加一个视图
// viewId 为被添加视图的Id
// relationship为视图在当前透视图的相对位置
// ratio方法用为定义的视图占有透视图的宽带比 取值范围为0.05--0.95 0.5表示占一半 或者通过IPageLayout.Ratio_……来进行设置
//
//
// 当然也可以在同一个方向上设置多个视图
// 这就用到了视图的叠加实现
//
//
IFolderLayout left=layout.createFolder("left", IPageLayout.LEFT, 0.5f, editorArea);
left.addView("com.MyPlugIN.Navigator");
// IFolderLayout right=layout.createFolder(folderId, relationship, ratio, refId)
}
其界面运行的结果:
在视图中添加工作台视图
在上述的IpageLayout类中继续添加关于工作台的iD
…………………………
IFolderLayout left=layout.createFolder("left", IPageLayout.LEFT, 0.5f, editorArea);
left.addView("com.MyPlugIN.Navigator");
//已添加过的
IFolderLayout bottom=layout.createFolder("bottom", IPageLayout.BOTTOM, 0.5f, editorArea);
left.addView("com.MyPlugIN.SampleView1");
//添加工作台视图
left.addView(IPageLayout.ID_TASK_LIST);
//添加任务视图
// 除了任务视图(IPageLayout.ID_TASK_LIST )的Id有:
// IPageLayout.ID_OUTLINE 大纲视图
// IPageLayout.ID_PROBLEM_VIEW 问题视图
// IPageLayout.ID_PROGRESS_VIEW 进度视图
// IPageLayout.ID_PROP_SHEET 属性视图
运行结果:
比以前多了task任务工作台
视图分组:
<extension
point="org.eclipse.ui.views">
<view
category="com.MyPlugIN.category1"
class="com.myplugin.ViewPart1"
id="com.MyPlugIN.Navigator"
name="Navigator"
restorable="true">
</view>
<view
category="com.MyPlugIN.category1"
class="com.myplugin.ViewPart2"
id="com.MyPlugIN.SampleView1"
name="SampleView1"
restorable="true">
</view>
<view
category="com.MyPlugIN.category1"
class="SampleView1"
id="com.MyPlugIN.SampleView2"
name="SampleView2"
restorable="true">
</view>
<category
id="com.MyPlugIN.category1"
name="MyPerspective">
</category>
</extension>
添加分组前后的比较
展开阅读全文