`

[zt]第一章 创建一个GEF Editor插件

阅读更多

FROM:http://www.blog.edu.cn/user1/19180/archives/2005/372830.shtml

1.1 向导   

 创建一个Plug-In Development->Plug-In Project,中间选择一路next直到选择模板的时候什么也不选择,直接按Finish。此时创建了一空的插件项目。

    之后删除META-INF目录,然后在项目文件夹下新建plugin.xml文件,在文件中输入:

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <?eclipse version="3.0"?>  
  3. <plugin>  
  4. </plugin>  

保存plugin.xml后,就建立了一个空的配置文件。

    这里首先解释为什么要删除MANIFEST.MF文件,而创建plugin.xml文件?因为在插件在执行的时候,eclipse平台根据plugin.xml中的信息配置插件,如果plugin.xml和MANIFEST.MF同时存在,那么eclipse将不能正确载入插件。这是因为有些信息一旦在MANIFEST.MF记录,就不会再写入plugin.xml。当然,我没有试过单独使用manifest.mf配置插件。

    这个时候查看一下eclipse为我们创建的文件,在src下有一个包和一个文件,这些都是在向导中设置的,如果向导中是胡乱填写的也没有关系,可以将它们删除,然后自己创建。这些文件的作用稍后再介绍,下面讲述如何配置plugin.xml。

 

1.2 配置plugin.xml   

 plugin.xml是插件项目的配置文件,eclipse根据这个文件中记录的信息来在如何管理插件。这个文件中记录了插件的扩展点、主类等重要信息,对于新建的插件项目,首先就应该要配置这个文件。如果你使用的是manifest.mf,配置的过程基本上类似,这里不再说明。

    双击plugin.xml,进入一个编辑界面,该界面下方有一些切换页,包括Overview、Dependencies、Runtime、Extensions、Extension Point、Build等。我们按照顺序依次进行说明和配置。

1.2.1 Overview页   

这个页中主要包括了插件的基本信息,同时也包括了一些其他页的连接。

    这个页面中最重要的内容就是设置General Infomation中的class项,至于General Infomation中的其他项,可以根据自己的需要填写,不会影响插件的功能。这个class项就是插件的载入主文件,也就是向导中为我们创建的而被我们删除的(也可以不删除)文件,如果你刚才删除了那个文件,这个时候就需要根据你的需要重新创建一个主文件。在class项中填写你的主文件名就可以了,如果填写错误,那么插件将不能正确工作。

1.2.2 Dependencies页    Dependencies页中设定了你编写的插件需要用到那些模块和插件,这是由于eclipse的扩展机制所决定的。对于基于GEF的编辑器插件,一般来说应包括:
org.eclipse.core.runtime
org.eclipse.gef
org.eclipse.ui
org.eclipse.ui.views
这几个插件。你可以通过点击Add按钮增加新的插件依赖,通过remove删除插件依赖。至于其他插件项目需要使用哪些依赖,请查看相应的资料,我并没有对这一问题有过深究。

1.2.3 Runtime页 

   这里是用来设置插件运行时的类库文件,是一个jar文件。点击New增加新的文件,输入你想要的文件名。

    这一步骤比较简单,但是这里输入的类库文件决定了Build页中的内容,这一问题等到Build页在详细说明。

1.2.4 Extensions页  

  这个页面里面包含了很重要的设置,它用来描述插件扩展了怎样的功能。点击Add会增加一个扩展,对于一个GEF编辑器插件,一般来说应该选择org.eclipse.ui.editors,注意不要选择Available Templates。

    选中新建的条目,右键点击该条目,选择new->editor(对于org.eclipse.ui.editors),就会增加一个editor条目(不同的扩展会有不同的选择)。选中这个条目,旁边的Extension Element Details就会出现关于这个条目的信息。下面来说明一下主要应该填写的内容:
    id:插件的ID,随便什么都行,只要不重复,不妨设置为你的主文件名。
    name:插件的名字,随便起好了。
    icon:插件的图标,这个就随意了,可以不填。
    extensions:插件的扩展名,这就好像是在eclipse上为打开的文件和插件之间建立一个映射,文件的扩展名为这个的时候eclipse启用这个插件进行编辑。这个非常重要。
    class:最重要的设置,在这里填写实现了插件主控制器的类。简单来说,这个类告诉eclipse如何创建GEF插件的主界面。必须填写这个类,但是我们还没有建立这个类,因此可以暂时留空。
    command:不知道用途,可以不填。
    launcher:不知道用途,感觉上好像是启用插件的加载器,可以不填。
    contributorClass:实现工具栏的类,可以不填,如果你不需要工具栏的话(事实上还有另一种方法实现工具栏的大部分功能,在后面介绍调色板的时候再说明)。

    剩余的使用默认值就可以了。

1.2.5 Extension Points页   

 这一页的功能还没有搞清楚,在实践当中好像不是必须的,因此可以不填。

1.2.6  Build页  

  在这里要配置如何生成插件,这个页中的内容和Runtime中的有关。选择Add Library输入在Runtime页中输入的类库名,并且删除默认的build项目(也可以直接rename)。在选中新建的类库,点击右边的Add Folder,选中源文件的目录并确定。这样将源文件加入到编译输入中。再在Binary Build中选择plugin.xml,这就大功告成了。

1.2.7  小结   

配置PlugIn.xml的工作基本完毕(注意除了没有填写Extensions页中的class项:P)。但是插件此时并不能工作,因为我们还没有编写两个关键的文件,一个就是插件的主文件,另一个就是插件的主界面文件(姑且这么称呼吧)。  下面就是要介绍如何编写这两个文件,以及基本的代码实现。

分享到:
评论
2 楼 macrochen 2008-06-28  
引用
在GEF中创建一个editor的时候,icon项必须要填,不然会出错的。
另外问一个问题:extensions插件的扩展名,这就好像是在eclipse上为打开的文件和插件之间建立一个映射这个映射的机制能不能写篇文章谈谈。谢谢

好久没玩儿插件开发了, 很多东西都没法谈啊
1 楼 zenghongwei 2008-06-27  
在GEF中创建一个editor的时候,icon项必须要填,不然会出错的。
另外问一个问题:extensions插件的扩展名,这就好像是在eclipse上为打开的文件和插件之间建立一个映射这个映射的机制能不能写篇文章谈谈。谢谢

相关推荐

    GEF开发指南---插件开发

    - **创建Editor**:文档详细描述了如何在RCP项目中创建一个Editor。这包括在`plugin.xml`文件中配置依赖项,并通过添加`org.eclipse.ui.editors`扩展点来创建Editor。 - **模型、控制器和视图**:文档强调了一个完整...

    Eclipse插件gef 3.8.0

    Eclipse插件GEF(Graphical Editing Framework)是Eclipse IDE中的一个关键组件,它为开发图形化用户界面(GUI)和图形编辑器提供了强大的框架。GEF主要用于创建可定制的、交互式的、基于图的编辑环境,广泛应用于...

    eclipse gef插件

    GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于创建图形化编辑器。这个插件极大地扩展了Eclipse的功能,允许开发者构建复杂的图形用户界面(GUI)应用,特别是对于那些需要可视化表示...

    Eclipse插件开发:GEF入门系列宝典_gef_

    由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。

    Eclipse的GEF插件

    Eclipse的GEF(Graphical Editing Framework)插件是一个强大的图形编辑框架,它为开发者提供了在Eclipse集成开发环境中创建可视化的图形界面和编辑器的能力。这个插件主要用于构建复杂的图形用户界面,如UML模型、...

    GEF入门实例代码2《Eclipse插件开发》中实例

    - **创建模型(Model)**:首先,你需要定义一个数据模型,例如创建一个`MyModel`类,表示图形化的对象和它们之间的关系。 - **定义视图(View)**:然后,根据模型创建对应的EditPart,例如`MyModelEditPart`,它会...

    GEF、AmaterasUML插件.zip

    首先,GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,它提供了一个用于构建图形用户界面的框架。GEF允许开发者创建复杂的图形编辑器,包括绘图工具,图表,以及各种类型的图形表示。通过GEF,...

    eclipse gef 插件 最新版本

    Eclipse GEF(Graphical Editing Framework)插件是Eclipse IDE中的一个重要组成部分,主要用于构建图形化用户界面,尤其是用于创建图形编辑器。它为开发者提供了一套完整的框架,用于开发基于模型的图形编辑工具,...

    Eclipse HTML Editor GEF安装

    Eclipse HTML Editor GEF 是一个基于 Eclipse 的集成开发环境(IDE)中的插件,它提供了对HTML编辑的强大支持,特别是通过引入图形化编辑框架(GEF)。GEF 是 Eclipse 平台上用于创建图形化编辑器的框架,它使得...

    visual editor的插件

    Visual Editor(VE)插件是Eclipse集成开发环境(IDE)中的一个重要组件,它极大地提升了开发者的工作效率,尤其是对于图形用户界面(GUI)的设计。本文将深入探讨VE插件的功能、用途以及如何在Eclipse中配置和使用...

    eclipse插件 GEF-SDK-3.4.0.zip

    GEF-SDK-3.4.0是该插件的一个特定版本,可能包含了对先前版本的改进和新功能。在Eclipse插件开发中,每个版本通常会修复已知问题,增强性能,或添加新的API,以适应不断发展的技术需求。 3. **使用GEF** - **模型...

    eclipse Visual Editor插件

    总结来说,Eclipse Visual Editor插件是一个强大的Java GUI开发工具,通过与EMF、SDO和GEF等技术的结合,实现了图形化界面设计,简化了开发流程,提升了开发效率。对于需要创建复杂用户界面的Java开发者而言,这是一...

    Eclipse插件开发:GEF入门系列宝典

    - 创建一个新的Eclipse插件项目。 - 配置插件元数据,声明依赖于GEF和Zest库。 - 设计数据模型,定义图形元素的属性和关系。 - 实现图形视图,包括基本图形、连接线和布局。 - 编写编辑策略和操作,实现图形...

    Eclipse插件开发--gef开发指南与入门系列宝典

    Eclipse采用插件化架构,每个功能模块都是一个独立的插件,这些插件通过OSGi(Open Services Gateway Initiative)框架互相协作。开发者可以通过编写插件来增加Eclipse的功能,如代码分析工具、版本控制集成等。插件...

    GEF 3.10 eclipse 插件

    2. **创建项目**:新建一个Eclipse插件项目,并在项目的MANIFEST.MF文件中声明对GEF的依赖。 3. **编写模型**:定义图形编辑器的数据模型,这通常是基于Java类的。 4. **实现视图**:根据模型创建视图,包括图元的...

    eclipse的GEF插件

    Eclipse的GEF(Graphical Editing Framework)插件是一个强大的工具,用于在Eclipse集成开发环境中创建、编辑和展示图形用户界面。它为开发者提供了一种框架,支持创建可定制的、交互式的图形编辑器,使得开发人员...

    eclipse3.4插件-VisualEditor1.4

    "eclipse3.4插件-VisualEditor1.4"就是这样一个针对Eclipse 3.4版本的插件包,它的主要目标是提供一个可视化的编辑环境,帮助开发者更加直观地创建和修改用户界面。 VisualEditor是一个强大的模型驱动的可视化开发...

    GUI设计插件——visual Editor

    总结来说,"GUI设计插件——Visual Editor"是一个强大的工具,结合VE-SDK、VE-runtime、GEF-runtime等组件,为开发者提供了便捷的GUI设计和开发环境,使得创建高质量的图形用户界面变得更加高效和简单。通过深入理解...

    Eclipse安装可视化Visual Editor 的操作以及所需插件1(EMF,GEF)

    ② 创建一个 Eclipse 快捷启动方式,在目标栏中加入一个“ 空格— clean ”参数,注意不要把— clean 前面的空格漏掉。或者在菜单【开始】—【运行】中启动你的 eclipse 时加上— clean 参数,如我的可以在“运行”...

Global site tag (gtag.js) - Google Analytics