private boolean navigateInAnyFileEditor(Project project, boolean focusEditor) { List<FileEditor> editors = FileEditorManager.getInstance(project).openEditor(this, focusEditor); for (FileEditor editor : editors) { if (editor instanceof TextEditor) { Editor e = ((TextEditor) editor).getEditor(); unfoldCurrentLine(e); if (focusEditor) { IdeFocusManager.getInstance(myProject).requestFocus(e.getContentComponent(), true); } } } return !editors.isEmpty(); }
public void navigateIn(@NotNull Editor e) { final int offset = getOffset(); CaretModel caretModel = e.getCaretModel(); boolean caretMoved = false; if (myLogicalLine >= 0) { LogicalPosition pos = new LogicalPosition(myLogicalLine, Math.max(myLogicalColumn, 0)); if (offset < 0 || offset == e.logicalPositionToOffset(pos)) { caretModel.moveToLogicalPosition(pos); caretMoved = true; } } if (!caretMoved && offset >= 0) { caretModel.moveToOffset(Math.min(offset, e.getDocument().getTextLength())); caretMoved = true; } if (caretMoved) { e.getSelectionModel().removeSelection(); scrollToCaret(e); unfoldCurrentLine(e); } }