X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2FSuiteApp.java;h=f6770dbac1302d30915f1bdb04bd22a721273fe4;hb=a4d521418275922723b18b5966ccbcac5624c098;hp=a8121ca353eb16af5c89d51121f362c8b97b3f16;hpb=aa4afde74ec89cb64ab4c87ebf37c13f1740cce3;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java index a8121ca..f6770db 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java @@ -70,10 +70,13 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { private String adminLeadPanePid; private String loginScreenPid; - private String defaultLayerPid = "argeo.app.ui.dashboardLayer"; - private String defaultUiName = "app"; private String adminUiName = "admin"; + + // FIXME such default names make refactoring more dangerous + @Deprecated + private String defaultLayerPid = "argeo.suite.ui.dashboardLayer"; + @Deprecated private String defaultThemeId = "org.argeo.app.theme.default"; private Map> uiProvidersByPid = Collections.synchronizedMap(new HashMap<>()); @@ -88,7 +91,6 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { private Repository repository; - public void init(Map properties) { if (log.isDebugEnabled()) log.info("Argeo Suite App started"); @@ -120,8 +122,9 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { public void destroy(Map properties) { for (SuiteUi ui : managedUis.values()) - if (!ui.isDisposed()) - ui.dispose(); + if (!ui.isDisposed()) { + ui.getDisplay().syncExec(() -> ui.dispose()); + } if (log.isDebugEnabled()) log.info("Argeo Suite App stopped"); @@ -137,8 +140,9 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { @Override public CmsUi initUi(Object parent) { - Composite uiParent =(Composite) parent; - String uiName = uiParent.getData(UI_NAME_PROPERTY) != null ? uiParent.getData(UI_NAME_PROPERTY).toString() : null; + Composite uiParent = (Composite) parent; + String uiName = uiParent.getData(UI_NAME_PROPERTY) != null ? uiParent.getData(UI_NAME_PROPERTY).toString() + : null; CmsView cmsView = CmsSwtUtils.getCmsView(uiParent); if (cmsView == null) throw new IllegalStateException("No CMS view is registered."); @@ -158,6 +162,9 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { @Override public String getThemeId(String uiName) { + String themeId = System.getProperty("org.argeo.app.theme.default"); + if (themeId != null) + return themeId; return defaultThemeId; } @@ -633,5 +640,4 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { this.repository = repository; } - }