0

CommonNavigatorを拡張して独自のビューでリソースの変更を検出する RCP アプリケーションを作成しました。

public abstract class NavigatorView extends CommonNavigator  implements
    IResourceChangeListener {
public void createPartControl(Composite parent) {
 super.createPartControl(parent);
 hookResourceChangeCommand(); // my resource tracking function.
 }
}

しかし今、Eclipse自体のプロジェクトエクスプローラーでリソースの変更を検出するプラグインを作成する必要があります。現在、ビューを作成できず、既存のビューを検出する必要があります。どうすればいいですか?

4

1 に答える 1

1

作成したビューを完全に削除してください。リソースはワークスペースの概念の一部であり、ワークスペースは通常ヘッドレス (つまり UI なし) であるため、リソースの変更を追跡する場合は、UI で何もしないでください。

代わりに、以下のコードを使用します (リソース変更リスナーのチュートリアルから引用)。

IWorkspace workspace = ResourcesPlugin.getWorkspace();
   IResourceChangeListener listener = new IResourceChangeListener() {
      public void resourceChanged(IResourceChangeEvent event) {
         System.out.println("Something changed!");
      }
   };
   workspace.addResourceChangeListener(listener);

   //... some time later one ...
   workspace.removeResourceChangeListener(listener);
于 2013-01-05T10:01:07.830 に答える