上文已经说过了,GMF中,那些generator,definition,mapping model都是最后要合成为diagram runtime(or notation)model。
以下是简单的步骤:
简单的使用方法,首先应该定义ecore模型文件有很多种方法,比如用EclipseUML插件,或者使用gmf的example种的Ecore Diagram,这些图形化的类图编辑工具都可以方便的生成我们所需要的Ecore文件。这里我们使用的是EclipseUML的免费版本。是针对eclipse3.1的,不过好像3.2m1m2都可以用。
生成ecore文件后 File/new/other/Eclipse Modeling Framwork/EMF Model 生成相应的genmodel文件,通过它来生成模型和.edit插件,这些都是GMF所需要的。然后再File/New/other/Example EMF Model Creation Wizards/GMFGraph Model 注意名字应该都是一样的(扩展名不同)最后的Model Object选择Canvas。在生成的gmfgraph文件中给canvas命名,canvas就相当于我们的画布。在canvas下创建一个figure gallery(图库),在这里我们保存所需要的图形。
然后创建gmftool文件File/New/other/Example EMF Model Creation Wizards/GMFTool Model,可以使用File/New/other/GMF/GMFTool Simple Model来简单的构造。
再创建gmfmap文件,建立模型和图形之间的映射关系。File/New/other/Example EMF Model Creation Wizards/GMFMap Model,名字应该和前面的一样,最后的Model Object选择Mapping。在生成的gmfmap文件中右键选择Load Resource,选择ecore,gmfgraph,gmftool文件。并且生成相应的映射信息,比如node mapping和canvas mapping。
最后生成emf模型代码和edit代码,使用genmodel文件。
使用gmfmap文件右键生成gmfgen文件,注意我们要有genmode文件才能生成gmfgen文件。
最后用gmfgen生成editor插件。这时候共有三个插件 模型 edit和editor。
使用时File/New/other/Example/中有个相应的diagram,一般再最上面,给一个名字,无扩展名,就打开相应的编辑器了。