快速业务通道

Eclipse中perspective的两种使用方法 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Eclipse中perspective的两种使用方法

时间:2011-11-20

这里要介绍的是如何给你的RCP程序或Eclipse插件定义透视图,并向透视图中添加视图及对各视图间的摆放位置给出定义。 好,进入正题,给我们的插件定义一个透视图先:定义透视图的方法相信很多人都比较清楚,要扩展org.eclipse.ui.perspectives扩展点,好,直接在我们的plugin.xml文件中加入下面一句代码就ok了:

﹤extension point="org.eclipse.ui.perspectives">       
  ﹤perspective 
  class="com.test.blog.core.ui.perspective.Perspective"
  icon="icons/amc_perspect.gif"
  id="com.test.blog.core.ui.perspective.Perspective"
  name="%perspective.amc">
  ﹤/perspective>
  ﹤/extension>

上面的代码中,表明我们的透视图id为org.talend.amc.plugin.Perspective,好,记住这个id。下面我们就要向这个透视图中来添加我们的view(视图)了。有两种方法都可以实现视图的添加,一种是通过代码直接添加,另外一种方法则是直接就在plugin.xml里进行配置:

通过代码向已知透视图中添加视图并布局

上面的代码中已指出该perspective所对应的类为org.talend.amc.plugin.Perspective,该类需要实现IPerspectiveFactory接口,并实现它的createInitialLayout(IPageLayout layout) 方法,createInitialLayout(IPageLayout layout) 方法就能够实现对perspective中view的布局,详细代码如下:

package com.test.blog.core.ui.perspective; 
  import org.eclipse.ui.IFolderLayout; 
  import org.eclipse.ui.IPageLayout; 
  import org.eclipse.ui.IPerspectiveFactory;  
  import com.test.blog.core.ui.views.detaillog.DetailLogsView;  import com.test.blog.core.ui.views.jobinfo.JobInformationView; import com.test.blog.core.ui.views.statinfo.DetailStatsView; import com.test.blog.core.ui.views.statinfo.SimpleStatsView; 
  /** *//**  * The class define for the test blog perspective. ﹤br/>  *   * $Id: Perspective.java,v 1.9 2007/03/23 07:48:54 pub Exp $  *   */ public class Perspective implements IPerspectiveFactory ...{           public static final String ID = "com.test.blog.core.ui.perspective.Perspective"; //$NON-NLS-1$          public void createInitialLayout(IPageLayout layout) ...{           //这里不需要显示editor,故而设置为不可见         layout.setEditorAreaVisible(false);         String editorArea = layout.getEditorArea();          //下面给出的是各view的位置布局定义,这些代码都可以直接在plugin.xml进行配置,可以达到相同效果         layout.addView(JobInformationView.ID, IPageLayout.LEFT, 0.45f, editorArea);         layout.addView(DetailLogsView.ID, IPageLayout.BOTTOM, 0.4f, editorArea);                  String logInfoFolderID = "position.statlog";         IFolderLayout bottomFolder = layout.createFolder(logInfoFolderID, IPageLayout.BOTTOM, 0.5f,                 JobInformationView.ID);         bottomFolder.addView(SimpleStatsView.ID);         bottomFolder.addView(DetailStatsView.ID);         layout.getViewLayout(JobInformationView.ID).se

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号