2014-10-14 3 views
0

В моем плагине eclipse у меня есть объект StyledText и объект IEditorReference. У меня также есть yCoordinate, что я хочу использовать, чтобы проверить, какой номер строки ниже этой координаты:Как получить все сложенные строки из StyledText

 int lineIndex = styledText.getLineIndex(yCoordinate); 

Это прекрасно работает, если нет линии складной применяется. Поэтому я ищу метод, который учитывает сгибание линии, или это возвращает мне все сложенные строки, чтобы я мог вручную настроить lineIndex. Какие у меня варианты?

ответ

2

От IEditorReference вы можете получить IEditorPart

IEditorPart part = ref.getEditor(false); 

Если часть является ITextEditor вы можете сделать следующее:

ITextEditor editor = (ITextEditor)part; 

IDocumentProvider provider = editor.getDocumentProvider(); 

IEditorInput input = editor.getEditorInput(); 

IDocument document = provider.getDocument(input); 

int line = document.getLineOfOffset(offset in text); 

«смещение в тексте» это количество символов от начало документа. StyledText имеет ряд способов получения этого значения, например getOffsetAtLocation(Point).

+0

Хм, что хорошо выглядит, но что вы подразумеваете под «смещением в тексте»? –

+0

Добавлена ​​информация о смещении –

Смежные вопросы