JFace中的GridLayoutFactory和GridDataFactory

研究SWT Layout原理的时候,找到一个视频:《Creating a Custom Window Layout in Eclipse RCP Applications》,顿时被作者使用的GridLayoutFactoryGridDataFactory惊艳了,前些天,我还傻乎乎的自己写了几个简单的类实现相同的功能,无知真可怕。本文介绍了此两个类的用法,最后有一个简单的示例。

Continue reading

Eclipse RCP中获取Plugin/Bundle中文件资源的绝对路径

摘要:在进行Eclipse RCP开发的过程中,需要使用一些其他的资源(如图片、声音、配置文件、数据库等),我们一般将这些资源放到Plugin/Bundle的相应目录下(如图片资源放到icons目录,声音放到sounds目录,数据库文件放到data目录)。本文先对Eclipse Plugin和Bundle进行分析,之后讲解了如何使用Eclipse API通过这些资源的相对路径(相对于Plugin/Bundle)获取这些资源的绝对路径的方法,最后总结了org.osgi.framework.Bundle接口和FileLocator工具类的使用方法。
Continue reading

Eclipse RCP 中 Part 和 Site、菜单和工具栏

在进行 Eclipse RCP 开发的时候,由于 GUI 系统和 Eclipse 平台本身的复杂性,让我们很难理顺各种组件之间的关系,本文对 Eclipse RCP 的 GUI 组成结构进行分析,解释了 Workbench,Workbench Window,Workbench Page,Workbench Part,View Part 和 Editor Part 以及其相互之间的关系。并对和上述组件关系紧密的形如 I**Site 的类(包括 IWorkbenchSite,IWorkbenchPartSite,IPageSite,IViewSite,IEditorSite)进行了分析。
本文最后给出了一个在自定义 View 中加入上下文菜单、工具栏和下拉菜单的示例。
Continue reading