在RCP中,view是张贴于perspective之上的。传统的方式是直接在perspective的createInitialLayout方法中按照类似如下的方式添加view并设置布局:
public void createInitialLayout(IPageLayout layout) {
String editorArea = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.addView(SelectedPsrInfoView.ID, IPageLayout.LEFT, IPageLayout.RATIO_MAX, IPageLayout.ID_EDITOR_AREA);
}
但是,这样的配置把view就写死在了该perspective上了。我们可以通过perspectiveExtensions扩展点来进行配置。
假设现在我又两个view 分别是:
com.client.cki.selectedPsrInfoView和
com.client.cki.selectedFltInfoView
那么,如何将这两个view通过perspectiveExtensions的方式配置到指定的某个perspective上呢?看看下面这段plugin.xml的配置文件:
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="com.client.cki.perspective">
<!-- 指定两个view要张贴在那个perspective之上,用ID标识该perspective-->
<view
closeable="false"
id="com.client.cki.selectedPsrInfoView"
minimized="false"
moveable="false"
ratio="0.5f"
relationship="top"
relative="org.eclipse.ui.editorss"
showTitle="true"
standalone="false"
visible="true">
</view>
<!--
注意:该段注释不要拷贝到配置文件中
第一个view: com.client.cki.selectedPsrInfoView
closeable="false"表明该view无关闭按钮。
id="com.client.cki.selectedPsrInfoView"指定view的id
minimized="false"表明初始时不是最小化状态
moveable="false"表明在运行中该view不可拖动
ratio="1f"表明其所占的比例 1f表明占据整个参照空间
relationship="top"表明位于参照的上方
relative="org.eclipse.ui.editorss"其参照对象。第一个张贴于perspective上的view其参照对象就是这个。
后面几项就不解释了 一看都懂。
-->
<view
closeable="false"
id="com.client.cki.selectedFltInfoView"
minimized="false"
moveable="false"
relationship="stack"
relative="com.client.cki.selectedPsrInfoView"
showTitle="true"
standalone="false"
visible="true">
</view>
<!--
注意:该段注释不要拷贝到配置文件中
第二个view: com.client.cki.selectedFltInfoView
closeable="false"表明该view无关闭按钮。
id="com.client.cki.selectedPsrInfoView"指定view的id
minimized="false"表明初始时不是最小化状态
moveable="false"表明在运行中该view不可拖动
relationship="stack"表明其位置与参照对象在同一个topfolder里面
其他参数:left:在参照对象的左边
right:参照对象的右边
top:上边
bottom:下边
relative="com.client.cki.selectedPsrInfoView"其参照对象。表明该view的参照对象是前一个view
-->
</perspectiveExtension>
</extension>
将该段代码拷贝至plugin.xml中,就可以完成配置了。
此时,perspective中就的createInitialLayout方法就非常简单了,基本上什么都不用写。
public void createInitialLayout(IPageLayout layout) {
layout.setEditorAreaVisible(false);
}
是不是很简单呢?运行一下,看一下效果吧,perspective中有两个view,两个view在一个tabfolder中,其中前一个是selectedPsrInfoView后一个是selectedFltInfoView。
当然,所有的这些配置都可以在eclipse中plugin.xml的图形化界面完成。看完了这个配置文件,我相信图形化界面大家都会做了。
希望对没有采用perspectiveExtensions配置过的人能有所帮助。
分享到:
相关推荐
RCP程序中集成其他插件的配置方法RCP程序中集成其他插件的配置方法RCP程序中集成其他插件的配置方法
RCP中文入门教程,RCP中文入门教程,RCP中文入门教程,RCP中文入门教程
java中RCP中使用JNI
TC13-Teamcenter开发模式之RCP_Eclipse 配置手册 TC13 Eclipse 配置手册 Teamcenter13,TC12开发,TC11开发 软件 Eclipse 配置手册 Teamcenter13,TC12开发,TC11开发 软件 Eclipse 配置方法
RCP 产品介绍图片
RCP常用方法,Java,gui开发绝对经典书
非常好的一本JAVA RCP入门实战的书,兼顾理论和实战。
Eclipse RCP入门,初级的RCP开发介绍。
RCP 常见的扩展点指南 RCP最精华的部分之一,详细分析了RCP如何建立扩展点的。
RCP与GEF的课件,简单的介绍了RCP和GEF中的各组件的功能,已经工作流程
eclipse rcp应用系统开发方法与实战源代码.zip
Eclipse RCP应用系统开发方法与实战 Eclipse RCP应用系统开发方法与实战 Eclipse RCP应用系统开发方法与实战
RCP中文入门教程.pdf
一个在RCP 的View中显示JFreeChart报表的小例子,所需要用到的Jar包都已经包含在里面 没有分的也可以去我的博客看看,也有相关的代码。
RCP&OSGI;
Eclipse RCP 软件打包发布方法。之前花了5分下了一个教材,更不不好用。现在自己摸索写了一个,绝对赞~