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

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

Introduction

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

Prototype

public OpenFileDescriptor setUseCurrentWindow(boolean search) 

Source Link

Usage

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;//from  w ww.  ja v 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);

    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  . java  2  s  .c o 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);
    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.intellij.ide.util.EditSourceUtil.java

License:Apache License

@Nullable
public static Navigatable getDescriptor(final PsiElement element) {
    if (!canNavigate(element)) {
        return null;
    }//from ww  w . j a va  2 s.  co m
    if (element instanceof PomTargetPsiElement) {
        return ((PomTargetPsiElement) element).getTarget();
    }
    final PsiElement navigationElement = element.getNavigationElement();
    if (navigationElement instanceof PomTargetPsiElement) {
        return ((PomTargetPsiElement) navigationElement).getTarget();
    }
    final int offset = navigationElement instanceof PsiFile ? -1 : navigationElement.getTextOffset();
    final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(navigationElement);
    if (virtualFile == null || !virtualFile.isValid()) {
        return null;
    }
    OpenFileDescriptor desc = new OpenFileDescriptor(navigationElement.getProject(), virtualFile, offset);
    desc.setUseCurrentWindow(FileEditorManager.USE_CURRENT_WINDOW.isIn(navigationElement));
    return desc;
}