From 15df4c768b00bf964ee1006d68d847b252ad115d Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 19:22:36 +0000 Subject: Add new Dialog class to display a general messagebox git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@287 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../java/at/asit/pdfover/gui/controls/Dialog.java | 120 +++++++++++++++++++++ .../at/asit/pdfover/gui/controls/ErrorDialog.java | 61 +---------- 2 files changed, 124 insertions(+), 57 deletions(-) create mode 100644 pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/Dialog.java (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/Dialog.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/Dialog.java new file mode 100644 index 00000000..e6f62637 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/Dialog.java @@ -0,0 +1,120 @@ +/* + * Copyright 2012 by A-SIT, Secure Information Technology Center Austria + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://joinup.ec.europa.eu/software/page/eupl + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + */ +package at.asit.pdfover.gui.controls; + +// Imports +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; + +import at.asit.pdfover.gui.utils.Messages; + +/** + * A Message dialog + */ +public class Dialog { + + private MessageBox box; + + /** + * Message box buttons + */ + public enum BUTTONS { + /** Display only ok button */ + OK, + /** Display buttons ok and cancel */ + OK_CANCEL, + /** Display retry and cancel buttons */ + RETRY_CANCEL, + /** Display abort, retry and ignore buttons */ + ABORT_RETRY_IGNORE + }; + + /** + * Message box icon + */ + public enum ICON { + /** Error icon */ + ERROR, + /** Information icon */ + INFORMATION, + /** Question icon */ + QUESTION, + /** Warning icon */ + WARNING, + /** Working icon */ + WORKING + }; + + /** + * @param parent The parent shell + * @param message The error message + * @param button The BUTTONS to be shown + * @param icon The ICON to be displayed + */ + public Dialog(Shell parent, String message, BUTTONS button, ICON icon) { + this.initialize(parent, message, button, icon); + } + + private void initialize(Shell parent, String message, BUTTONS button, ICON icon) { + int boxstyle = 0; + switch (icon) { + case ERROR: + boxstyle |= SWT.ICON_ERROR; + break; + case INFORMATION: + boxstyle |= SWT.ICON_INFORMATION; + break; + case QUESTION: + boxstyle |= SWT.ICON_QUESTION; + break; + case WARNING: + boxstyle |= SWT.ICON_WARNING; + break; + case WORKING: + boxstyle |= SWT.ICON_WORKING; + break; + } + + switch(button) { + case OK: + boxstyle |= SWT.OK; + break; + case OK_CANCEL: + boxstyle |= SWT.OK | SWT.CANCEL; + break; + case RETRY_CANCEL: + boxstyle |= SWT.RETRY | SWT.CANCEL; + break; + case ABORT_RETRY_IGNORE: + boxstyle |= SWT.RETRY | SWT.ABORT | SWT.IGNORE; + break; + } + + this.box = new MessageBox(parent, boxstyle); + this.box.setMessage(message); + this.box.setText(Messages.getString("error.Title")); //$NON-NLS-1$ + } + + /** + * Open error dialog + * + * @return SWT.OK | SWT.IGNORE | SWT.ABORT | SWT.RETRY | SWT.CANCEL + */ + public int open() { + return this.box.open(); + } +} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/ErrorDialog.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/ErrorDialog.java index 5e329df4..6ae8af0e 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/ErrorDialog.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/ErrorDialog.java @@ -16,71 +16,18 @@ package at.asit.pdfover.gui.controls; // Imports -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; -import at.asit.pdfover.gui.utils.Messages; - /** - * + * An error dialog */ -public class ErrorDialog { - - private MessageBox box; - - /** - * Message box buttons - */ - public enum ERROR_BUTTONS { - /** - * Display only ok button - */ - OK, - /** - * Display retry and cancel buttons - */ - RETRY_CANCEL, - /** - * Display abort, retry and ignore buttons - */ - ABORT_RETRY_IGNORE - }; - +public class ErrorDialog extends Dialog { /** * @param parent The parent shell * @param message The error message * @param button The buttons to be shown */ - public ErrorDialog(Shell parent, String message, ERROR_BUTTONS button) { - this.initialize(parent, message, button); - } - - private void initialize(Shell parent, String message, ERROR_BUTTONS button) { - int boxstyle = SWT.ICON_ERROR ; - switch(button) { - case OK: - boxstyle |= SWT.OK; - break; - case RETRY_CANCEL: - boxstyle |= SWT.RETRY| SWT.CANCEL; - break; - case ABORT_RETRY_IGNORE: - boxstyle |= SWT.RETRY| SWT.ABORT | SWT.IGNORE; - break; - } - - this.box = new MessageBox(parent, boxstyle); - this.box.setMessage(message); - this.box.setText(Messages.getString("error.Title")); //$NON-NLS-1$ - } - - /** - * Open error dialog - * - * @return SWT.OK | SWT.IGNORE | SWT.ABORT | SWT.RETRY | SWT.CANCEL - */ - public int open() { - return this.box.open(); + public ErrorDialog(Shell parent, String message, BUTTONS button) { + super(parent, message, button, ICON.ERROR); } } -- cgit v1.2.3