Example usage for com.intellij.openapi.editor.actionSystem EditorActionHandler EditorActionHandler

List of usage examples for com.intellij.openapi.editor.actionSystem EditorActionHandler EditorActionHandler

Introduction

In this page you can find the example usage for com.intellij.openapi.editor.actionSystem EditorActionHandler EditorActionHandler.

Prototype

protected EditorActionHandler() 

Source Link

Usage

From source file:com.intellij.codeInsight.folding.impl.actions.CollapseAllRegionsAction.java

License:Apache License

public CollapseAllRegionsAction() {
    super(new EditorActionHandler() {
        @Override// w ww  . j av a  2s.c  o  m
        public void execute(final Editor editor, DataContext dataContext) {
            Project project = editor.getProject();
            assert project != null;
            PsiDocumentManager.getInstance(project).commitAllDocuments();

            CodeFoldingManager.getInstance(project).updateFoldRegions(editor);
            editor.getFoldingModel().runBatchFoldingOperation(new Runnable() {
                @Override
                public void run() {
                    for (FoldRegion region : editor.getFoldingModel().getAllFoldRegions()) {
                        region.setExpanded(false);
                    }
                }
            });
        }

        @Override
        public boolean isEnabled(Editor editor, DataContext dataContext) {
            return super.isEnabled(editor, dataContext) && editor.getProject() != null;
        }
    });
}

From source file:com.intellij.codeInsight.folding.impl.actions.CollapseRegionAction.java

License:Apache License

public CollapseRegionAction() {
    super(new EditorActionHandler() {
        @Override//from   ww  w  .  j  a  v a2s  .c om
        public void execute(final Editor editor, DataContext dataContext) {
            CodeFoldingManager foldingManager = CodeFoldingManager.getInstance(editor.getProject());
            foldingManager.updateFoldRegions(editor);

            final int line = editor.getCaretModel().getLogicalPosition().line;

            Runnable processor = new Runnable() {
                @Override
                public void run() {
                    FoldRegion region = FoldingUtil.findFoldRegionStartingAtLine(editor, line);
                    if (region != null && region.isExpanded()) {
                        region.setExpanded(false);
                    } else {
                        int offset = editor.getCaretModel().getOffset();
                        FoldRegion[] regions = FoldingUtil.getFoldRegionsAtOffset(editor, offset);
                        for (FoldRegion region1 : regions) {
                            if (region1.isExpanded()) {
                                region1.setExpanded(false);
                                break;
                            }
                        }
                    }
                }
            };
            editor.getFoldingModel().runBatchFoldingOperation(processor);
        }

        @Override
        public boolean isEnabled(Editor editor, DataContext dataContext) {
            return super.isEnabled(editor, dataContext) && editor.getProject() != null;
        }

    });
}

From source file:com.intellij.codeInsight.folding.impl.actions.ExpandAllRegionsAction.java

License:Apache License

public ExpandAllRegionsAction() {
    super(new EditorActionHandler() {
        @Override// w ww. j  av  a  2s. c  o  m
        public void execute(final Editor editor, DataContext dataContext) {
            Project project = editor.getProject();
            assert project != null;
            PsiDocumentManager.getInstance(project).commitAllDocuments();

            CodeFoldingManager.getInstance(project).updateFoldRegions(editor);
            editor.getFoldingModel().runBatchFoldingOperation(new Runnable() {
                @Override
                public void run() {
                    boolean anythingDone = false;
                    FoldRegion[] regions = editor.getFoldingModel().getAllFoldRegions();
                    for (FoldRegion region : regions) {
                        // try to restore to default state at first
                        PsiElement element = EditorFoldingInfo.get(editor).getPsiElement(region);
                        if (!region.isExpanded()
                                && (element == null || !FoldingPolicy.isCollapseByDefault(element))) {
                            region.setExpanded(true);
                            anythingDone = true;
                        }
                    }

                    if (!anythingDone) {
                        for (FoldRegion region : regions) {
                            region.setExpanded(true);
                        }
                    }

                }
            });
        }

        @Override
        public boolean isEnabled(Editor editor, DataContext dataContext) {
            return super.isEnabled(editor, dataContext) && editor.getProject() != null;
        }
    });
}

From source file:com.intellij.codeInsight.folding.impl.actions.ExpandRegionAction.java

License:Apache License

public ExpandRegionAction() {
    super(new EditorActionHandler() {
        @Override//from w ww  .  j  a va 2  s . c  o m
        public void execute(Editor editor, DataContext dataContext) {
            expandRegionAtCaret(editor.getProject(), editor);
        }

        @Override
        public boolean isEnabled(Editor editor, DataContext dataContext) {
            return super.isEnabled(editor, dataContext) && CommonDataKeys.PROJECT.getData(dataContext) != null;
        }

    });
}

From source file:com.intellij.ide.bookmarks.actions.GotoBookmarkActionBase.java

License:Apache License

protected GotoBookmarkActionBase(final boolean next) {
    super(new EditorActionHandler() {
        @Override/*www . j a  va 2  s  . c o m*/
        public void execute(Editor editor, DataContext dataContext) {
            navigateToBookmark(dataContext, editor);
        }

        @Override
        public boolean isEnabled(Editor editor, DataContext dataContext) {
            return getBookmarkToGo(dataContext, editor) != null;
        }

        private void navigateToBookmark(DataContext dataContext, @NotNull final Editor editor) {
            final Bookmark bookmark = getBookmarkToGo(dataContext, editor);
            if (bookmark == null)
                return;

            int line = bookmark.getLine();
            if (line >= editor.getDocument().getLineCount())
                return;
            if (line < 0)
                line = 0;

            LogicalPosition pos = new LogicalPosition(line, 0);
            editor.getSelectionModel().removeSelection();
            editor.getCaretModel().removeSecondaryCarets();
            editor.getCaretModel().moveToLogicalPosition(pos);
            editor.getScrollingModel().scrollTo(new LogicalPosition(line, 0), ScrollType.CENTER);
        }

        @Nullable
        private Bookmark getBookmarkToGo(DataContext dataContext, Editor editor) {
            Project project = CommonDataKeys.PROJECT.getData(dataContext);
            if (project == null)
                return null;
            BookmarkManager manager = BookmarkManager.getInstance(project);
            return next ? manager.getNextBookmark(editor, true) : manager.getPreviousBookmark(editor, true);
        }
    });
}

From source file:com.maddyhome.idea.vim.action.motion.visual.VisualExitModeAction.java

License:Open Source License

public VisualExitModeAction() {
    super(new EditorActionHandler() {
        public void execute(@NotNull Editor editor, @NotNull DataContext context) {
            VimPlugin.getMotion().processEscape(InjectedLanguageUtil.getTopLevelEditor(editor));
        }//from  w w  w. ja  v  a2s  .  c  o m
    });
}

From source file:com.maddyhome.idea.vim.action.ResetModeAction.java

License:Open Source License

public ResetModeAction() {
    super(new EditorActionHandler() {
        public void execute(@NotNull Editor editor, @NotNull DataContext context) {
            KeyHandler.getInstance().fullReset(InjectedLanguageUtil.getTopLevelEditor(editor));
        }/*from   w w  w  . j  ava  2s . c o  m*/
    });
}

From source file:com.mnr.java.intellij.idea.plugin.base64helper.MainActionHandler.java

License:Apache License

private EditorActionHandler getEditorActionHandler() {
    return new EditorActionHandler() {
        @Override/*ww  w .  java 2s  .  c o  m*/
        protected void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) {
            ListPopup listPopup = getListPopup(editor);
            listPopup.showInBestPositionFor(editor);
        }
    };
}