2016-05-31 3 views
0

현재 특정 기준과 일치하는 모든 EObject를 검색하는보기를 만들고 있습니다. 이 뷰는 열린 모든 EMF 편집기를 검색합니다. 에디터에서 EMF의 근원을 검색하는 프로그래밍 방식이 있습니까?열려있는 편집자의 모든 EMF 트리 루트 가져 오기

[편집] emf 플러그인의 자동 생성 트리보기 편집기와 같은 편집기를 의미했습니다. 하나의 편집기가 열려 있다면이 모델 트리에서 루트 EObject를 얻고 싶습니다.

+0

질문을 올바르게 작성하십시오. 편집자가 트리보기를 가지고 있고 그 입력 객체를 원하십니까 ?? –

답변

0

나는 그것을 할 수 있었다. 내 활성 페이지에 PartListener2를 추가하고 활성 편집기를 검색했습니다. 그런 다음 방금이 방법을 추가했습니다.

private void addRoot(IEditorReference editorRef) { 
    IEditorPart editorPart = editorRef.getEditor(false); 
    if (editorPart instanceof IEditingDomainProvider) { 
     IEditingDomainProvider editingDomainProvider = (IEditingDomainProvider) editorPart; 
     EList<Resource> resourceList = editingDomainProvider.getEditingDomain().getResourceSet().getResources(); 
     for (Resource resource : resourceList) { 
      for (EObject content : resource.getContents()) { 
       rootMap.put(content, editorRef); 
      } 
     } 
    } 
} 
관련 문제