在RCP中,view是张贴于perspective之上的。传统的方式是直接在perspective的createInitialLayout方法中按照类似如下的方式添加view并设置布局:
但是,这样的配置把view就写死在了该perspective上了。我们可以通过perspectiveExtensions扩展点来进行配置。
假设现在我又两个view 分别是:
com.client.cki.selectedPsrInfoView和
com.client.cki.selectedFltInfoView
那么,如何将这两个view通过perspectiveExtensions的方式配置到指定的某个perspective上呢?看看下面这段plugin.xml的配置文件:
将该段代码拷贝至plugin.xml中,就可以完成配置了。
此时,perspective中就的createInitialLayout方法就非常简单了,基本上什么都不用写。
是不是很简单呢?运行一下,看一下效果吧,perspective中有两个view,两个view在一个tabfolder中,其中前一个是selectedPsrInfoView后一个是selectedFltInfoView。
当然,所有的这些配置都可以在eclipse中plugin.xml的图形化界面完成。看完了这个配置文件,我相信图形化界面大家都会做了。
希望对没有采用perspectiveExtensions配置过的人能有所帮助。
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配置过的人能有所帮助。