私は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で複数のウィジェットを正常に作成でき、ReferenceContainerで単一のWidgetReferenceを作成して、それを特定のウィジェットに関連付けることができます。
誰かがこれに遭遇した場合、生成されたEMFエディタコードにバグがあります:
ReferenceContainerに複数のWidgetReferenceを追加しようとすると、ツリーエディターにはReferenceContainerの下の最初のWidgetReferenceのみが表示されます。ツリーのWidgetReferencesアイテムをクリックすると、プロパティビューに複数のWidgetReferencesが表示されます。ツリーでそれらを表示できないため、実際のウィジェットに関連付けるために参照を変更するためにそれらを選択することはできません。
これに対する回避策は、必要な数の参照を作成し、モデルを保存して閉じてから、再度開くことです。再度開くと、すべての参照が表示されます。
ヘルプ/ガイダンスをありがとう。
ジェフ