The GMF Runtime has a set of frameworks to help the development of Eclipse graphical editors:
- Reusable components for graphical editors
- A standardized model to describe diagram elements
- Semantic and diagram models are distinct
- Enables open and extensible graphical editors
- Command infrastructure that bridges EMF and GEF
- EMF provides a runtime infrastructure to instantiate and manipulate models (among other things)
- GEF is an MVC-based framework to create graphical editors
- Leverage various other technologies:
- EMFT: Transactions, Validation, OCL
- Apache Batik
I am having a problem using GMF as described on this page.
Eclipse UML2 Tools and Graphical Modelling Framework (GMF)
The data for this diagram is held in these files:
Generating EMF Model
Create Project
Start Eclipse and make sure any existing projects are closed.
Menu -> File -> New -> Project
select 'new CMF Project' the next
Enter
- project name: I used com.mjb.es.math
press 'Next' and in next page enable 'dashboard'
then 'Finish'
File -> New -> Package
give it name: mathModel
Create the following interfaces
- BinaryOp.java
- BinaryOpGraded.java
- BinaryOpTable.java
- MathDiagram.java
- MNode.java
- MType.java
- MTypeInteger.java
- MTypeMultivector.java
- MTypeRational.java
- MTypeScalar.java
- MTypeTensor.java
- UnaryOp.java
Right click on model folder
new -> other -> emf models
Change the folder to "model"
filename = mathModel.genmodel
select this in the package explorer
and right click on 'Es' in es.genmodel and click on 'generate all'
this generates:
- Model code
- Edit code
- Editor code
- Test Code
Generate Model
Generate the generator model file from annotated java:
Menu -> File -> New -> Eclipse Modeling Framework -> EMF Model
This is explained in more detail on this page.
Create 'Graphical def Model'
- In GMF Dashboard click on 'create' in 'Graphical def Model' box
- set filename to: euclideanspace.gmfgraph
- press finish
or
derive it from
Create 'Tooling Definition Model'
- In GMF Dashboard click on 'create' in 'Tooling Definition Model' box
- set filename to: euclideanspace.gmftool
- press finish
select the file and right click on 'tool registary' select pallette
Create 'Mapping Definition Model'
- In GMF Dashboard click on 'combine'