我试图在Eclipse插件中使用EMF和GMF创建一个简单的图表。我创建了一个具有两个节点和连接的Ecore。我能够从中生成GMF。当我运行我的应用程序时,我得到了味觉,在它的帮助下,我能够绘制 GMF 图。但我想要以编程方式做到这一点。
我已经从该 Ecore 创建了一个 XML,并成功地将该 XML 加载到 EMF 对象中。所以我的EObject具有XML值。现在我想要一个GMF图自动出来。就像打开一个示例 RCP 视图一样,它应该加载 GMF 内容。
问题是我是这个GMF和EMF的新手,所以我不知道我必须修改哪个类或我必须写什么。
我有一个解决方案:
ResourceSet resourceSet = new ResourceSetImpl();
Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
diagram.setMeasurementUnit(MeasurementUnit.PIXEL_LITERAL);
diagram.getStyles().add(NotationFactory.eINSTANCE.createDiagramStyle());
diagram.setElement(object); //your EObject that should be referenced to this diagram (probably an ecore file)
diagram.setType("Ecore");
URI diagUri = URI.createFileURI(yourPathToECoreFile + "_diagram");
Resource diagramResource = resourceSet.createResource(diagUri);
diagramResource.getContents().add(diagram);
它对我有用...经过数小时的研究
PS:图表应该与您的ecore文件位于同一位置