import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.cms.CmsMsg;
import org.argeo.eclipse.ui.Selected;
import org.argeo.eclipse.ui.dialogs.LightweightDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
if (e instanceof ThreadDeath)
throw (ThreadDeath) e;
- new CmsFeedback(getDisplay().getActiveShell(), message, e).open();
+ try {
+ CmsFeedback cmsFeedback = new CmsFeedback(null, message, e);
+ cmsFeedback.setBlockOnOpen(false);
+ cmsFeedback.open();
+ } catch (Throwable e1) {
+ log.error("Cannot open error feedback (" + e.getMessage() + "), original error below", e);
+ }
}
public static void show(String message) {
- new CmsFeedback(getDisplay().getActiveShell(), message, null).open();
+ new CmsFeedback(null, message, null).open();
}
/** Tries to find a display */
- private static Display getDisplay() {
- try {
- Display display = Display.getCurrent();
- if (display != null)
- return display;
- else
- return Display.getDefault();
- } catch (Exception e) {
- return Display.getCurrent();
- }
- }
+ // private static Display getDisplay() {
+ // try {
+ // Display display = Display.getCurrent();
+ // if (display != null)
+ // return display;
+ // else
+ // return Display.getDefault();
+ // } catch (Exception e) {
+ // return Display.getCurrent();
+ // }
+ // }
protected Control createDialogArea(Composite parent) {
parent.setLayout(new GridLayout(2, false));
messageLbl.setText(exception.getLocalizedMessage());
Button close = new Button(parent, SWT.FLAT);
- close.setText("Close");
+ close.setText(CmsMsg.close.lead());
close.setLayoutData(new GridData(SWT.END, SWT.TOP, false, false));
close.addSelectionListener((Selected) (e) -> closeShell(OK));