package name.admitriev.jhelper.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.jetbrains.cidr.lang.psi.OCFile; import name.admitriev.jhelper.IDEUtils; import name.admitriev.jhelper.exceptions.NotificationException; import name.admitriev.jhelper.task.TaskData; import name.admitriev.jhelper.task.TaskUtils; import name.admitriev.jhelper.ui.AddTaskDialog; import name.admitriev.jhelper.ui.UIUtils; public class AddTaskAction extends BaseAction { @Override public void performAction(AnActionEvent e) { Project project = e.getProject(); if (project == null) { throw new NotificationException("No project found", "Are you in any project?"); } AddTaskDialog dialog = new AddTaskDialog(project); dialog.show(); if (!dialog.isOK()) { return; } TaskData task = dialog.getTask(); PsiElement generatedFile = TaskUtils.saveNewTask(task, project); UIUtils.openMethodInEditor(project, (OCFile) generatedFile, "solve"); IDEUtils.reloadProject(project); } }