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.google.idea.blaze.base.settings.ui.EditProjectViewAction.java

License:Open Source License

@Override
public void actionPerformed(AnActionEvent e) {
    Project project = e.getProject();/*from   w ww.j a  v a  2s  . com*/
    if (project == null) {
        return;
    }
    ProjectViewSet projectViewSet = ProjectViewManager.getInstance(project).getProjectViewSet();
    if (projectViewSet == null) {
        return;
    }
    for (ProjectViewSet.ProjectViewFile projectViewFile : projectViewSet.getProjectViewFiles()) {
        File file = projectViewFile.projectViewFile;
        if (file != null) {
            VirtualFile virtualFile = VfsUtil.findFileByIoFile(file, true);
            if (virtualFile != null) {
                OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile);
                FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
            }
        }
    }
}

From source file:com.google.idea.blaze.base.settings.ui.ProjectViewHelper.java

License:Open Source License

static void openProjectViewFile(Project project, ProjectViewFile projectViewFile) {
    File file = projectViewFile.projectViewFile;
    if (file != null) {
        VirtualFile virtualFile = VfsUtil.findFileByIoFile(file, true);
        if (virtualFile != null) {
            OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile);
            FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
        }/*from   ww  w . ja v a 2s  .  c o m*/
    }
}

From source file:com.intellij.codeInsight.CodeInsightUtilBase.java

License:Apache License

@Override
public boolean prepareFileForWrite(@Nullable final PsiFile psiFile) {
    if (psiFile == null)
        return false;
    final VirtualFile file = psiFile.getVirtualFile();
    final Project project = psiFile.getProject();

    if (ReadonlyStatusHandler.ensureFilesWritable(project, file)) {
        return true;
    }/* w  ww . j  a  va 2s .  com*/
    ApplicationManager.getApplication().invokeLater(new Runnable() {
        @Override
        public void run() {
            final Editor editor = FileEditorManager.getInstance(project)
                    .openTextEditor(new OpenFileDescriptor(project, file), true);
            if (editor != null && editor.getComponent().isDisplayable()) {
                HintManager.getInstance().showErrorHint(editor,
                        CodeInsightBundle.message("error.hint.file.is.readonly", file.getPresentableUrl()));
            }
        }
    }, project.getDisposed());

    return false;
}

From source file:com.intellij.codeInsight.daemon.impl.quickfix.MethodReturnTypeFix.java

License:Apache License

private static Editor getEditorForMethod(PsiMethod myMethod, @NotNull final Project project,
        final Editor editor, final PsiFile file) {

    PsiFile containingFile = myMethod.getContainingFile();
    if (containingFile != file) {
        OpenFileDescriptor descriptor = new OpenFileDescriptor(project, containingFile.getVirtualFile());
        return FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
    }//from  ww w.  j av  a  2s .c o m
    return editor;
}

From source file:com.intellij.codeInsight.generation.OverrideImplementUtil.java

License:Apache License

public static List<PsiGenerationInfo<PsiMethod>> overrideOrImplement(PsiClass psiClass,
        @NotNull PsiMethod baseMethod) throws IncorrectOperationException {
    FileEditorManager fileEditorManager = FileEditorManager.getInstance(baseMethod.getProject());
    List<PsiGenerationInfo<PsiMethod>> results = new ArrayList<PsiGenerationInfo<PsiMethod>>();
    try {/*from  w w w . jav a 2s .c o  m*/

        List<PsiGenerationInfo<PsiMethod>> prototypes = convert2GenerationInfos(
                overrideOrImplementMethod(psiClass, baseMethod, false));
        if (prototypes.isEmpty()) {
            return null;
        }

        PsiSubstitutor substitutor = TypeConversionUtil
                .getSuperClassSubstitutor(baseMethod.getContainingClass(), psiClass, PsiSubstitutor.EMPTY);
        PsiElement anchor = getDefaultAnchorToOverrideOrImplement(psiClass, baseMethod, substitutor);
        results = GenerateMembersUtil.insertMembersBeforeAnchor(psiClass, anchor, prototypes);

        return results;
    } finally {

        PsiFile psiFile = psiClass.getContainingFile();
        Editor editor = fileEditorManager
                .openTextEditor(new OpenFileDescriptor(psiFile.getProject(), psiFile.getVirtualFile()), false);
        if (editor != null && !results.isEmpty()) {
            results.get(0).positionCaret(editor, true);
            editor.getScrollingModel().scrollToCaret(ScrollType.CENTER);
        }
    }
}

From source file:com.intellij.codeInsight.intention.impl.CopyAbstractMethodImplementationHandler.java

License:Apache License

