allow to send notifications to AnActionListeners if action logic is wrapped in awt InputEvent (ShortcutPromoter)

This commit is contained in:
Konstantin Bulenkov
2014-06-18 13:32:05 +02:00
parent efefe6517c
commit 671d10d54c
@@ -16,12 +16,14 @@
package com.intellij.openapi.actionSystem.ex;
import com.intellij.ide.DataManager;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.extensions.PluginId;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.event.InputEvent;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -107,5 +109,14 @@ public abstract class ActionManagerEx extends ActionManager {
public List<String> findActionIdsByAbbreviation(String abbreviation) {
return Collections.emptyList();
}
public void fireBeforeActionPerformed(String actionId, InputEvent event) {
final AnAction action = getAction(actionId);
if (action != null) {
final DataContext context = DataManager.getInstance().getDataContext();
final AnActionEvent e = new AnActionEvent(event, context, ActionPlaces.UNKNOWN, action.getTemplatePresentation(), this, 0);
fireBeforeActionPerformed(action, context, e);
}
}
}