`
aswang
  • 浏览: 838593 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

RCP学习之HelloWorld

    博客分类:
  • RCP
 
阅读更多

首先新建一个eclipse插件项目,项目名称为com.lql.helloworld。

1、目标平台选择Eclipse version:3.6

2、是否要创建富客户端程序:选择yes

3、在模板页面,选择RCP application with a view

然后点击finish完成插件的创建。

 

插件创建完成以后,不做任何修改是可以运行的,截图如下:

RCP之HelloWorld

 

Eclipse插件模板为我们添加了一个带树的视图,还包括一个菜单File,里面有退出菜单项。

接下来,我们看看源代码目录src:

这里一共包含了7个java文件,简单介绍一下:

Activator.java:该java类控制插件的生命周期,它继承了AbstractUIPlugin。

该类中包含了两个方法start和stop,在程序启动时,会执行start方法,在关闭程序时,会执行stop方法。可以写个sysout语句打印提示看看结果。

Application.java:该java类控制程序的所有方面。它实现了IApplication接口,里面就实现了两个方法start和stop。

在start方法中,主要的工作是创建爱你工作台(Workbench)。在stop方法中的工作是关闭工作台。

ApplicationActionBarAdvisor.java:该类主要负责创建、添加以及注销添加到工作台窗口的Action。换句话说,我们可以在该类中创建菜单和工具栏。

ApplicationWorkbenchAdvisor.java:该类的作用创建一个WorkbenchWindowAdvisor,同时提供一个初始化的Perspective。

ApplicationWorkbenchWindowAdvisor.java:该类主要是对工作台窗口进行配置,比如我们可以在创建窗口之前或者在窗口打开之前做一些处理,都是在这里对应的方法中处理的。

如preWindowOpen方法中可以设置初始大小、是否显示工具栏以及设置标题等。

Perspective.java:该类我们称之为透视图,主要负责窗口的布局,默认实现了IPerspectiveFactory接口,该接口包含一个方法:createInitialLayout,

创建初始的布局,在该方法中我们还可以将自己的视图添加到窗口中。

View.class:该类就是模板为我们生成的视图类,该类继承了ViewPart,主要包含两个方法createPartControl和setFocus,

第一个方法作用是创建视图的窗口内容,第二个方法是设置初始的焦点。

 

此外,该插件项目中海包含了几个重要的文件:

plugin.xml:该xml文件就是插件的配置文件,定义了插件的各个部分,可以在里面配置菜单,action、command、view以及透视图等。

build.properties:这个是项目构建的属性文件。

在META-INF目录中海包含MANIFEST.MF文件,这个文件是一个清单文件,里面定义了插件的一些属性信息,

如版本,名称、提供商,以及该插件依赖的其他插件,该插件的运行环境等。还可以定义导入或者导出的package。

 

下面我们来对这个插件项目进行改造,添加一些功能。

首先,我们让这个插件来显示工具栏。

我们可以修改ApplicationWorkbenchWindowAdvisor->preWindowOpen->configurer.setShowCoolBar(true);

这样修改之后再运行,我们会发现在菜单栏下面多出了一个空白区域,这个区域就是工具栏,只是没有按钮显示而已。

下面我们来添加几个菜单和工具栏按钮。

我们打开MANIFEST.MF文件,切换到Extensions标签页,我们点击Add来添加一个扩展,

为插件添加扩展

 

我们在过滤文本框中输入actionSet,然后选中org.eclipse.ui.actionSets,然后finish。

然后在org.eclipse.ui.actionSets下面添加一个actionSet,如下:

添加actionSet

 

接着,我们在该actionSet1下面添加一个action(右键菜单->New->action)内容如下图:

添加action

这里有一个需要注意的地方是,menubarPath的值,"/"之前的值为扩展中org.eclipse.ui.menus中File菜单的id,如果org.eclipse.ui.menus中File菜单没有定义id,我们就自己加上一个,然后在menubarPath中加上。

"/"之后的值是菜单的名称。其实该选项的作用就是定义该action对应的菜单,以及该菜单应该放在什么位置,在这里,我们将它放置在File菜单之下,接下来看看运行结果:

添加工具栏之后的截图

 

至于菜单,因为不好截图就没有贴上来。

至此,我们完成了一个简单的RCP程序,不管怎样,会创建工具栏和菜单了,下面将继续学习其他内容。

 

 

  • 大小: 37.1 KB
  • 大小: 62.9 KB
  • 大小: 35.4 KB
  • 大小: 48.9 KB
  • 大小: 33.3 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics