Eclipse用のマルチタブエディタを作成しています。このプラグインにはいくつかのタブがあり、最後はテキストソースです.PDEのplugin.xmlエディタに似ています。ファイルが更新されたときにエディタの背後にあるモデルを更新する
テキストソース内のデータに基づいてタブに情報を表示するモデルがいくつかあります。ユーザーはソースを編集し、別のタブに切り替えるとモデルが更新されます。それはうまく動作します。
問題は、外部エディタでソースファイルを編集するときです。次に、プロジェクトをリフレッシュし、モデルもリフレッシュする必要があります。しかし、私はこれをどのように達成できますか?
addResourceChangeListener
を使用しようとしましたが、リフレッシュ前のイベントで私に通知しますが、ファイルが更新される場合は情報は含まれません(プロジェクト全体をリフレッシュしようとするとプロジェクトリソースのみ)。
私が持っていた他のアイデアは、リフレッシュ前のイベントが来たときにドキュメントリスナーを追加し、変更後のハンドラでそれを削除することでした。しかし、ここで問題は、ファイルが変更されず、更新されていない場合、変更後のイベントは送信されないため、最後の(ソース)タブでユーザーが行ったすべての編集について通知される不必要なドキュメントリスナー。
私は何か助けていただきありがとうございます。