package jetbrains.mps.ide.platform.refactoring; /*Generated by MPS */ import com.intellij.openapi.ui.DialogWrapper; import javax.swing.Action; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import java.util.List; import jetbrains.mps.internal.collections.runtime.ListSequence; import java.util.ArrayList; import javax.swing.AbstractAction; import com.intellij.refactoring.RefactoringBundle; import java.awt.event.ActionEvent; public abstract class RefactoringDialog extends DialogWrapper { protected Action myRefactorAction; protected final Project myProject; public RefactoringDialog(@NotNull Project project, boolean canBeParent) { super(project, canBeParent); myProject = project; } protected final Action getRefactorAction() { return myRefactorAction; } @Override @NotNull protected Action[] createActions() { List<Action> actions = ListSequence.fromList(new ArrayList<Action>()); ListSequence.fromList(actions).addElement(getRefactorAction()); ListSequence.fromList(actions).addElement(getCancelAction()); return ListSequence.fromList(actions).toGenericArray(Action.class); } @Override protected void createDefaultActions() { super.createDefaultActions(); myRefactorAction = new RefactoringDialog.RefactorAction(); } /** * This method will be called on pressing "Refactor" button in dialog. * */ protected void doRefactoringAction() { close(OK_EXIT_CODE); } private class RefactorAction extends AbstractAction { public RefactorAction() { putValue(NAME, RefactoringBundle.message("refactor.button")); putValue(DialogWrapper.DEFAULT_ACTION, Boolean.TRUE); } @Override public void actionPerformed(ActionEvent event) { doRefactoringAction(); } } public Project getProject() { return myProject; } }