X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fweb%2FMinimalWebApp.java;h=31c93af22c92dc0dbe1e2b03ffe49747de0e175d;hb=13a9a8ec5b46fb340ce95f16d9787108d8ba3b03;hp=b4af7595d231604e8f07e3696faebb92ace33eb0;hpb=c6bb0874829b5e5fbaf3f1437939ef00bcbd94b0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java b/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java index b4af7595d..31c93af22 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/web/MinimalWebApp.java @@ -1,18 +1,16 @@ package org.argeo.cms.web; +import static org.argeo.cms.ui.util.CmsTheme.CMS_THEME_BUNDLE_PROPERTY; +import static org.argeo.cms.ui.util.CmsTheme.DEFAULT_CMS_THEME_BUNDLE; + import java.util.HashMap; import java.util.Map; import org.argeo.cms.ui.util.CmsTheme; import org.eclipse.rap.rwt.RWT; -import org.eclipse.rap.rwt.application.AbstractEntryPoint; import org.eclipse.rap.rwt.application.Application; import org.eclipse.rap.rwt.application.ApplicationConfiguration; import org.eclipse.rap.rwt.client.WebClient; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; import org.osgi.framework.BundleContext; /** Lightweight web app using only RWT and not the whole Eclipse platform. */ @@ -20,14 +18,24 @@ public class MinimalWebApp implements ApplicationConfiguration { private CmsTheme theme; - public void init(BundleContext bundleContext) { - theme = new CmsTheme(bundleContext); + public void init(BundleContext bundleContext, Map properties) { + if (properties.containsKey(CMS_THEME_BUNDLE_PROPERTY)) { + String cmsThemeBundle = properties.get(CMS_THEME_BUNDLE_PROPERTY).toString(); + theme = new CmsTheme(bundleContext, cmsThemeBundle); + } else { + theme = new CmsTheme(bundleContext, DEFAULT_CMS_THEME_BUNDLE); + } } public void destroy() { } + /** To be overridden. Does nothing by default. */ + protected void addEntryPoints(Application application, Map properties) { + + } + @Override public void configure(Application application) { theme.apply(application); @@ -35,19 +43,7 @@ public class MinimalWebApp implements ApplicationConfiguration { Map properties = new HashMap<>(); properties.put(WebClient.THEME_ID, RWT.DEFAULT_THEME_ID); properties.put(WebClient.HEAD_HTML, theme.getAdditionalHeaders()); - application.addEntryPoint("/test", TextEntryPoint.class, properties); + addEntryPoints(application, properties); } - - static class TextEntryPoint extends AbstractEntryPoint { - private static final long serialVersionUID = 2245808564950897823L; - - @Override - protected void createContents(Composite parent) { - parent.setLayout(new GridLayout()); - new Label(parent, SWT.NONE).setText("Hello World!"); - } - - } - }