1

我是使用 Sirius 创建编辑器的新手,我有以下 EMF 模型:

在此处输入图像描述

我想为给定的元模型创建一个 Sirius 编辑器,其中 和 具有不同的表示Superclass A形式Subclass B

这两个类AB可以被实例化并且Class B具有额外的属性和引用。在 的表示中Subclass B,我只想显示来自 的有限数量的属性Superclass A和来自 的一些附加属性Subclass B

现在的想法是拥有不同的容器,并根据我想要显示相应容器的类。到目前为止,当我在 Sirius 编辑器中定义了两个容器时,每个类一个,然后我创建了一个实例,Subclass B我现在在表示中得到了两个容器,一个表示用于表示,一个表示表示用于Superclass A表示Subclass B

有什么办法可以告诉 Sirius 只显示相应类的容器?

4

1 回答 1

3

因此,您的 .odesgin 文件中有两个不同的 A 和 B 图表元素?

您可以限制应应用图形表示的元素列表。这可以通过图表元素中的“语义候选表达式”来完成。您可以轻松地使用Java 服务来过滤您的模型树并返回一个Collection<EObject>包含您想要以图形方式表示的所有相关元素(查看链接,它已被完美解释)。

如果图表元素应仅应用于父模型对象的特定功能,请查看该feature:选项。在feature:“语义候选表达式”字段中输入并点击 ctrl + 空格,您应该会看到一个列表,其中包含您定义为此图表元素的父 EObject 的 EObject 的所有可能特征。

(通过“图表元素”,我总是指 .odesign 视点中定义的“容器”/“节点”元素)

于 2016-08-23T11:39:47.417 回答