Я новичок в MDSD / EMF, но добиваюсь больших успехов благодаря поддержке Eclipse.
Я создал игрушечную модель, на которую вчера ответили, как предложил awynne, и я очень близок.Я использую только EMF и его редактор сгенерированного дерева.
Вот краткая сводка моей метамодели EMF:
- EClass: Widget
- name
- EClass: WidgetReference
- aWidgetReference : Widget [0..1] Containment = false
- EClass: WidgetContainer
- myWidgets : Widget [0..*] Containment = true
- EClass: ReferenceContainer
- myReferences : WidgetReference [0..*] Containment = true
- EClass: TopLevelClass
- myWidgetContainer : [1] WidgetContainer Containment = true
- myReferenceContainer : [1] ReferenceContainer Containment = true
Теперь происходит то, что происходит в редакторе сгенерированного дерева для моделиЯ создаю все, начиная с TopLevelClass.Я могу успешно создать несколько виджетов в WidgetContainer, и я могу создать одну ссылку WidgetReference в ReferenceContainer и связать ее с конкретным виджетом.
В случае, если кто-то сталкивается с этим, в сгенерированном коде редактора EMF есть ошибка:
Когда я пытаюсь добавить более одной WidgetReference в ReferenceContainer, редактор дерева показывает только первыйWidgetReference под ReferenceContainer.Если я нажимаю на элемент WidgetReferences в дереве, он показывает несколько WidgetReferences в представлении свойств.Это просто не позволит мне увидеть их в дереве, и поэтому не позволит мне выбрать их, чтобы изменить их ссылку, чтобы связать ее с реальным виджетом.
Обходной путь для этого - создать столько ссылок, сколько вам нужно, сохранить и закрыть модель, а затем снова открыть ее.После повторного открытия все ссылки будут показаны.
Спасибо за любую помощь / руководство.
Джефф