Improve RCP launch
[lgpl/argeo-commons.git] / swt / rcp / org.argeo.cms.swt.rcp / src / org / argeo / cms / ui / rcp / dbus / CmsRcpDBusLauncher.java
index ea6905757adf6536914ce0b3514edd1aede6a12e..34190b005f14ac6f68526bb0be35a06409631537 100644 (file)
@@ -7,12 +7,15 @@ import java.util.concurrent.CompletableFuture;
 
 import org.argeo.api.cms.CmsApp;
 import org.argeo.cms.dbus.CmsDBus;
+import org.argeo.cms.ui.rcp.CmsRcpDisplayFactory;
 
 public class CmsRcpDBusLauncher {
        private CompletableFuture<CmsDBus> cmsDBus = new CompletableFuture<>();
 
        private Map<String, CmsRcpFreeDesktopApplication> apps = new HashMap<>();
 
+       private CmsRcpDisplayFactory cmsRcpDisplayFactory;
+
        public void start() {
 
        }
@@ -24,7 +27,8 @@ public class CmsRcpDBusLauncher {
        public void addCmsApp(CmsApp cmsApp, Map<String, String> properties) {
                final String contextName = properties.get(CmsApp.CONTEXT_NAME_PROPERTY);
                cmsDBus.thenAcceptAsync((cmsDBus) -> {
-                       CmsRcpFreeDesktopApplication application = new CmsRcpFreeDesktopApplication(cmsDBus, contextName, cmsApp);
+                       CmsRcpFreeDesktopApplication application = new CmsRcpFreeDesktopApplication(cmsRcpDisplayFactory, cmsDBus,
+                                       contextName, cmsApp);
                        apps.put(contextName, application);
                });
        }
@@ -45,4 +49,8 @@ public class CmsRcpDBusLauncher {
                this.cmsDBus.complete(cmsDBus);
        }
 
+       public void setCmsRcpDisplayFactory(CmsRcpDisplayFactory cmsRcpDisplayFactory) {
+               this.cmsRcpDisplayFactory = cmsRcpDisplayFactory;
+       }
+
 }