Refactor SWT directory structure.
[lgpl/argeo-commons.git] / rcp / org.argeo.cms.ui.rcp / src / org / argeo / cms / ui / rcp / CmsRcpDisplayFactory.java
diff --git a/rcp/org.argeo.cms.ui.rcp/src/org/argeo/cms/ui/rcp/CmsRcpDisplayFactory.java b/rcp/org.argeo.cms.ui.rcp/src/org/argeo/cms/ui/rcp/CmsRcpDisplayFactory.java
deleted file mode 100644 (file)
index ec471c0..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.argeo.cms.ui.rcp;
-
-import java.nio.file.Path;
-
-import org.argeo.api.cms.CmsApp;
-import org.argeo.util.OS;
-import org.eclipse.swt.widgets.Display;
-import org.osgi.service.event.EventAdmin;
-import org.eclipse.swt.events.DisposeListener;
-
-/** Creates the SWT {@link Display} in a dedicated thread. */
-public class CmsRcpDisplayFactory {
-       /** File name in a run directory */
-       private final static String ARGEO_RCP_URL = "argeo.rcp.url";
-
-       /** There is only one display in RCP mode */
-       private static Display display;
-
-       private CmsUiThread uiThread;
-
-       private boolean shutdown = false;
-
-       public void init() {
-               uiThread = new CmsUiThread();
-               uiThread.start();
-               while (display == null)
-                       try {
-                               Thread.sleep(100);
-                       } catch (InterruptedException e) {
-                               // silent
-                       }
-       }
-
-       public void destroy() {
-               shutdown = true;
-               display.wake();
-               try {
-                       uiThread.join();
-               } catch (InterruptedException e) {
-                       // silent
-               } finally {
-                       uiThread = null;
-               }
-       }
-
-       class CmsUiThread extends Thread {
-
-               public CmsUiThread() {
-                       super("CMS UI");
-               }
-
-               @Override
-               public void run() {
-                       display = Display.getDefault();
-                       display.setRuntimeExceptionHandler((e) -> e.printStackTrace());
-                       display.setErrorHandler((e) -> e.printStackTrace());
-
-//                     for (String contextName : cmsApps.keySet()) {
-//                             openCmsApp(contextName);
-//                     }
-
-                       while (!shutdown) {
-                               if (!display.readAndDispatch())
-                                       display.sleep();
-                       }
-                       display.dispose();
-                       display = null;
-               }
-       }
-
-       public static Display getDisplay() {
-               return display;
-       }
-
-       public static void openCmsApp(EventAdmin eventAdmin, CmsApp cmsApp, String uiName,
-                       DisposeListener disposeListener) {
-               CmsRcpDisplayFactory.getDisplay().syncExec(() -> {
-                       CmsRcpApp cmsRcpApp = new CmsRcpApp(uiName);
-                       cmsRcpApp.setEventAdmin(eventAdmin);
-                       cmsRcpApp.setCmsApp(cmsApp, null);
-                       cmsRcpApp.initRcpApp();
-                       if (disposeListener != null)
-                               cmsRcpApp.getShell().addDisposeListener(disposeListener);
-               });
-       }
-
-       public static Path getUrlRunFile() {
-               return OS.getRunDir().resolve(CmsRcpDisplayFactory.ARGEO_RCP_URL);
-       }
-}