如何在EMF中使用子项的属性

时间:2013-01-11 10:19:54

标签: eclipse eclipse-rcp eclipse-emf eclipse-pde

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

  • :Shape
  • 儿童1 :圈子
  • 儿童2 :方
  • 儿童3 :Rect

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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