X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Frcp%2Forg.argeo.cms.swt.rcp%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Frcp%2FCmsRcpApp.java;h=77aeae061fc780a80786477864f8a0391760fe18;hb=4086635cfaa04c8a184124048794398b0ba96a55;hp=a88ff3824fa07c2ee2d02d093104ce0ad93060fd;hpb=f1b9c5f7bd5ab6ea3337cb59317bb6e6d449d88e;p=lgpl%2Fargeo-commons.git diff --git a/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/CmsRcpApp.java b/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/CmsRcpApp.java index a88ff3824..77aeae061 100644 --- a/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/CmsRcpApp.java +++ b/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/CmsRcpApp.java @@ -2,6 +2,8 @@ package org.argeo.cms.ui.rcp; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.security.PrivilegedAction; import java.util.Map; import java.util.UUID; @@ -15,10 +17,12 @@ import org.argeo.api.cms.CmsAuth; import org.argeo.api.cms.CmsEventBus; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsSession; +import org.argeo.api.cms.ux.CmsImageManager; import org.argeo.api.cms.ux.CmsTheme; import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.swt.AbstractSwtCmsView; import org.argeo.cms.swt.CmsSwtUtils; +import org.argeo.cms.swt.acr.AcrSwtImageManager; import org.eclipse.e4.ui.css.core.engine.CSSEngine; import org.eclipse.e4.ui.css.core.engine.CSSErrorHandler; import org.eclipse.e4.ui.css.swt.engine.CSSSWTEngineImpl; @@ -36,12 +40,17 @@ public class CmsRcpApp extends AbstractSwtCmsView implements CmsView { private CSSEngine cssEngine; + private String httpServerBase; + public CmsRcpApp(String uiName) { super(uiName); uid = UUID.randomUUID().toString(); } + @SuppressWarnings("rawtypes") public void initRcpApp() { + imageManager = (CmsImageManager) new AcrSwtImageManager(); + display = Display.getCurrent(); shell = new Shell(display); shell.setText("Argeo CMS"); @@ -153,6 +162,24 @@ public class CmsRcpApp extends AbstractSwtCmsView implements CmsView { return cmsApp; } + @Override + public URI toBackendUri(String url) { + try { + URI u = new URI(url); + if (u.getHost() == null) { + // TODO make it more robust + u = new URI(httpServerBase + url); + } + return u; + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Cannot convert " + url, e); + } + } + + public void setHttpServerBase(String httpServerBase) { + this.httpServerBase = httpServerBase; + } + /* * DEPENDENCY INJECTION */