1

我有一个像这样的示例 EMF 层次结构 -

  • 父级 :形状
  • 孩子 1 : 圆圈
  • 孩子 2 : 正方形
  • 孩子 3 : 矩形

现在我想在 Eclipse 中以这样的方式生成我的属性视图。我有一个带有ShapeType的下拉菜单,并根据我想要显示子元素属性的形状类型。

本质上,我想根据父项中的“类型”选择来显示/编辑子属性。

有什么想法我能做到这一点吗?

4

1 回答 1

2

您无法轻松解决此问题,因为在这种情况下,下拉菜单需要更改对象的 EMF 类型,这会导致 Java 类更改。要使这样的事情起作用,您必须创建一个新的 EObject 实例,复制所有相关属性,并删除旧对象(并可能更新选择)。

因此,总而言之,我相信,您想要的基本 EMF 工具是不可能实现的,但是,如果您提供自定义模型操作命令,它应该是可能的。

其他事情,您可以尝试(如果可能在您的域中):

  • 将所有数据移动到父对象的属性中,添加 EValidators 以防止出现不一致的状态,并更新默认的 EMF Edit 命令以过滤掉不必要的编辑器。丑陋,但可能工作。
  • 创建自定义表单/编辑器,在手动编码编辑过程中管理对象删除/添加。
于 2013-01-11T11:02:44.473 回答