2013-01-04 4 views
0

CommonNavigator을 확장하여 자체보기에서 자원 변경을 감지하는 RCP 응용 프로그램을 만들었습니다.Eclipse 용 자원 변경 플러그인

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

는하지만 지금은 일식 자체 프로젝트 탐색기에서 자원의 변화를 감지하여 이에 대한 플러그인을 작성해야합니다. 지금보기를 만들 수 없으며 기존보기를 감지해야합니다. 어떻게해야합니까?

답변

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); 
+0

감사 :

대신합니다 (resource change listener tutorial에서 가져온) 아래의 코드를 사용합니다. 실제로 이것은 내가 지나친 동일한 참조입니다. 이전에 저는이 청취자를 뷰 코드로 작성했습니다. 자, 아무런 견해도 없으므로, 나는 activator class 만 가지고 있습니다. 이 청취자를 어디에 넣어 주면 좋을까요? –

+0

플러그인의 활성기에 넣을 수 있습니다 (플러그인의 시작 레벨이 변경되어 항상 시작됩니다). – Bananeweizen