2012-12-24 26 views
1

我正在编辑器中对emf对象列表进行更改。我想要的是每次修改这些emf对象时,都会刷新我的编辑器以反映这些更改。Eclipse RCP propertychangelistener的用法,正确的方法?

我之前尝试过的方法是在所述emf对象上包含一个包装对象(因为我不知道如何可以或应该修改emf生成的源代码)以包含需要刷新的编辑器。这些更改将在该包装器对象之上进行,并且在emf对象更改后调度propertychangelistener。然而,这种解决方案非常难看,因为:

  • 每个对象将需要获得的参考编辑器本身,引入参考依赖性
  • 具有象一个单独的覆盖物引入并发症为维护代码

什么是正确的做法呢?

回答

2

我想添加绑定框架来处理模型对象的改变

您可能想看看下面的教程为出发点。

http://www.vogella.com/articles/EclipseDataBinding/article.html

+0

,我读了一个,但我不知道的情况是相似的。作者将一个对象绑定到一个标签上,而我所拥有的是对象列表显示在表上。尽管更改正在显示的对象列表会触发查看器上的更新,但我不会看到如何编辑表中的一行来触发刷新。 – wakandan

+0

您可以将Table输入与ListObservable绑定,当向/从List中添加/移除新元素时,它会触发刷新。编辑单元格也可以使用Observables将单元格值绑定到CellEditor –

+0

听起来像我需要的。我还没有时间尝试它,但感谢您的答案:) – wakandan