Improve CMS dialogs and localisation.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / dialogs / CmsFeedback.java
index de91bc45cb625b0d909cd4c1a04651d110d62b86..30e2ad34ff4e3d90edf653ffd4d7ec779e21de11 100644 (file)
@@ -7,7 +7,6 @@ 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.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -32,7 +31,7 @@ public class CmsFeedback extends LightweightDialog {
                log.error(message, e);
        }
 
-       public static void show(String message, Throwable e) {
+       public static CmsFeedback show(String message, Throwable e) {
                // rethrow ThreaDeath in order to make sure that RAP will properly clean
                // up the UI thread
                if (e instanceof ThreadDeath)
@@ -42,13 +41,17 @@ public class CmsFeedback extends LightweightDialog {
                        CmsFeedback cmsFeedback = new CmsFeedback(null, message, e);
                        cmsFeedback.setBlockOnOpen(false);
                        cmsFeedback.open();
+                       return cmsFeedback;
                } catch (Throwable e1) {
                        log.error("Cannot open error feedback (" + e.getMessage() + "), original error below", e);
+                       return null;
                }
        }
 
-       public static void show(String message) {
-               new CmsFeedback(null, message, null).open();
+       public static CmsFeedback show(String message) {
+               CmsFeedback cmsFeedback = new CmsFeedback(null, message, null);
+               cmsFeedback.open();
+               return cmsFeedback;
        }
 
        /** Tries to find a display */