Обновление модели за редактором при обновлении файла

Я пишу редактор с несколькими вкладками для Eclipse. Этот плагин имеет несколько вкладок, и последняя из них — исходный текст — что-то похожее на редактор plugin.xml в PDE.

За этим стоит некоторая модель, которая используется для отображения некоторой информации на вкладках, основанных на данных в текстовом источнике. Пользователь может редактировать исходный код, и когда он/она переключается на другую вкладку, модель обновляется. Это прекрасно работает.

Проблема в том, что кто-то редактирует исходный файл во внешнем редакторе. Затем обновите проект, и модель также должна быть обновлена. Но как я могу этого добиться?

Я пытался использовать addResourceChangeListener, он уведомляет меня о событиях предварительного обновления, но не содержит информации о том, будет ли обновляться мой файл (например, только ресурс проекта, если кто-то пытался обновить весь проект).

Другая идея, которая у меня была, заключалась в том, чтобы добавить прослушиватель документов, когда приходит событие предварительного обновления, и удалить его в обработчике после изменения. Однако здесь проблема в том, что если файл не изменился и не был обновлен, событие после изменения не отправляется, поэтому я остаюсь с ненужным прослушивателем документов, который будет проинформирован обо всех изменениях, сделанных пользователем на последней (исходной) вкладке. .

Я буду признателен за любую помощь.


person Krokodylowy    schedule 11.05.2012    source источник


Ответы (1)


Обновить, обнаружив измененные файлы, сообщит о них как об измененных. Вероятно, вы имеете в виду прослушать уведомление POST_CHANGE, как показано на http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html .

person nitind    schedule 31.05.2012