您的位置:首页 > 其它

RCP应用程序工具类编写小结

2009-12-25 23:02 176 查看
我们在开发rcp
应用程序的时候,有许多可重用的方法。因此,我们定义了Eclipse
工具类,以方面在开发的过程中能够直接调用,加强了代码的可重用性,同时也方便了项目小组成员来使用这些重用的方法。

package com.jdenght.rcpstudy.util;

import org.eclipse.ui.IWorkbench;

import org.eclipse.ui.IWorkbenchWindow;

import com.jdenght.rcpstudy.RcpstudyPlugin;

/**

*
得到插件应用程序中工作台的相关元素的工具类

* @Author:DENGHT

*/

public class WorkbenchUtil {

/**

* @see RcpstudyPlugin.getDefault().getWorkbench()

* @return
返回当前的工作台

*/

public static IWorkbench getWorkbench(){

return RcpstudyPlugin.getDefault().getWorkbench();

}

/**

* @see RcpstudyPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()

* @return
返回当前的工作台的活动窗体

*
(这里的窗体并不包括对话框、向导、用swt
定制的窗体等,指的是当前一个子业务系统的窗体,这个窗体具备有视图、属性页、导航树等)

*/

public static IWorkbenchWindow getActiveWorkbenchWindow(){

return RcpstudyPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();

}

/**

* @see RcpstudyPlugin.getDefault().getWorkbench().getWorkbenchWindows()

* @return
返回当前工作台的所有窗体

*
(这里所有的窗体并不包括普通的对话框、向导、用swt
定制的窗体等,而是指所有具备视图功能的窗体)

*/

public static IWorkbenchWindow[] getWorkbenchWindows(){

return RcpstudyPlugin.getDefault().getWorkbench().getWorkbenchWindows();

}

/**

* @see RcpstudyPlugin.getDefault().getWorkbench().getWorkbenchWindowCount()

* @return
返回当前工作台窗体数目

*/

public static int getWorkbenchWindowCount(){

return RcpstudyPlugin.getDefault().getWorkbench().getWorkbenchWindowCount();

}

}

其中:RcpstudyPlugin.getDefault().getWorkbench()
是在程序的插件类RcpstudyPlugin
的超类AbstractUIPlugin
中定义的。

public IWorkbench getWorkbench() {

return PlatformUI.getWorkbench();

}

因此,我们亦可直接通过PlatformUI.getWorkbench()
获得这个工作台。为什么能够通过这个方法来获得工作台呢?原因在于:当我们启动rcp
应用程序时,在Application
类中,我们通过

int returnCode =

PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());

创建了工作台。

一个工作台可以有多个活动的窗体来构成。目前只是总结了少许公用方法,有时间会继续整理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: