2013-09-27 2 views
0

Я пытаюсь создать одну простую диаграмму с использованием EMF & GMF в плагинах Eclipse. Я создал один Ecore с двумя узлами &. Я могу генерировать GMF из этого. Когда я запускаю свое приложение, я получаю вкус и с помощью этого могу нарисовать диаграмму GMF. Но я хочу это программно.Создайте диаграмму GMF программно

Я создал один XML из этого Ecore и успешно смог загрузить этот XML в объект EMF. Таким образом, мой EObject имеет эти значения XML. Теперь я хочу получить диаграмму GMF из этого автоматически. например, с открытием одного образца RCP, он должен загружать содержимое GMF.

Проблема в том, что я новичок в этом GMF и EMF, поэтому я не знаю, какой класс мне нужно изменить или что мне нужно написать.

+0

Могли кто-нибудь поможет мне в этом ... Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я сделал некоторую кодировку для этого ... Например, теперь я сохраняю объект ECORE с помощью XMI и затем пытаюсь загрузить объект ECORE поверх диаграммы GMF. Но я не нашел конкретного решения. Спасибо за помощь. – user2689075

+0

Я решил это самостоятельно. Если кому-то нужна помощь по этому поводу, я поставил вопрос по этому вопросу. – user2689075

ответ

-1

У меня есть решение:

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(d); 

Это работает для меня ... после многих часов исследований

PS: схема должна быть в том же месте, что и файл Ecore

+0

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/18100291) – Beloo

+0

Это не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Ask Question] (https://stackoverflow.com/questions/ask). Вы также можете [добавить щедрость] (https://stackoverflow.com/help/privileges/set-bounties), чтобы привлечь больше внимания к этому вопросу, как только у вас будет достаточно [репутации] (https://stackoverflow.com/help/ Что-репутация). - [Из обзора] (/ review/low-quality-posts/18100291) –

Смежные вопросы