이클립스 RCP 질문 IEDitorPart (이클립스)에서 ITextViewer를 얻을</p> <p>내가 가진 파일을 열
IDocument doc = ((ITextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
나는 텍스트 뷰어에 도착해야합니다 그 문서 (LinkedModeUI를 만들기 위해), 이것을 할 방법이 있습니까?
이클립스 RCP 질문 IEDitorPart (이클립스)에서 ITextViewer를 얻을</p> <p>내가 가진 파일을 열
IDocument doc = ((ITextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
나는 텍스트 뷰어에 도착해야합니다 그 문서 (LinkedModeUI를 만들기 위해), 이것을 할 방법이 있습니까?
1) 하나의 문서는 둘 이상의 편집기로 열 수 있습니다. 모든 편집자를 반복하여 파일 편집자를 찾아야합니다. 2) 뷰어는 편집기에 캡슐화되어 있습니다. 유일한 방법은 getter를 추가하는 편집기 클래스를 확장하는 것입니다. 또는 뷰어가 상속인으로부터 액세스 할 수없는 경우 다시 정의하십시오.
다음은 나를 위해 일한 :
IEditorPart editorPart = getSite().getPage().getActiveEditor();
if (editorPart != null) {
ITextOperationTarget target =
(ITextOperationTarget)editorPart.getAdapter(ITextOperationTarget.class);
if (target instanceof ITextViewer) {
ITextViewer textViewer = (ITextViewer)target;
// ...
}
}