Example usage for com.intellij.openapi.actionSystem IdeActions ACTION_EDITOR_ESCAPE

List of usage examples for com.intellij.openapi.actionSystem IdeActions ACTION_EDITOR_ESCAPE

Introduction

In this page you can find the example usage for com.intellij.openapi.actionSystem IdeActions ACTION_EDITOR_ESCAPE.

Prototype

String ACTION_EDITOR_ESCAPE

To view the source code for com.intellij.openapi.actionSystem IdeActions ACTION_EDITOR_ESCAPE.

Click Source Link

Usage

From source file:com.android.tools.idea.actions.OverrideResourceActionTest.java

License:Apache License

private void doTest(@NotNull String newFolder, @Nullable final Runnable invokeAfterTemplate,
        @NotNull String after, String afterPath, @NotNull VirtualFile resourceFile, final boolean closePopup) {
    myFixture.configureFromExistingVirtualFile(resourceFile);
    final PsiFile xmlFile = myFixture.getFile();
    final OverrideResourceAction action = new OverrideResourceAction();
    OverrideResourceAction.ourTargetFolderName = newFolder;
    assertTrue(action.isAvailable(myFixture.getProject(), myFixture.getEditor(), xmlFile));
    CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
        @Override/*from  ww  w  .  ja va  2 s.co m*/
        public void run() {
            ApplicationManager.getApplication().runWriteAction(new Runnable() {
                @Override
                public void run() {
                    action.invoke(myFixture.getProject(), myFixture.getEditor(), xmlFile);
                    if (invokeAfterTemplate != null) {
                        invokeAfterTemplate.run();
                    }
                }
            });
            if (closePopup) {
                myFixture.performEditorAction(IdeActions.ACTION_EDITOR_ESCAPE);
            }
        }
    }, "", "");
    myFixture.checkResultByFile(afterPath, BASE_PATH + after, false);
}

From source file:com.intellij.codeInsight.documentation.DocumentationManager.java

License:Apache License

public DocumentationManager(final Project project, ActionManagerEx managerEx) {
    super(project);
    myActionManagerEx = managerEx;//  w  w  w .j  av  a2s .  c o  m
    final AnActionListener actionListener = new AnActionListener() {
        @Override
        public void beforeActionPerformed(AnAction action, DataContext dataContext, AnActionEvent event) {
            final JBPopup hint = getDocInfoHint();
            if (hint != null) {
                if (action instanceof HintManagerImpl.ActionToIgnore) {
                    ((AbstractPopup) hint).focusPreferredComponent();
                    return;
                }
                if (action instanceof ListScrollingUtil.ListScrollAction)
                    return;
                if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN))
                    return;
                if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_UP))
                    return;
                if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_PAGE_DOWN))
                    return;
                if (action == myActionManagerEx.getAction(IdeActions.ACTION_EDITOR_MOVE_CARET_PAGE_UP))
                    return;
                if (action == ActionManagerEx.getInstanceEx().getAction(IdeActions.ACTION_EDITOR_ESCAPE))
                    return;
                if (ActionPlaces.JAVADOC_INPLACE_SETTINGS.equals(event.getPlace()))
                    return;
                if (action instanceof BaseNavigateToSourceAction)
                    return;
                closeDocHint();
            }
        }

        @Override
        public void beforeEditorTyping(char c, DataContext dataContext) {
            final JBPopup hint = getDocInfoHint();
            if (hint != null && LookupManager.getActiveLookup(myEditor) == null) {
                hint.cancel();
            }
        }

        @Override
        public void afterActionPerformed(final AnAction action, final DataContext dataContext,
                AnActionEvent event) {
        }
    };
    myActionManagerEx.addAnActionListener(actionListener, project);
    myUpdateDocAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, myProject);
}

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

License:Apache License

