上文已經說過了,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,一般再最上面,給一個名字,無擴展名,就打開相應的編輯器了。