如何从StyledText获取所有折叠的线条

时间:2014-10-14 17:22:37

标签: java eclipse-plugin code-folding

在我的eclipse插件中,我有一个StyledText对象和IEditorReference对象。我还有一个yCoordinate,我想用它来检查哪个行号低于这个坐标:

        int lineIndex = styledText.getLineIndex(yCoordinate);

如果没有应用折线,这样可以正常工作。因此,我正在寻找一种方法,可以考虑线折叠,或者让我回到所有折叠线,以便我可以手动调整lineIndex。我有什么选择?

1 个答案:

答案 0 :(得分: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)