QuickEditHandler(Project project, PsiFile injectedFile, final PsiFile origFile, Editor editor,
        QuickEditAction action) {//  ww  w. j a v  a  2  s  . c o m
    myProject = project;
    myEditor = editor;
    myAction = action;
    myOrigDocument = editor.getDocument();
    final Place shreds = InjectedLanguageUtil.getShreds(injectedFile);
    final FileType fileType = injectedFile.getFileType();
    final Language language = injectedFile.getLanguage();

    final PsiFileFactory factory = PsiFileFactory.getInstance(project);
    final String text = InjectedLanguageManager.getInstance(project).getUnescapedText(injectedFile);
    final String newFileName = StringUtil.notNullize(language.getDisplayName(), "Injected") + " Fragment " + "("
            + origFile.getName() + ":" + shreds.get(0).getHost().getTextRange().getStartOffset() + ")" + "."
            + fileType.getDefaultExtension();
    myNewFile = factory.createFileFromText(newFileName, language, text, true, true);
    myNewVirtualFile = (LightVirtualFile) myNewFile.getVirtualFile();
    assert myNewVirtualFile != null;
    // suppress possible errors as in injected mode
    myNewFile.putUserData(InjectedLanguageUtil.FRANKENSTEIN_INJECTION,
            injectedFile.getUserData(InjectedLanguageUtil.FRANKENSTEIN_INJECTION));
    final SmartPointerManager smartPointerManager = SmartPointerManager.getInstance(project);
    myNewFile.putUserData(FileContextUtil.INJECTED_IN_ELEMENT,
            smartPointerManager.createSmartPsiElementPointer(origFile));
    myNewDocument = PsiDocumentManager.getInstance(project).getDocument(myNewFile);
    assert myNewDocument != null;
    EditorActionManager.getInstance().setReadonlyFragmentModificationHandler(myNewDocument,
            new MyQuietHandler());
    myOrigCreationStamp = myOrigDocument.getModificationStamp(); // store creation stamp for UNDO tracking
    myOrigDocument.addDocumentListener(this, this);
    myNewDocument.addDocumentListener(this, this);
    EditorFactory editorFactory = ObjectUtils.assertNotNull(EditorFactory.getInstance());
    // not FileEditorManager listener because of RegExp checker and alike
    editorFactory.addEditorFactoryListener(new EditorFactoryAdapter() {

        int myEditorCount;

        @Override
        public void editorCreated(@NotNull EditorFactoryEvent event) {
            if (event.getEditor().getDocument() != myNewDocument)
                return;
            myEditorCount++;
            final EditorActionHandler editorEscape = EditorActionManager.getInstance()
                    .getActionHandler(IdeActions.ACTION_EDITOR_ESCAPE);
            new AnAction() {
                @Override
                public void update(AnActionEvent e) {
                    Editor editor = PlatformDataKeys.EDITOR.getData(e.getDataContext());
                    e.getPresentation().setEnabled(editor != null
                            && LookupManager.getActiveLookup(editor) == null
                            && TemplateManager.getInstance(myProject).getActiveTemplate(editor) == null
                            && (editorEscape == null || !editorEscape.isEnabled(editor, e.getDataContext())));
                }

                @Override
                public void actionPerformed(AnActionEvent e) {
                    closeEditor();
                }
            }.registerCustomShortcutSet(CommonShortcuts.ESCAPE, event.getEditor().getContentComponent());
        }

        @Override
        public void editorReleased(@NotNull EditorFactoryEvent event) {
            if (event.getEditor().getDocument() != myNewDocument)
                return;
            if (--myEditorCount > 0)
                return;
            Disposer.dispose(QuickEditHandler.this);
        }
    }, this);

    if ("JAVA".equals(shreds.get(0).getHost().getLanguage().getID())) {
        myAltFullRange = myOrigDocument.createRangeMarker(shreds.get(0).getHostRangeMarker().getStartOffset(),
                shreds.get(shreds.size() - 1).getHostRangeMarker().getEndOffset());
        myAltFullRange.setGreedyToLeft(true);
        myAltFullRange.setGreedyToRight(true);

        initGuardedBlocks(shreds);
        myInjectedFile = null;
    } else {
        initMarkers(shreds);
        myAltFullRange = null;
        myInjectedFile = injectedFile;
    }
}

From source file:org.jetbrains.android.intentions.AndroidExtractDimensionActionTest.java

License:Apache License

private void doExtractAndCheckStringsXml(@NotNull String stringsXml,
        @Nullable final Runnable invokeAfterTemplate, final boolean closePopup, @NotNull String dimensAfter,
        @NotNull VirtualFile editedFile) {
    myFixture.copyFileToProject(BASE_PATH + stringsXml, "res/values/dimens.xml");
    myFixture.copyFileToProject("R.java", "src/p1/p2/R.java");
    myFixture.configureFromExistingVirtualFile(editedFile);
    final PsiFile editedPsiFile = myFixture.getFile();
    assertTrue(new AndroidExtractDimensionAction().isAvailable(myFixture.getProject(), myFixture.getEditor(),
            editedPsiFile));// ww  w  . ja  va  2s.  c  om
    CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
        @Override
        public void run() {
            ApplicationManager.getApplication().runWriteAction(new Runnable() {
                @Override
                public void run() {
                    AndroidAddStringResourceAction.doInvoke(myFixture.getProject(), myFixture.getEditor(),
                            editedPsiFile, "hello", DIMEN);
                    if (invokeAfterTemplate != null) {
                        invokeAfterTemplate.run();
                    }
                }
            });
            if (closePopup) {
                myFixture.performEditorAction(IdeActions.ACTION_EDITOR_ESCAPE);
            }
        }
    }, "", "");
    myFixture.checkResultByFile("res/values/dimens.xml", BASE_PATH + dimensAfter, false);
}