в моем RCP - Project я использую привязку данных затмения для соединения пользовательского интерфейса с бэкэндом. Я хочу, чтобы каждое изменение в открытом редакторе было невозможно отменить. Мой Domainmodell и пользовательский интерфейс разделены на два разных плагина.
Мой текущий подход заключается в реализации моего собственного класса UpdateValueStrategy для привязки данных. Я расширяю обычный UpdateValueStrategy и переопределяю метод doSet.
Оттуда я получаю историю операций и глобальный UndoContext, а затем создаю новую операцию. У меня есть различные операции, такие как «ChangeCustomerName» и «ChangeCustomerNote».
Вопросы:
- Нужно ли мне самостоятельно реализовывать логику отмены / повтора, или фреймворк как-то поддерживает меня с этим?
- Есть ли лучшее место или способ для создания операции, которую нельзя отменить, чем doSet () класса UpdateValue - Strategy. Получить доступ к текстовому полю, которое было изменено, непросто.