如何组合Eclipse Databinding和UndoableOperations?

在我的RCP – Project我正在使用
eclipse数据绑定来连接ui和后端.我希望开放式编辑器中的每个更改都可以撤消.我的Domainmodell和UI分为两个不同的插件.

我目前的方法是为数据绑定实现我自己的UpdateValueStrategy类.我扩展了正常的UpdateValueStrategy并覆盖了doSet Methode.

从那里我得到OperationHistory和Global UndoContext,然后我创建一个新的Operation.我有各种操作,如“ChangeCustomerName”和“ChangeCustomerNote”.

问题:

>我需要自己实现撤消/重做 – 逻辑,还是框架以某种方式支持我?
>是否有更好的地方或方法来创建可撤销操作,然后创建UpdateValue – Strategy类的doSet().要访问文本字段,改变并不容易.

最佳答案 您将获得的答案主要是:使用
EMF.Edit,它包含了开箱即用的org.eclipse.emf.databinding.edit,网上有一个很棒的
tutorial.

在Eclipse bugtracker中有一个开放的feature request关于在没有EMF的JFace数据绑定中也包含undo / redo但它还没有完成.它也在eclipse forum中讨论过.

点赞