Make Suite App more configurable.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / SuiteUi.java
index d93c3a8b38eb54de555474f13853e6d72646b28b..ae278157f85f63de84ea03a110bfe20174fd9043 100644 (file)
@@ -43,6 +43,7 @@ class SuiteUi extends Composite {
                this.setLayout(CmsUiUtils.noSpaceGridLayout());
 
                header = new Composite(this, SWT.NONE);
+               header.setLayout(CmsUiUtils.noSpaceGridLayout());
                CmsUiUtils.style(header, SuiteStyle.header);
                header.setLayoutData(CmsUiUtils.fillWidth());
 
@@ -64,9 +65,10 @@ class SuiteUi extends Composite {
                                dynamicArea = new Composite(belowHeader, SWT.NONE);
                        }
                        leadPane.setLayoutData(CmsUiUtils.fillHeight());
+                       leadPane.setLayout(CmsUiUtils.noSpaceGridLayout());
                        CmsUiUtils.style(leadPane, SuiteStyle.leadPane);
-                       dynamicArea.setLayoutData(CmsUiUtils.fillAll());
 
+                       dynamicArea.setLayoutData(CmsUiUtils.fillAll());
                        dynamicArea.setLayout(new FormLayout());
 
                } else {
@@ -110,14 +112,18 @@ class SuiteUi extends Composite {
                Composite toShow = getLayer(layerId, context);
                if (toShow != null) {
                        currentLayerId = layerId;
-                       if (!isDisposed())
-                               getDisplay().syncExec(() -> {
-                                       if (!toShow.isDisposed())
-                                               toShow.moveAbove(null);
-                                       else
-                                               log.warn("Cannot show work area because it is disposed.");
-                                       dynamicArea.layout(true, true);
-                               });
+                       if (!isDisposed()) {
+//                             getDisplay().syncExec(() -> {
+                               if (!toShow.isDisposed()) {
+                                       toShow.moveAbove(null);
+                               } else {
+                                       log.warn("Cannot show work area because it is disposed.");
+                                       toShow = initLayer(layerId, layers.get(layerId), context);
+                                       toShow.moveAbove(null);
+                               }
+                               dynamicArea.layout(true, true);
+//                             });
+                       }
                        return toShow;
                } else {
                        return current;