summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/ErrorDialog.java264
1 files changed, 19 insertions, 245 deletions
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 6d04b33f..88392d98 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,273 +16,47 @@
package at.asit.pdfover.gui.controls;
// Imports
-import java.io.InputStream;
-
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Dialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.Messages;
/**
*
*/
-public class ErrorDialog extends Dialog {
-
- private static final boolean VERBOSE_ERROR = false;
+public class ErrorDialog {
+ private MessageBox box;
+
/**
* @param parent
- * @param style
* @param message
- * @param exception
* @param canRetry
*/
- public ErrorDialog(Shell parent, int style, String message,
- Throwable exception, boolean canRetry) {
- super(parent, style);
- this.message = message;
- this.canRetry = canRetry;
- final StringBuilder result = new StringBuilder();
- result.append(exception.getLocalizedMessage());
- final String NEW_LINE = System.getProperty("line.separator"); //$NON-NLS-1$
- result.append(NEW_LINE);
- result.append(NEW_LINE);
- result.append(NEW_LINE);
-
- // add each element of the stack trace
- for (StackTraceElement element : exception.getStackTrace()) {
- result.append(element);
- result.append(NEW_LINE);
+ public ErrorDialog(Shell parent, String message, boolean canRetry) {
+ int boxstyle = SWT.ICON_ERROR ;
+ if(canRetry) {
+ boxstyle |= SWT.RETRY| SWT.CANCEL;
+ } else {
+ boxstyle |= SWT.OK;
}
- this.details = result.toString();
- }
-
- /**
- * @param parent
- * @param style
- * @param message
- * @param details
- * @param canRetry
- */
- public ErrorDialog(Shell parent, int style, String message, String details,
- boolean canRetry) {
- super(parent, style);
- this.message = message;
- this.details = details;
- this.canRetry = canRetry;
+
+ this.box = new MessageBox(parent, boxstyle);
+ this.box.setMessage(message);
+ this.box.setText(Messages.getString("error.title")); //$NON-NLS-1$
}
- private String message = null;
-
- private boolean canRetry = false;
-
- boolean doRetry = false;
-
- private String details = null;
-
- /**
- * SLF4J Logger instance
- **/
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory
- .getLogger(ErrorDialog.class);
-
/**
* Open error dialog
*
* @return if the user wants to retry the action which caused the error
*/
public boolean open() {
- Shell parent = getParent();
- final Shell shell = new Shell(parent, SWT.DIALOG_TRIM
- | SWT.APPLICATION_MODAL);
- shell.setText(getText());
- shell.setLayout(new FormLayout());
-
- Label lblErrorImage = new Label(shell, SWT.NONE);
- FormData fd_lblErrorImage = new FormData();
- fd_lblErrorImage.top = new FormAttachment(50, -16);
- fd_lblErrorImage.left = new FormAttachment(0, 5);
- lblErrorImage.setLayoutData(fd_lblErrorImage);
- lblErrorImage.setText(""); //$NON-NLS-1$
-
- String imgPath = "/img/error.png"; //$NON-NLS-1$
-
- InputStream stream = this.getClass().getResourceAsStream(imgPath);
-
- Image orig = new Image(Display.getCurrent(),
- new ImageData(stream).scaledTo(32, 32));
-
- lblErrorImage.setImage(orig);
-
- Label lblerrorMessage = new Label(shell, SWT.NONE);
- FormData fd_lblerrorMessage = new FormData();
- fd_lblerrorMessage.top = new FormAttachment(0, 5);
- fd_lblerrorMessage.left = new FormAttachment(0, 42);
- lblerrorMessage.setLayoutData(fd_lblerrorMessage);
- lblerrorMessage.setText(this.message);
-
- if (VERBOSE_ERROR) {
-
- Group group = new Group(shell, SWT.NONE);
- group.setLayout(new FormLayout());
- FormData fd_group = new FormData();
-
- fd_group.right = new FormAttachment(100, -5);
- fd_group.top = new FormAttachment(lblerrorMessage, 5);
- fd_group.left = new FormAttachment(lblErrorImage, 5);
- group.setLayoutData(fd_group);
- group.setText(Messages.getString("error.Details")); //$NON-NLS-1$
-
- if (!this.canRetry) {
-
- Button btnOk = new Button(shell, SWT.NONE);
- btnOk.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- shell.dispose();
- }
- });
- fd_group.bottom = new FormAttachment(btnOk, -5);
-
- ScrolledComposite scrolledComposite = new ScrolledComposite(
- group, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- FormData fd_scrolledComposite = new FormData();
- fd_scrolledComposite.top = new FormAttachment(0, 5);
- fd_scrolledComposite.left = new FormAttachment(0, 5);
- fd_scrolledComposite.bottom = new FormAttachment(100, -5);
- fd_scrolledComposite.right = new FormAttachment(100, -5);
- scrolledComposite.setLayoutData(fd_scrolledComposite);
- scrolledComposite.setExpandHorizontal(true);
- scrolledComposite.setExpandVertical(true);
-
- Label lblDetails = new Label(scrolledComposite, SWT.NONE);
-
- lblDetails.setText(this.details);
-
- scrolledComposite.setContent(lblDetails);
- scrolledComposite.setMinSize(lblDetails.computeSize(
- SWT.DEFAULT, SWT.DEFAULT));
- FormData fd_btnOk = new FormData();
- fd_btnOk.bottom = new FormAttachment(100, -5);
- fd_btnOk.right = new FormAttachment(100, -5);
- btnOk.setLayoutData(fd_btnOk);
- btnOk.setText(Messages.getString("common.Ok")); //$NON-NLS-1$
- } else {
- Button btnCancel = new Button(shell, SWT.NONE);
- Button btnRetry = new Button(shell, SWT.NONE);
-
- btnCancel.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- shell.dispose();
- }
- });
-
- btnRetry.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ErrorDialog.this.doRetry = true;
- shell.dispose();
- }
- });
- fd_group.bottom = new FormAttachment(btnCancel, -5);
-
- ScrolledComposite scrolledComposite = new ScrolledComposite(
- group, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- FormData fd_scrolledComposite = new FormData();
- fd_scrolledComposite.top = new FormAttachment(0, 5);
- fd_scrolledComposite.left = new FormAttachment(0, 5);
- fd_scrolledComposite.bottom = new FormAttachment(100, -5);
- fd_scrolledComposite.right = new FormAttachment(100, -5);
- scrolledComposite.setLayoutData(fd_scrolledComposite);
- scrolledComposite.setExpandHorizontal(true);
- scrolledComposite.setExpandVertical(true);
-
- Label lblDetails = new Label(scrolledComposite, SWT.NONE);
-
- lblDetails.setText(this.details);
-
- scrolledComposite.setContent(lblDetails);
- scrolledComposite.setMinSize(lblDetails.computeSize(
- SWT.DEFAULT, SWT.DEFAULT));
- FormData fd_btnCancel = new FormData();
- fd_btnCancel.bottom = new FormAttachment(100, -5);
- fd_btnCancel.right = new FormAttachment(100, -5);
- btnCancel.setLayoutData(fd_btnCancel);
- btnCancel.setText(Messages.getString("common.Cancel")); //$NON-NLS-1$
-
- FormData fd_btnRetry = new FormData();
- fd_btnRetry.bottom = new FormAttachment(100, -5);
- fd_btnRetry.right = new FormAttachment(btnCancel, -10);
- btnRetry.setLayoutData(fd_btnRetry);
- btnRetry.setText(Messages.getString("error.Retry")); //$NON-NLS-1$
- }
-
- } else {
-
- Button btnCancel = new Button(shell, SWT.NONE);
-
- btnCancel.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- shell.dispose();
- }
- });
-
- FormData fd_btnCancel = new FormData();
- fd_btnCancel.bottom = new FormAttachment(100, -5);
- fd_btnCancel.right = new FormAttachment(100, -5);
- fd_btnCancel.top = new FormAttachment(lblerrorMessage, 10);
- btnCancel.setLayoutData(fd_btnCancel);
- btnCancel.setText(Messages.getString("common.Ok")); //$NON-NLS-1$
-
-
- if(this.canRetry) {
- btnCancel.setText(Messages.getString("common.Cancel")); //$NON-NLS-1$
-
- Button btnRetry = new Button(shell, SWT.NONE);
-
-
- btnRetry.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- ErrorDialog.this.doRetry = true;
- shell.dispose();
- }
- });
- FormData fd_btnRetry = new FormData();
-
- fd_btnRetry.bottom = new FormAttachment(100, -5);
- fd_btnRetry.right = new FormAttachment(btnCancel, -10);
- btnRetry.setLayoutData(fd_btnRetry);
- btnRetry.setText(Messages.getString("error.Retry")); //$NON-NLS-1$
- }
- }
- shell.pack();
- shell.open();
- shell.pack();
- Display display = parent.getDisplay();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
-
- return this.doRetry;
+ int rc = this.box.open();
+ if(rc == SWT.RETRY) {
+ return true;
+ }
+ return false;
}
}