package sk.stuba.fiit.perconik.eclipse.jface.dialogs; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.MessageDialogWithToggle; public final class MessageDialogs { private MessageDialogs() {} public static String[] buttonLabels(final int kind) { switch (kind) { case MessageDialog.NONE: case MessageDialog.ERROR: case MessageDialog.INFORMATION: case MessageDialog.WARNING: return new String[] {IDialogConstants.OK_LABEL}; case MessageDialog.CONFIRM: return new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}; case MessageDialog.QUESTION: return new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}; case MessageDialog.QUESTION_WITH_CANCEL: return new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL}; default: throw new IllegalArgumentException(); } } public static String buttonCodeToPreferenceValue(final int code) { switch (code) { case IDialogConstants.YES_ID: case IDialogConstants.YES_TO_ALL_ID: case IDialogConstants.PROCEED_ID: case IDialogConstants.OK_ID: return MessageDialogWithToggle.ALWAYS; case IDialogConstants.NO_ID: case IDialogConstants.NO_TO_ALL_ID: return MessageDialogWithToggle.NEVER; case IDialogConstants.ABORT_ID: case IDialogConstants.CANCEL_ID: case IDialogConstants.CLOSE_ID: case IDialogConstants.BACK_ID: return null; default: throw new IllegalArgumentException(); } } }