在我的 RCP - 项目中,我使用 eclipse 数据绑定将 ui 与后端连接起来。我希望打开的编辑器中的每一个更改都是可撤销的。My Domainmodell 和 UI 分别在两个不同的插件中。
我目前的方法是为数据绑定实现我自己的 UpdateValueStrategy 类。我扩展了正常的 UpdateValueStrategy 并覆盖了 doSet Methode。
从那里我得到了 OperationHistory 和 Global UndoContext,然后我创建了一个新的 Operation。我有各种操作,如“ChangeCustomerName”和“ChangeCustomerNote”。
问题:
- 我是否需要自己实现撤消/重做逻辑,或者框架是否以某种方式支持我?
- 有没有比 UpdateValue - Strategy 类的 doSet() 更好的地方或方法来创建可撤消的操作。要访问已更改的文本字段并不容易。