Example usage for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor

List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor

Introduction

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

Prototype

public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file) 

Source Link

Usage

From source file:com.android.tools.idea.memory.MemoryMonitorView.java

License:Apache License

@Override
public void onHprofCompleted(@NotNull byte[] data, @NotNull Client client) {
    File f;//w  w  w .ja v a2s  .  c  om
    try {
        f = FileUtil.createTempFile("ddms", "." + SdkConstants.EXT_HPROF);
        FileUtil.writeToFile(f, data);
    } catch (IOException e) {
        return;
    }
    final VirtualFile vf = VfsUtil.findFileByIoFile(f, true);
    if (vf == null) {
        return;
    }
    OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, vf);
    FileEditorManager.getInstance(myProject).openEditor(descriptor, true);
}

From source file:com.android.tools.idea.navigator.nodes.AndroidManifestsGroupNode.java

License:Apache License

@Override
public void navigate(boolean requestFocus) {
    VirtualFile fileToOpen = findFileToOpen(mySources);
    if (fileToOpen == null) {
        return;//from  w w  w  .  ja  v a2s .  c  o  m
    }

    new OpenFileDescriptor(myProject, fileToOpen).navigate(requestFocus);
}

From source file:com.android.tools.idea.navigator.nodes.AndroidResGroupNode.java

License:Apache License

@Override
public void navigate(boolean requestFocus) {
    if (myFiles.isEmpty()) {
        return;//from  www.jav a  2  s. com
    }

    PsiFile fileToOpen = findFileToOpen(myFiles);
    if (fileToOpen == null) {
        return;
    }

    new OpenFileDescriptor(myProject, fileToOpen.getVirtualFile()).navigate(requestFocus);
}

From source file:com.android.tools.idea.profiling.capture.CaptureService.java

License:Apache License

/**
 * Notifies listeners of the {@link Capture} being ready, and opens the file with the appropriate editor.
 *
 * @param capture the {@link Capture} to notify listeners of and to open
 *///  w w w  .j  a  v a  2  s  .c  o m
public void notifyCaptureReady(@NotNull final Capture capture) {
    for (CaptureListener listener : myListeners) {
        listener.onReady(capture);
    }

    OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, capture.getFile());
    FileEditorManager.getInstance(myProject).openEditor(descriptor, true);
}

From source file:com.android.tools.idea.profiling.view.nodes.CaptureNode.java

License:Apache License

@Override
public void handleDoubleClickOrEnter(SimpleTree tree, InputEvent inputEvent) {
    assert myProject != null;
    OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, myCapture.getFile());

    try {/*from  w  ww  .  j av a  2  s  . c om*/
        FileEditorManager.getInstance(myProject).openEditor(descriptor, true);
    } catch (IllegalArgumentException ignored) {
        // The file might not be present anymore if the user deletes it from outside the editor.
        // Just ignore this issue, as the editor will soon pick up that the file is gone.
    }
}

From source file:com.android.tools.idea.tests.gui.framework.fixture.EditorFixture.java

License:Apache License

/**
 * Opens up a different file. This will run through the "Open File..." dialog to
 * find and select the given file.//  w  w w .j  a va  2 s .  c o m
 *
 * @param file the file to open
 * @param tab which tab to open initially, if there are multiple editors
 */
public EditorFixture open(@NotNull final VirtualFile file, @NotNull final Tab tab) {
    execute(new GuiTask() {
        @Override
        protected void executeInEDT() throws Throwable {
            // TODO: Use UI to navigate to the file instead
            Project project = myFrame.getProject();
            FileEditorManager manager = FileEditorManager.getInstance(project);
            if (tab == Tab.EDITOR) {
                manager.openTextEditor(new OpenFileDescriptor(project, file), true);
            } else {
                manager.openFile(file, true);
            }
        }
    });

    selectEditorTab(tab);

    Wait.seconds(5).expecting("file " + quote(file.getPath()) + " to be opened and loaded").until(() -> {
        if (!file.equals(getCurrentFile())) {
            return false;
        }

        FileEditor fileEditor = FileEditorManager.getInstance(myFrame.getProject()).getSelectedEditor(file);
        JComponent editorComponent = fileEditor.getComponent();
        if (editorComponent instanceof JBLoadingPanel) {
            return !((JBLoadingPanel) editorComponent).isLoading();
        }
        return true;
    });

    myFrame.requestFocusIfLost();
    robot.waitForIdle();

    return this;
}

From source file:com.eightbitmage.moonscript.actions.GenerateMoonListingAction.java

License:Apache License

