`
javeye
  • 浏览: 329336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RCP中采用配置perspectiveExtensions方式配置view的方法介绍

    博客分类:
  • RCP
阅读更多
在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配置过的人能有所帮助。
分享到:
评论
3 楼 newwyrain 2010-03-02  
学习了,非常有用
2 楼 xiezuoming 2009-09-09  
学习了。。。
1 楼 xiaoqiang01 2008-11-13  
我也学会了,谢谢啊!~~~~~~

相关推荐

Global site tag (gtag.js) - Google Analytics