0

我正在从 EMF 模型创建 GEF 编辑器;假设模型名称是 StartEvent,它具有 ID 和名称等属性。

在编辑部分,我有两个标签:一个用于显示小圆圈,另一个用于显示名称。我已经在图形类中实现了handleBounds 接口,并返回了图标标签的边界,这样当我单击图形时,只有在不实现handleBounds 接口时才会选择图标,否则将选择整个图形。

图标标签和名称标签都必须是可选的,并且我必须能够将名称标签移离它。

StartEvent 模型的名称属性映射到名称标签。

我明白 gef 中的每一件事都是编辑部分。您的回答可能是名称标签也应该是单独的编辑部分,但名称不是模型;它是模型的属性。

4

1 回答 1

1

如果您希望标签表现得像任何其他 GEF 元素(可移动、可选择等),您必须EditPart为标签创建一个。标签不是模型实体并不重要,您必须EditPart使用一些特殊的解决方法为此标签创建一个,例如拥有一个包含图中标签(而不是简单的字符串)的特殊类,它可以是由EditPartFactory您的编辑确定。据我所知,没有其他方法可以做到这一点。

于 2011-11-14T20:39:54.023 回答