package jetbrains.mps.ide.java.platform.refactorings; /*Generated by MPS */ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.Nullable; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JLabel; import org.jetbrains.annotations.NotNull; import javax.swing.Action; import java.awt.event.ActionEvent; public class AskDialog extends DialogWrapper { private AskDialog.DialogResults myResult = AskDialog.DialogResults.Cancel; public AskDialog(Project project, String text) { super(project, true); setTitle(text); setResizable(false); init(); } public AskDialog.DialogResults getResult() { return this.myResult; } @Nullable @Override protected JComponent createCenterPanel() { JPanel panel = new JPanel(); panel.add(new JLabel("Replace this fragment?")); return panel; } @Override @NotNull protected Action[] createActions() { return new Action[]{new AskDialog.AskDialogAction(AskDialog.DialogResults.Replace, true), new AskDialog.AskDialogAction(AskDialog.DialogResults.Skip), new AskDialog.AskDialogAction(AskDialog.DialogResults.All), getCancelAction()}; } @Override public void doCancelAction() { myResult = AskDialog.DialogResults.Cancel; super.doCancelAction(); } public class AskDialogAction extends DialogWrapper.DialogWrapperAction { private AskDialog.DialogResults myValue; public AskDialogAction(AskDialog.DialogResults value, boolean isDefault) { this(value); putValue(DialogWrapper.DEFAULT_ACTION, Boolean.TRUE); } public AskDialogAction(AskDialog.DialogResults value) { super(value.name()); myValue = value; } @Override protected void doAction(ActionEvent event) { myResult = myValue; close(DialogWrapper.OK_EXIT_CODE); } } public enum DialogResults { Replace(), Skip(), All(), Cancel(); DialogResults() { } } }