package org.argeo.suite.e4.rap; import java.util.Map; import org.argeo.cms.e4.rap.AbstractRapE4App; import org.argeo.cms.util.BundleResourceLoader; import org.eclipse.rap.e4.E4ApplicationConfig; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.Application; import org.eclipse.rap.rwt.client.WebClient; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; public class ArgeoOfficeRapE4App extends AbstractRapE4App { private BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext(); public ArgeoOfficeRapE4App() { setPageTitle("Argeo Office"); setE4Xmi("org.argeo.suite.e4/e4xmi/argeo-office.e4xmi"); setPath("/office"); setLifeCycleUri("bundleclass://org.argeo.suite.e4.rap/org.argeo.suite.e4.rap.ArgeoSuiteLoginLifecycle"); } @Override protected void addEntryPoint(Application application, E4ApplicationConfig config, Map properties) { // String theme ="org.argeo.theme.argeo2.office"; String theme = RWT.DEFAULT_THEME_ID; Bundle themeBundle = findTheme("org.argeo.theme.argeo2"); // application.addStyleSheet(theme, "rap/office-rwt.css", new // BundleResourceLoader(themeBundle)); application.addStyleSheet(theme, "rap/office.css", new BundleResourceLoader(themeBundle)); properties.put(WebClient.THEME_ID, theme); String font = ""; properties.put(WebClient.HEAD_HTML, font); super.addEntryPoint(application, config, properties); } Bundle findTheme(String symbolicName) { for (Bundle b : bc.getBundles()) if (symbolicName.equals(b.getSymbolicName())) return b; throw new RuntimeException("Theme bundle " + symbolicName + " not found"); } }