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

我们在开发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());

创建了工作台。

一个工作台可以有多个活动的窗体来构成。目前只是总结了少许公用方法,有时间会继续整理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值