public void actionPerformed(AnActionEvent e) {
    Project project = (Project) e.getData(LangDataKeys.PROJECT);

    assert project != null;

    Sdk sdk = null;//  ww w .j av a  2s  .  c  o m
    Module module = null;
    Module modules[] = ModuleManager.getInstance(project).getModules();

    for (Module m : modules) {
        module = m;
        sdk = MoonSdkType.findMoonSdk(m);
        if (sdk != null)
            break;
    }

    assert module != null;
    assert sdk != null;

    final String homePath = sdk.getHomePath();
    if (homePath == null)
        return;

    String path = MoonSdkType.getByteCodeCompilerExecutable(homePath).getParent();
    String exePath = MoonSdkType.getTopLevelExecutable(homePath).getAbsolutePath();

    PsiFile currfile = e.getData(LangDataKeys.PSI_FILE);
    if (currfile == null || !(currfile instanceof MoonPsiFile))
        return;

    FileDocumentManager.getInstance().saveAllDocuments();
    MoonSystemUtil.clearConsoleToolWindow(project);

    final VirtualFile virtualFile = currfile.getVirtualFile();
    if (virtualFile == null)
        return;

    final ProcessOutput processOutput;
    try {
        final VirtualFile child = StdLibrary.getListingModuleLocation().findChild("listing.lua");
        if (child == null)
            return;

        final String listingScript = child.getPath();
        processOutput = MoonSystemUtil.getProcessOutput(path, exePath, listingScript, virtualFile.getPath());
    } catch (final ExecutionException ex) {
        return;
    }
    if (processOutput.getExitCode() != 0)
        return;

    String errors = processOutput.getStderr();
    if (StringUtil.notNullize(errors).length() > 0) {
        MoonSystemUtil.printMessageToConsole(project, errors, ConsoleViewContentType.ERROR_OUTPUT);
        return;
    }
    String listing = processOutput.getStdout();

    final IdeView view = LangDataKeys.IDE_VIEW.getData(e.getDataContext());
    if (view == null)
        return;

    final PsiDirectory dir = view.getOrChooseDirectory();
    if (dir == null)
        return;

    final PsiFileFactory factory = PsiFileFactory.getInstance(project);
    final String listingFileName = virtualFile.getNameWithoutExtension() + "-listing.lua";

    final PsiFile existingFile = dir.findFile(listingFileName);
    if (existingFile != null)
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
            @Override
            public void run() {
                existingFile.delete();
            }
        });

    final PsiFile file = factory.createFileFromText(listingFileName, MoonFileType.MOON_FILE_TYPE, listing);

    ApplicationManager.getApplication().runWriteAction(new Runnable() {
        @Override
        public void run() {
            created = dir.add(file);
        }
    });

    if (created == null)
        return;
    final PsiFile containingFile = created.getContainingFile();
    if (containingFile == null)
        return;
    final VirtualFile virtualFile1 = containingFile.getVirtualFile();
    if (virtualFile1 == null)
        return;

    OpenFileDescriptor fileDesc = new OpenFileDescriptor(project, virtualFile1);

    FileEditorManager.getInstance(project).openTextEditor(fileDesc, false);

    view.selectElement(created);

    created = null;
}

From source file:com.facebook.buck.intellij.ideabuck.actions.GoToBuckFile.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent e) {
    final Project project = e.getProject();
    if (project == null) {
        return;/* w w w .j a  va  2 s  . co m*/
    }
    Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor();
    if (editor == null) {
        return;
    }
    final Document document = editor.getDocument();
    if (document == null) {
        return;
    }
    VirtualFile virtualFile = FileDocumentManager.getInstance().getFile(document);

    final VirtualFile file = BuckFileUtil.getBuckFile(virtualFile);
    if (file != null) {
        final OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file);
        // This is for better cursor position.
        final Navigatable n = descriptor.setUseCurrentWindow(false);
        if (!n.canNavigate()) {
            return;
        }
        n.navigate(true);
    }
}

From source file:com.facebook.buck.intellij.plugin.actions.GoToBuckFile.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent e) {
    final Project project = e.getProject();
    if (project == null) {
        return;//from  w w w. j av a  2  s .c om
    }
    Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor();
    if (editor == null) {
        return;
    }
    final Document document = editor.getDocument();
    if (document == null) {
        return;
    }
    VirtualFile virtualFile = FileDocumentManager.getInstance().getFile(document);
    if (virtualFile == null) {
        return;
    }

    VirtualFile parent = virtualFile.getParent();
    if (parent == null) {
        return;
    }

    VirtualFile buckFile = parent.findChild(BuckFileUtil.getBuildFileName());
    while (buckFile == null && parent != null) {
        parent = parent.getParent();
        buckFile = parent.findChild(BuckFileUtil.getBuildFileName());
    }

    final VirtualFile file = buckFile;
    if (file != null) {
        ApplicationManager.getApplication().invokeLater(new Runnable() {
            @Override
            public void run() {
                // This is for better cursor position.
                OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file);
                Navigatable n = descriptor.setUseCurrentWindow(false);
                if (!n.canNavigate()) {
                    return;
                }
                n.navigate(true);
            }
        }, ModalityState.NON_MODAL);
    }
}

From source file:com.google.idea.blaze.android.sync.importer.problems.AddGeneratedResourceDirectoryNavigatable.java

License:Open Source License

private static void addDirectoryToProjectView(Project project, File projectViewFile,
        ArtifactLocation generatedResDir) {
    ProjectViewEdit edit = ProjectViewEdit.editLocalProjectView(project, builder -> {
        ListSection<GenfilesPath> existingSection = builder.getLast(GeneratedAndroidResourcesSection.KEY);
        ListSection.Builder<GenfilesPath> directoryBuilder = ListSection
                .update(GeneratedAndroidResourcesSection.KEY, existingSection);
        directoryBuilder.add(new GenfilesPath(generatedResDir.getRelativePath()));
        builder.replace(existingSection, directoryBuilder);
        return true;
    });//from   ww  w . ja va  2 s .  co  m
    if (edit == null) {
        Messages.showErrorDialog(
                "Could not modify project view. Check for errors in your project view and try again", "Error");
        return;
    }
    edit.apply();
    VirtualFile projectView = VfsUtil.findFileByIoFile(projectViewFile, false);
    if (projectView != null) {
        FileEditorManager.getInstance(project).openEditor(new OpenFileDescriptor(project, projectView), true);
    }
}