Example usage for com.intellij.openapi.fileEditor FileEditorManager getEditors

List of usage examples for com.intellij.openapi.fileEditor FileEditorManager getEditors

Introduction

In this page you can find the example usage for com.intellij.openapi.fileEditor FileEditorManager getEditors.

Prototype

public abstract FileEditor @NotNull [] getEditors(@NotNull VirtualFile file);

Source Link

Usage

From source file:com.android.tools.idea.uibuilder.actions.GenerateLayoutTestSkeletonAction.java

License:Apache License

@Nullable
private static DesignSurface getSurface(@NotNull Project project) {
    FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
    FileEditor[] editors = fileEditorManager.getSelectedEditors();
    for (FileEditor fileEditor : editors) {
        if (fileEditor instanceof NlEditor) {
            return ((NlEditor) fileEditor).getComponent().getSurface();
        }/*www.  j a va 2  s .co  m*/
    }

    Editor editor = fileEditorManager.getSelectedTextEditor();
    if (editor == null) {
        return null;
    }

    NlPreviewManager previewManager = NlPreviewManager.getInstance(project);
    if (previewManager.isWindowVisible()) {
        return previewManager.getPreviewForm().getSurface();
    }

    PsiFile file = PsiUtilBase.getPsiFileInEditor(editor, project);
    if (file == null) {
        return null;
    }

    for (FileEditor fileEditor : fileEditorManager.getEditors(file.getVirtualFile())) {
        if (fileEditor instanceof NlEditor) {
            return ((NlEditor) fileEditor).getComponent().getSurface();
        }
    }

    return null;
}

From source file:com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.java

License:Apache License

@Override
@NotNull//  w w  w. j  a v a 2 s  .c  om
@TestOnly
public List<HighlightInfo> getFileLevelHighlights(@NotNull Project project, @NotNull PsiFile file) {
    VirtualFile vFile = file.getViewProvider().getVirtualFile();
    final FileEditorManager manager = FileEditorManager.getInstance(project);
    List<HighlightInfo> result = new ArrayList<HighlightInfo>();
    for (FileEditor fileEditor : manager.getEditors(vFile)) {
        final List<HighlightInfo> infos = fileEditor.getUserData(FILE_LEVEL_HIGHLIGHTS);
        if (infos == null)
            continue;
        for (HighlightInfo info : infos) {
            result.add(info);
        }
    }
    return result;
}

From source file:com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.java

License:Apache License

@Override
public void cleanFileLevelHighlights(@NotNull Project project, final int group, PsiFile psiFile) {
    if (psiFile == null || !psiFile.getViewProvider().isPhysical())
        return;/*from w  ww .j a v  a  2 s . co  m*/
    VirtualFile vFile = psiFile.getViewProvider().getVirtualFile();
    final FileEditorManager manager = FileEditorManager.getInstance(project);
    for (FileEditor fileEditor : manager.getEditors(vFile)) {
        final List<HighlightInfo> infos = fileEditor.getUserData(FILE_LEVEL_HIGHLIGHTS);
        if (infos == null)
            continue;
        List<HighlightInfo> infosToRemove = new ArrayList<HighlightInfo>();
        for (HighlightInfo info : infos) {
            if (info.getGroup() == group) {
                manager.removeTopComponent(fileEditor, info.fileLevelComponent);
                infosToRemove.add(info);
            }
        }
        infos.removeAll(infosToRemove);
    }
}

From source file:com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.java

License:Apache License

@Override
public void addFileLevelHighlight(@NotNull final Project project, final int group,
        @NotNull final HighlightInfo info, @NotNull final PsiFile psiFile) {
    VirtualFile vFile = psiFile.getViewProvider().getVirtualFile();
    final FileEditorManager manager = FileEditorManager.getInstance(project);
    for (FileEditor fileEditor : manager.getEditors(vFile)) {
        if (fileEditor instanceof TextEditor) {
            FileLevelIntentionComponent component = new FileLevelIntentionComponent(info.getDescription(),
                    info.getSeverity(), info.quickFixActionRanges, project, psiFile,
                    ((TextEditor) fileEditor).getEditor());
            manager.addTopComponent(fileEditor, component);
            List<HighlightInfo> fileLevelInfos = fileEditor.getUserData(FILE_LEVEL_HIGHLIGHTS);
            if (fileLevelInfos == null) {
                fileLevelInfos = new ArrayList<HighlightInfo>();
                fileEditor.putUserData(FILE_LEVEL_HIGHLIGHTS, fileLevelInfos);
            }/*from  w  w w . j a v  a  2s  .c  om*/
            info.fileLevelComponent = component;
            info.setGroup(group);
            fileLevelInfos.add(info);
        }
    }
}

From source file:com.intellij.codeInsight.navigation.NavigationUtil.java

License:Apache License

