上文已經(jīng)說過了,GMF中,那些generator,definition,mapping model都是最后要合成為diagram runtime(or notation)model。
以下是簡單的步驟:
簡單的使用方法,首先應(yīng)該定義ecore模型文件有很多種方法,比如用EclipseUML插件,或者使用gmf的example種的Ecore Diagram,這些圖形化的類圖編輯工具都可以方便的生成我們所需要的Ecore文件。這里我們使用的是EclipseUML的免費(fèi)版本。是針對eclipse3.1的,不過好像3.2m1m2都可以用。
生成ecore文件后 File/new/other/Eclipse Modeling Framwork/EMF Model 生成相應(yīng)的genmodel文件,通過它來生成模型和.edit插件,這些都是GMF所需要的。然后再File/New/other/Example EMF Model Creation Wizards/GMFGraph Model 注意名字應(yīng)該都是一樣的(擴(kuò)展名不同)最后的Model Object選擇Canvas。在生成的gmfgraph文件中給canvas命名,canvas就相當(dāng)于我們的畫布。在canvas下創(chuàng)建一個(gè)figure gallery(圖庫),在這里我們保存所需要的圖形。
然后創(chuàng)建gmftool文件File/New/other/Example EMF Model Creation Wizards/GMFTool Model,可以使用File/New/other/GMF/GMFTool Simple Model來簡單的構(gòu)造。
再創(chuàng)建gmfmap文件,建立模型和圖形之間的映射關(guān)系。File/New/other/Example EMF Model Creation Wizards/GMFMap Model,名字應(yīng)該和前面的一樣,最后的Model Object選擇Mapping。在生成的gmfmap文件中右鍵選擇Load Resource,選擇ecore,gmfgraph,gmftool文件。并且生成相應(yīng)的映射信息,比如node mapping和canvas mapping。
最后生成emf模型代碼和edit代碼,使用genmodel文件。
使用gmfmap文件右鍵生成gmfgen文件,注意我們要有g(shù)enmode文件才能生成gmfgen文件。
最后用gmfgen生成editor插件。這時(shí)候共有三個(gè)插件 模型 edit和editor。
使用時(shí)File/New/other/Example/中有個(gè)相應(yīng)的diagram,一般再最上面,給一個(gè)名字,無擴(kuò)展名,就打開相應(yīng)的編輯器了。