java

位置:IT落伍者 >> java >> 浏览文章

Eclipse中perspective的两种使用方法详解


发布日期:2023年03月19日
 
Eclipse中perspective的两种使用方法详解

这里要介绍的是如何给你的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间的布局关系如下图所示

)thisstylewidth=; border= twffan=done>

Eclipse的帮助文件中已对该扩展点进行了详细的说明在Eclipse的帮助中直接搜索orgeclipseuiperspectiveExtensions即可得知该扩展点的相关信息

上一篇:从实例看struts2运行原理

下一篇:JBuilder2005 Struts深度体验之概述