private static boolean activatePsiElementIfOpen(@NotNull PsiElement elt, boolean searchForOpen,
        boolean requestFocus) {
    if (!elt.isValid())
        return false;
    elt = elt.getNavigationElement();//  w  w  w . j a va2 s. co m
    final PsiFile file = elt.getContainingFile();
    if (file == null || !file.isValid())
        return false;

    VirtualFile vFile = file.getVirtualFile();
    if (vFile == null)
        return false;

    if (!EditorHistoryManager.getInstance(elt.getProject()).hasBeenOpen(vFile))
        return false;

    final FileEditorManager fem = FileEditorManager.getInstance(elt.getProject());
    if (!fem.isFileOpen(vFile)) {
        fem.openFile(vFile, requestFocus, searchForOpen);
    }

    final TextRange range = elt.getTextRange();
    if (range == null)
        return false;

    final FileEditor[] editors = fem.getEditors(vFile);
    for (FileEditor editor : editors) {
        if (editor instanceof TextEditor) {
            final Editor text = ((TextEditor) editor).getEditor();
            final int offset = text.getCaretModel().getOffset();

            if (range.containsOffset(offset)) {
                // select the file
                fem.openFile(vFile, requestFocus, searchForOpen);
                return true;
            }
        }
    }

    return false;
}

From source file:com.intellij.lang.jsgraphql.ide.project.JSGraphQLLanguageUIProjectService.java

License:Open Source License

private void reloadEndpoints(List<JSGraphQLEndpoint> newEndpoints) {
    final FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
    for (VirtualFile file : fileEditorManager.getOpenFiles()) {
        for (FileEditor editor : fileEditorManager.getEditors(file)) {
            if (editor instanceof TextEditor) {
                final JSGraphQLEndpointsModel endpointsModel = ((TextEditor) editor).getEditor()
                        .getUserData(JS_GRAPH_QL_ENDPOINTS_MODEL);
                if (endpointsModel != null) {
                    endpointsModel.reload(newEndpoints);
                }/*from w  w  w  .ja v a  2s  .  c o  m*/
            }
        }
    }
}

From source file:com.vladsch.idea.multimarkdown.editor.MultiMarkdownFxPreviewEditor.java

License:Apache License

protected MultiMarkdownFxPreviewEditor findCounterpart() {
    // here we can find our HTML Text counterpart and update its HTML at the same time. but it is better to keep it separate for now
    VirtualFile file = FileDocumentManager.getInstance().getFile(document);
    if (file != null) {
        FileEditorManager manager = FileEditorManager.getInstance(project);
        FileEditor[] editors = manager.getEditors(file);
        for (FileEditor editor : editors) {
            if (editor != this && editor instanceof MultiMarkdownFxPreviewEditor) {
                return (MultiMarkdownFxPreviewEditor) editor;
            }/* w  w  w  .  j av a 2s.  co  m*/
        }
    }

    return null;
}

From source file:com.vladsch.idea.multimarkdown.editor.MultiMarkdownPreviewEditor.java

License:Apache License

protected MultiMarkdownPreviewEditor findCounterpart() {
    // here we can find our HTML Text counterpart and update its HTML at the same time. but it is better to keep it separate for now
    VirtualFile file = FileDocumentManager.getInstance().getFile(document);
    if (file != null) {
        FileEditorManager manager = FileEditorManager.getInstance(project);
        FileEditor[] editors = manager.getEditors(file);
        for (FileEditor editor : editors) {
            if (editor != this && editor instanceof MultiMarkdownPreviewEditor) {
                return (MultiMarkdownPreviewEditor) editor;
            }// w  ww  .j  a  va  2s  . c  om
        }
    }

    return null;
}

From source file:org.jetbrains.plugins.groovy.compiler.GroovyCompilerLoader.java

License:Apache License

public void projectOpened() {
    CompilerManager compilerManager = CompilerManager.getInstance(myProject);

    /* compilerManager.addTranslatingCompiler(new GroovycStubGenerator(myProject),
                                   new HashSet<FileType>(Arrays.asList(StdFileTypes.JAVA, GroovyFileType.GROOVY_FILE_TYPE)),
                                   new HashSet<FileType>(Arrays.asList(StdFileTypes.JAVA)));
            // www  .j  a v  a2  s.  c  o  m
     compilerManager.addTranslatingCompiler(new GroovyCompiler(myProject),
                                   new HashSet<FileType>(Arrays.asList(GroovyFileType.GROOVY_FILE_TYPE, StdFileTypes.CLASS)),
                                   new HashSet<FileType>(Arrays.asList(StdFileTypes.CLASS)));
                                                                                                           */
    myProject.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER,
            new FileEditorManagerAdapter() {
                @Override
                public void fileOpened(@NotNull FileEditorManager source, @NotNull final VirtualFile file) {
                    if (file.getName().endsWith(".java")
                            && file.getPath().contains(GroovycStubGenerator.GROOVY_STUBS)) {
                        final PsiClass psiClass = GroovycStubGenerator.findClassByStub(myProject, file);
                        if (psiClass != null) {
                            final FileEditorManager fileEditorManager = FileEditorManager
                                    .getInstance(myProject);
                            final FileEditor[] editors = fileEditorManager.getEditors(file);
                            if (editors.length != 0) {
                                decorateStubFile(file, fileEditorManager, editors[0]);
                            }

                        }
                    }
                }
            });
}