From 52da55257d1f0bbb652e08b745f85cb269046792 Mon Sep 17 00:00:00 2001 From: Anna Bulenkova Date: Thu, 11 Dec 2014 15:18:00 +0100 Subject: [PATCH] [code] TypedActionHandler illustration --- .../editor/basics/EditorIllustration.java | 9 +++++++ .../plugins/editor/basics/MyTypedHandler.java | 27 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 editor_basics/src/org/jetbrains/plugins/editor/basics/MyTypedHandler.java diff --git a/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java index 77b56c73c..a77dc4590 100644 --- a/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java +++ b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java @@ -7,12 +7,21 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.SelectionModel; +import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.project.Project; /** * @author Anna Bulenkova */ public class EditorIllustration extends AnAction { + + static { + final EditorActionManager actionManager = EditorActionManager.getInstance(); + final TypedAction typedAction = actionManager.getTypedAction(); + typedAction.setupHandler(new MyTypedHandler()); + } + @Override public void actionPerformed(final AnActionEvent anActionEvent) { //Get all the required data from data keys diff --git a/editor_basics/src/org/jetbrains/plugins/editor/basics/MyTypedHandler.java b/editor_basics/src/org/jetbrains/plugins/editor/basics/MyTypedHandler.java new file mode 100644 index 000000000..0deb62dc8 --- /dev/null +++ b/editor_basics/src/org/jetbrains/plugins/editor/basics/MyTypedHandler.java @@ -0,0 +1,27 @@ +package org.jetbrains.plugins.editor.basics; + +import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.command.WriteCommandAction; +import com.intellij.openapi.editor.Document; +import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.editor.actionSystem.TypedActionHandler; +import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.NotNull; + +/** + * @author Anna Bulenkova + */ +public class MyTypedHandler implements TypedActionHandler { + @Override + public void execute(@NotNull Editor editor, char c, @NotNull DataContext dataContext) { + final Document document = editor.getDocument(); + Project project = editor.getProject(); + Runnable runnable = new Runnable() { + @Override + public void run() { + document.insertString(0, "Typed\n"); + } + }; + WriteCommandAction.runWriteCommandAction(project, runnable); + } +}