07RCP 第四章 搭建初始框架

搭建开发的初始框架,学会运行,调试RCP应用。

 

 

 

 

 

通过上面的向导,我就创建了工程模版。

工程命名和插件ID:这个不是规则,而是Eclipse社区的一个命名约定,反向域名,如果你公司的域名是,company.org,那么你的工程唯一标识就是flybird.company.org, 那么用org.company.flybird作为工程的命名以及插件的ID。这样我们可以很容易的标识那个工程和插件的对应关系。



 打开plugin.xml的Dependencies的标签页,点击Show the plug-in in the dependency hierarchy 则显示这个插件依赖的bundle(runtime和UI)。 我们注意到org.eclipse.ui依赖的org.eclipse.swt这个插件图标的右半边有一个向右的灰色箭头。这个箭头在osgi的依赖关系:作为visibility:=reexport的属性值。标识ui里面依赖的swt对于依赖ui的组件是可用的。例如xyz插件依赖ui的同时,也可以访问SWT插件里面的类。我们看一下UI插件的定义,如下图:



 

我们再来看看 Extentions标签页。



 这两个扩展表示着,我们的插件扩展了RCP的平台的Application和Perspective这两个扩展。

Application:在Eclipse里面application就是我们在java里面的main函数是同样的作用。作为这个插件的启动入口函数。application启动我们的应用就启动了,当application退出,我们的程序就退出了。



 在start方法里面创建了一个Display对象,然后创建Workbench(工作台),在这个例子里我们启动了UI界面,但是我们也可以启动一个后台服务(IP,端口),换句话说,RCP同样可以用于非图形化应用(模块化得服务)。

WorkbenchAdvisor:这个类是UI最主要的类,它告诉Workbench怎样去显示界面,显示的内容等。我们的ApplicationWorkbenchAdvisor做两件事:1 初始化perspective,2 返回的WorkbenchAdvisor可以被使用。

Perspective:用来显示视图需要显示的内容,它需要实现IPerspectiveFactory,createInitialLayout方法用来创建页面,初始什么也没有创建。一个application可以有多个perspective,但一个时刻只能显示一个。在ApplicationWorkbenchAdvisor.getInitialWindowPerspectiveId设置。

 

 

ApplicationWorkbenchWindowAdvisor:描述了窗口的状态。(位置,工具栏,标题)

ActionBarAdvisor:用来创建 动作-action和如何放置他们。

总结:到此为止,我们已经 浏览完了 向导创建的几个模版类。这个只是一个空壳,没有什么行为,后面我们在往上面增加内容。



 

https://git.oschina.net/orangehs/rcplearning 仓库的

猜你喜欢

转载自peacherdiy.iteye.com/blog/2086271