mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
[code] EditorActionHandler illustration
This commit is contained in:
parent
52da55257d
commit
19f82bfa37
@ -29,6 +29,10 @@
|
|||||||
description="Illustrates how to plug an action in">
|
description="Illustrates how to plug an action in">
|
||||||
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
||||||
</action>
|
</action>
|
||||||
|
<action id="EditorBasics.EditorHandlerIllustration" class="org.jetbrains.plugins.editor.basics.EditorHandlerIllustration" text="Editor Handler"
|
||||||
|
description="Illustrates how to plug an action in">
|
||||||
|
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
||||||
|
</action>
|
||||||
</actions>
|
</actions>
|
||||||
|
|
||||||
</idea-plugin>
|
</idea-plugin>
|
@ -0,0 +1,31 @@
|
|||||||
|
package org.jetbrains.plugins.editor.basics;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.AnAction;
|
||||||
|
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||||
|
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||||
|
import com.intellij.openapi.actionSystem.IdeActions;
|
||||||
|
import com.intellij.openapi.editor.Editor;
|
||||||
|
import com.intellij.openapi.editor.actionSystem.EditorActionHandler;
|
||||||
|
import com.intellij.openapi.editor.actionSystem.EditorActionManager;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Anna Bulenkova
|
||||||
|
*/
|
||||||
|
public class EditorHandlerIllustration extends AnAction {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(AnActionEvent anActionEvent) {
|
||||||
|
final Editor editor = anActionEvent.getRequiredData(CommonDataKeys.EDITOR);
|
||||||
|
EditorActionManager actionManager = EditorActionManager.getInstance();
|
||||||
|
//Insert one more caret below the active caret
|
||||||
|
EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_CLONE_CARET_BELOW);
|
||||||
|
actionHandler.execute(editor, editor.getCaretModel().getCurrentCaret(), anActionEvent.getDataContext());
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void update(final AnActionEvent e) {
|
||||||
|
//Set visible if at least one caret is available
|
||||||
|
final Project project = e.getData(CommonDataKeys.PROJECT);
|
||||||
|
final Editor editor = e.getData(CommonDataKeys.EDITOR);
|
||||||
|
e.getPresentation().setVisible((project != null && editor != null && !editor.getCaretModel().getAllCarets().isEmpty()));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user