2009-05-28 5 views
2

이클립스 RCP 질문 IEDitorPart (이클립스)에서 ITextViewer를 얻을</p> <p>내가 가진 파일을 열

IDocument doc = ((ITextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput()); 

나는 텍스트 뷰어에 도착해야합니다 그 문서 (LinkedModeUI를 만들기 위해), 이것을 할 방법이 있습니까?

답변

1

1) 하나의 문서는 둘 이상의 편집기로 열 수 있습니다. 모든 편집자를 반복하여 파일 편집자를 찾아야합니다. 2) 뷰어는 편집기에 캡슐화되어 있습니다. 유일한 방법은 getter를 추가하는 편집기 클래스를 확장하는 것입니다. 또는 뷰어가 상속인으로부터 액세스 할 수없는 경우 다시 정의하십시오.

6

다음은 나를 위해 일한 :

IEditorPart editorPart = getSite().getPage().getActiveEditor(); 
if (editorPart != null) { 
    ITextOperationTarget target = 
      (ITextOperationTarget)editorPart.getAdapter(ITextOperationTarget.class); 
    if (target instanceof ITextViewer) { 
     ITextViewer textViewer = (ITextViewer)target; 
     // ... 
    } 
} 
관련 문제