Java tutorial
/******************************************************************************* * Copyright (c) 2011, 2012 Ericsson * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Description: * * Contributors: * Jacques Bouthillier - Initial Implementation of a central location for the dialog windows *******************************************************************************/ package org.eclipse.mylyn.reviews.r4e.report.internal.util; import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; /** * @author Jacques Bouthillier */ public class Popup { // ------------------------------------------------------------------------ // Variables // ------------------------------------------------------------------------ private static final String[] FWarningButtonLabels = { "Continue" }; // ------------------------------------------------------------------------ // Methods // ------------------------------------------------------------------------ /** * Information pop-up dialog * * @param parent * : window shell * @param message * : String to be displayed */ public static void info(Shell aParent, String aMessage) { MessageDialog.openInformation(aParent, R4EReportString.getString("Popup.infoTitle"), //$NON-NLS-1$ aMessage); //$NON-NLS-1$ } /** * Error pop-up dialog * * @param parent * : window shell * @param message * : String to be displayed */ public static void error(final Shell aParent, final String aMessage) { // MessageDialog.openError(parent, // R4EReportString.getString("Popup.errorTitle"), //$NON-NLS-1$ // message); //$NON-NLS-1$ Runnable runnable = new Runnable() { public void run() { MessageDialog.openError(aParent, R4EReportString.getString("Popup.errorTitle"), //$NON-NLS-1$ aMessage); //$NON-NLS-1$ } }; Display.getDefault().asyncExec(runnable); } /** * Warning pop-up dialog * * @param aParent * : window shell * @param aMessage * : String to be displayed */ public static void warning(Shell aParent, String aMessage) { MessageDialog.openWarning(aParent, R4EReportString.getString("Popup.warningTitle"), //$NON-NLS-1$ aMessage); //$NON-NLS-1$ } /** * Pop-up dialog to display any messages * * @param parent * : window shell * @param message * : String to be displayed */ public static void displayMessage(Shell aParent, String aMessage) { MessageDialog.openInformation(aParent, R4EReportString.getString("Popup.messageTitle"), //$NON-NLS-1$ aMessage); //$NON-NLS-1$ } /** * Display a warning message dialog * * @param aTitle * String * @param aMessage * String * @return index int */ public final static int displayWarningMessageDialog(final String aTitle, final String aMessage) { MessageDialog dialog = new MessageDialog(null, // Shell aTitle, // Dialog title null, // Dialog title image message aMessage, // Dialog message MessageDialog.WARNING, // Dialog type FWarningButtonLabels, // Dialog button labels 0 // Default index (selection) ); return dialog.open(); } // Dialog with details area (containing status messages) public final static int displayErrorDialogWithDetails(String aPluginID, String aDialogTitle, String aDialogMessage, String[] aStatusMessages, int aStatusType) { // Details MultiStatus info = new MultiStatus(aPluginID, 1, aDialogMessage, null); for (String message : aStatusMessages) { info.add(new Status(aStatusType, aPluginID, 1, message, null)); } return ErrorDialog.openError(null, aDialogTitle, null, info); } /** * Warning dialog running under a runnable * * @param parent * : window shell * @param message * : String to display */ public static void warningRunnable(final Shell aParent, final String aMessage) { Runnable runnable = new Runnable() { public void run() { MessageDialog.openWarning(aParent, R4EReportString.getString("Popup.warningTitle"), //$NON-NLS-1$ aMessage); //$NON-NLS-1$ } }; Display.getDefault().asyncExec(runnable); } }