2014-02-24 3 views
1

org.eclipse.ui.editors.text.TextEditor을 기반으로 텍스트 편집기에 선택 변경 이벤트를 추가하려고합니다.Eclipse RCP 텍스트 편집기 선택이 변경됨

선택한 텍스트의 행과 열을 가져오고 싶습니다 (사용자가 선택/강조 표시 한 경우).

가장 간단한 방법은 무엇입니까?

ITextViewer 객체 (또는 ISourceViewer 확장) 당신에게 문서 및 선택된 범위의 길이에 오프셋을 포함하는 Point getSelectedRange()를 반환하는 방법을 보유하면

답변

2

감사합니다.

IDocument 개체에는 오프셋이 포함 된 줄을 반환하는 getLineOfOffset() 메서드가 있습니다. 줄에 대한 정보를 반환하는 getLineInformationOfOffset()도 있습니다.

그래서 :

Point selected = textViewer.getSelectedRange(); 

int line = document.getLineOfOffset(selected.x); 

IRegion lineRegion = document.getLineInformationOfOffset(selected.x); 

int col = selected.x - lineRegion.getOffset(); 
+0

당신에게 그렉 감사합니다! – breakline

관련 문제