2010-06-03 61 views
4

在我的RCP - 項目我使用eclipse數據綁定連接到用戶界面與後端。我希望打開的編輯器中的所有更改都可以撤消。我的Domainmodell和UI分爲兩個不同的插件。如何結合Eclipse Databinding和UndoableOperations?

我目前的做法是爲數據綁定實現我自己的UpdateValueStrategy類。我擴展了正常的UpdateValueStrategy並覆蓋了doSet Methode。

從那裏我得到OperationHistory和全局UndoContext,然後我創建一個新的操作。我有各種操作,如「ChangeCustomerName」和「ChangeCustomerNote」。

問題:

  1. 我是否需要實現撤銷/重做 - 我自己的邏輯,或者是框架某種程度上支持我這個?
  2. 有沒有更好的地方或方法來創建可撤銷的操作,然後是UpdateValue - Strategy類的doSet()。訪問已更改的文本字段並非易事。

回答

2

你會得到大部分的答案是:使用EMF.Edit,它包括它與org.eclipse.emf.databinding.edit箱子,有在網絡上一個優秀的tutorial

Eclipse錯誤追蹤器中有一個開放的feature request關於在沒有EMF的JFace數據綁定中包含撤消/重做,但尚未完成。它也在eclipse forum中討論。