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 +++++++++++++++++++++ 1 file changed, 120 insertions(+) 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/Dialog.java') 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(); + } +} -- cgit v1.2.3