Как объединить привязку данных Eclipse и операции UndoableOperation? - PullRequest
4 голосов
/ 03 июня 2010

в моем RCP - Project я использую привязку данных затмения для соединения пользовательского интерфейса с бэкэндом. Я хочу, чтобы каждое изменение в открытом редакторе было невозможно отменить. Мой Domainmodell и пользовательский интерфейс разделены на два разных плагина.

Мой текущий подход заключается в реализации моего собственного класса UpdateValueStrategy для привязки данных. Я расширяю обычный UpdateValueStrategy и переопределяю метод doSet.

Оттуда я получаю историю операций и глобальный UndoContext, а затем создаю новую операцию. У меня есть различные операции, такие как «ChangeCustomerName» и «ChangeCustomerNote».

Вопросы:

  1. Нужно ли мне самостоятельно реализовывать логику отмены / повтора, или фреймворк как-то поддерживает меня с этим?
  2. Есть ли лучшее место или способ для создания операции, которую нельзя отменить, чем doSet () класса UpdateValue - Strategy. Получить доступ к текстовому полю, которое было изменено, непросто.

1 Ответ

2 голосов
/ 29 апреля 2011

Ответ, который вы получите в основном, таков: используйте EMF.Edit , он входит в комплект поставки вместе с org.eclipse.emf.databinding.edit, и есть отличный учебник в сети.

В отслеживателе ошибок Eclipse есть открытый запрос функции о включении отмены / возврата также в привязку данных JFace без EMF, но он еще не завершен. Это также обсуждалось на форуме eclipse .

...