private void copyImplementation(final PsiMethod sourceMethod) {
    final List<PsiMethod> generatedMethods = new ArrayList<PsiMethod>();
    new WriteCommandAction(myProject, getTargetFiles()) {
        @Override//  w w  w  .  j av a2  s  .  c  o  m
        protected void run(final Result result) throws Throwable {
            for (PsiEnumConstant enumConstant : myTargetEnumConstants) {
                PsiClass initializingClass = enumConstant.getOrCreateInitializingClass();
                myTargetClasses.add(initializingClass);
            }
            for (PsiClass psiClass : myTargetClasses) {
                final Collection<PsiMethod> methods = OverrideImplementUtil.overrideOrImplementMethod(psiClass,
                        myMethod, true);
                final Iterator<PsiMethod> iterator = methods.iterator();
                if (!iterator.hasNext())
                    continue;
                PsiMethod overriddenMethod = iterator.next();
                final PsiCodeBlock body = overriddenMethod.getBody();
                final PsiCodeBlock sourceBody = sourceMethod.getBody();
                assert body != null && sourceBody != null;
                ChangeContextUtil.encodeContextInfo(sourceBody, true);
                final PsiElement newBody = body.replace(sourceBody.copy());
                ChangeContextUtil.decodeContextInfo(newBody, psiClass, null);

                PsiSubstitutor substitutor = TypeConversionUtil.getSuperClassSubstitutor(mySourceClass,
                        psiClass, PsiSubstitutor.EMPTY);
                PsiElement anchor = OverrideImplementUtil.getDefaultAnchorToOverrideOrImplement(psiClass,
                        sourceMethod, substitutor);
                try {
                    if (anchor != null) {
                        overriddenMethod = (PsiMethod) anchor.getParent().addBefore(overriddenMethod, anchor);
                    } else {
                        overriddenMethod = (PsiMethod) psiClass.addBefore(overriddenMethod,
                                psiClass.getRBrace());
                    }
                    generatedMethods.add(overriddenMethod);
                } catch (IncorrectOperationException e) {
                    LOG.error(e);
                }
            }
        }
    }.execute();
    if (generatedMethods.size() > 0) {
        PsiMethod target = generatedMethods.get(0);
        PsiFile psiFile = target.getContainingFile();
        FileEditorManager fileEditorManager = FileEditorManager.getInstance(psiFile.getProject());
        Editor editor = fileEditorManager
                .openTextEditor(new OpenFileDescriptor(psiFile.getProject(), psiFile.getVirtualFile()), false);
        if (editor != null) {
            GenerateMembersUtil.positionCaret(editor, target, true);
            editor.getScrollingModel().scrollToCaret(ScrollType.CENTER);
        }
    }
}

From source file:com.intellij.codeInsight.template.TemplateBuilderImpl.java

License:Apache License

@Override
public void run() {
    final Project project = myFile.getProject();
    VirtualFile file = myFile.getVirtualFile();
    assert file != null;
    OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file);
    final Editor editor = FileEditorManager.getInstance(project).openTextEditor(descriptor, true);

    assert editor != null : "Editor is null";
    run(editor, false);//w  w w . ja v  a2s  . c o  m
}

From source file:com.intellij.diff.contents.DirectoryContentImpl.java

License:Apache License

@Nullable
@Override//from ww w.ja v  a2  s  .c  o  m
public OpenFileDescriptor getOpenFileDescriptor() {
    if (myProject == null || myProject.isDefault())
        return null;
    return new OpenFileDescriptor(myProject, myFile);
}

From source file:com.intellij.execution.stacktrace.StackTraceLine.java

License:Apache License

public OpenFileDescriptor getOpenFileDescriptor(final VirtualFile file) {
    final int lineNumber;
    try {//from  w  ww  . j a  va  2 s.  c om
        lineNumber = getLineNumber();
    } catch (NumberFormatException e) {
        return new OpenFileDescriptor(myProject, file);
    }
    return new OpenFileDescriptor(myProject, file, lineNumber, 0);
}

From source file:com.intellij.ide.actions.OpenFileAction.java

License:Apache License

public static void openFile(final VirtualFile virtualFile, final Project project) {
    FileEditorProviderManager editorProviderManager = FileEditorProviderManager.getInstance();
    if (editorProviderManager.getProviders(project, virtualFile).length == 0) {
        Messages.showMessageDialog(project,
                IdeBundle.message("error.files.of.this.type.cannot.be.opened",
                        ApplicationNamesInfo.getInstance().getProductName()),
                IdeBundle.message("title.cannot.open.file"), Messages.getErrorIcon());
        return;/*from w w w .  ja  v  a2s  .co  m*/
    }

    OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile);
    FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
}