Example usage for com.intellij.openapi.fileEditor FileEditorProvider accept

List of usage examples for com.intellij.openapi.fileEditor FileEditorProvider accept

Introduction

In this page you can find the example usage for com.intellij.openapi.fileEditor FileEditorProvider accept.

Prototype

boolean accept(@NotNull Project project, @NotNull VirtualFile file);

Source Link

Document

Method is expected to run fast.

Usage

From source file:com.intellij.codeInsight.hint.ImplementationViewComponent.java

License:Apache License

private void updateEditorText() {
    disposeNonTextEditor();/* www  .  j ava 2s. c o m*/

    final PsiElement elt = myElements[myIndex].getNavigationElement();
    Project project = elt.getProject();
    PsiFile psiFile = getContainingFile(elt);
    final VirtualFile vFile = psiFile.getVirtualFile();
    if (vFile == null)
        return;
    final FileEditorProvider[] providers = FileEditorProviderManager.getInstance().getProviders(project, vFile);
    for (FileEditorProvider provider : providers) {
        if (provider instanceof TextEditorProvider) {
            updateTextElement(elt);
            myBinarySwitch.show(myViewingPanel, TEXT_PAGE_KEY);
            break;
        } else if (provider.accept(project, vFile)) {
            myCurrentNonTextEditorProvider = provider;
            myNonTextEditor = myCurrentNonTextEditorProvider.createEditor(project, vFile);
            myBinaryPanel.removeAll();
            myBinaryPanel.add(myNonTextEditor.getComponent());
            myBinarySwitch.show(myViewingPanel, BINARY_PAGE_KEY);
            break;
        }
    }
}