package krasa.mavenhelper.action; import com.intellij.execution.Executor; import com.intellij.execution.ProgramRunnerUtil; import com.intellij.execution.RunnerAndConfigurationSettings; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; /** * @author Vojtech Krasa */ public class RunConfigurationAction extends AnAction { protected final Executor myExecutor; protected final boolean myEnabled; protected final Project myProject; protected final RunnerAndConfigurationSettings mySettings; public RunConfigurationAction(Executor executor, boolean enabled, Project project, RunnerAndConfigurationSettings settings) { super(settings.getName(), null, executor.getIcon()); myExecutor = executor; myEnabled = enabled; myProject = project; mySettings = settings; } @Override public void actionPerformed(AnActionEvent event) { if (!myEnabled) return; ProgramRunnerUtil.executeConfiguration(mySettings, myExecutor); } @Override public void update(AnActionEvent e) { super.update(e); e.getPresentation().setEnabled(myEnabled); } }