package name.admitriev.jhelper.actions;
import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.impl.RunManagerImpl;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.Project;
import name.admitriev.jhelper.configuration.TaskConfiguration;
import name.admitriev.jhelper.ui.EditTestsDialog;
import net.egork.chelper.task.Test;
public class EditTestsAction extends BaseAction {
@Override
protected void performAction(AnActionEvent e) {
Project project = e.getProject();
RunnerAndConfigurationSettings selectedConfiguration =
RunManagerImpl.getInstanceImpl(project).getSelectedConfiguration();
if (selectedConfiguration == null) {
return;
}
RunConfiguration configuration = selectedConfiguration.getConfiguration();
if (configuration instanceof TaskConfiguration) {
TaskConfiguration taskConfiguration = (TaskConfiguration) configuration;
Test[] originalTests = taskConfiguration.getTests();
EditTestsDialog dialog = new EditTestsDialog(originalTests, project);
dialog.show();
if (!dialog.isOK()) {
return;
}
Test[] newTests = dialog.getTests();
taskConfiguration.setTests(newTests);
// @todo: save configuration
}
}
}