熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Eclipse中perspective的兩種使用方法詳解

2013-11-23 20:40:09  來源: Java開源技術 

  這裡要介紹的是如何給你的RCP程序或Eclipse插件定義透視圖並向透視圖中添加視圖及對各視圖間的擺放位置給出定義進入正題給我們的插件定義一個透視圖先:定義透視圖的方法相信很多人都比較清楚要擴展orgeclipseuiperspectives擴展點直接在我們的pluginxml文件中加入下面一句代碼就ok了

   ﹤extension point=orgeclipseuiperspectives>      

  ﹤perspective

  class=reuiperspectivePerspective

  icon=icons/amc_perspectgif

  id=reuiperspectivePerspective

  name=%perspectiveamc>

  ﹤/perspective>

  ﹤/extension>

 

  上面的代碼中表明我們的透視圖id為orgtalendamcpluginPerspective記住這個id下面我們就要向這個透視圖中來添加我們的view(視圖)了有兩種方法都可以實現視圖的添加一種是通過代碼直接添加另外一種方法則是直接就在pluginxml裡進行配置

  通過代碼向已知透視圖中添加視圖並布局
上面的代碼中已指出該perspective所對應的類為orgtalendamcpluginPerspective該類需要實現IPerspectiveFactory接口並實現它的createInitialLayout(IPageLayout layout) 方法createInitialLayout(IPageLayout layout) 方法就能夠實現對perspective中view的布局詳細代碼如下

   package reuiperspective;

  import orgeclipseuiIFolderLayout;

  import orgeclipseuiIPageLayout;

  import orgeclipseuiIPerspectiveFactory; 

  import reuiviewsdetaillogDetailLogsView;  import reuiviewsjobinfoJobInformationView; import reuiviewsstatinfoDetailStatsView; import reuiviewsstatinfoSimpleStatsView;

  /** *//**  * The class define for the test blog perspective ﹤br/>  *   * $Id: Perspectivejavav // :: pub Exp $  *   */ public class Perspective implements IPerspectiveFactory {           public static final String ID = reuiperspectivePerspective; //$NONNLS$          public void createInitialLayout(IPageLayout layout) {           //這裡不需要顯示editor故而設置為不可見         layoutsetEditorAreaVisible(false);         String editorArea = layoutgetEditorArea();          //下面給出的是各view的位置布局定義這些代碼都可以直接在pluginxml進行配置可以達到相同效果         layoutaddView(JobInformationViewID IPageLayoutLEFT f editorArea);         layoutaddView(DetailLogsViewID IPageLayoutBOTTOM f editorArea);                  String logInfoFolderID = positionstatlog;         IFolderLayout bottomFolder = layoutcreateFolder(logInfoFolderID IPageLayoutBOTTOM f                 JobInformationViewID);         bottomFolderaddView(SimpleStatsViewID);         bottomFolderaddView(DetailStatsViewID);         layoutgetViewLayout(JobInformationViewID)setCloseable(false);         layoutgetViewLayout(SimpleStatsViewID)setCloseable(false);         layoutgetViewLayout(DetailStatsViewID)setCloseable(false);     }  }

  這裡只是在代碼中直接使用view id 如果真要讓這些id所對應的view顯示出來當然還需要你在自己的插件中給出這些view id的定義

  在pluginxml中直接添加視圖並配置布局

  Eclipse 為各個view在透視圖的布局也提供了專用的擴展點它就是orgeclipseuiperspectiveExtensions利用這個擴展點我們甚至不需要對orgtalendamcpluginPerspective類進行任何修改就可以按我們的要求向perspective中添加新的視圖(view) 比如要達到上面同效果的視圖布局可向pluginxml中添加以下配置代碼

   ﹤extension point=orgeclipseuiperspectiveExtensions>

  ﹤perspectiveExtension    

  targetID=reuiperspectivePerspective>            

  ﹤view

  id=reuiviewsjobinfoJobInformationView

  relative=orgeclipseuieditorss            

  relationship=left            

  ratio=            

  closeable=false/>

  ﹤view

  id=reuiviewsdetaillogDetailLogsView

  relative=orgeclipseuieditorss

  relationship=bottom

  ratio=/>

  ﹤view

  id=reuiviewsstatinfoSimpleStatsView

  relative=reuiviewsjobinfoJobInformationView

  relationship=bottom

  ratio=

  closeable=false/>

  ﹤view

  id=reuiviewsstatinfoDetailStatsView

  relative=reuiviewsstatinfoSimpleStatsView

  relationship=stack

  closeable=false/>

  ﹤/perspectiveExtension>

  ﹤/extension>


  運行後各view間的布局關系如下圖所示

  Eclipse中perspective(透視圖)的兩種使用方法詳解Java開源技術免費提供,內容來源於互聯網,本文歸原作者所有。

推薦文章
Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.