Improve UI scripting
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Oct 2018 07:08:31 +0000 (09:08 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Oct 2018 07:08:31 +0000 (09:08 +0200)
org.argeo.cms.ui/src/org/argeo/cms/script/Theme.java
org.argeo.cms.ui/src/org/argeo/cms/script/cms.js
org.argeo.cms.ui/src/org/argeo/cms/util/BundleResourceLoader.java
org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java

index 2f1ed0efe7d44e02759caa8c499b3660c2f7c85d..3fa4bc451edae6b324603c5a0dadf5840a1e6bbe 100644 (file)
@@ -82,9 +82,13 @@ public class Theme {
        public void apply(Application application) {
                for (String name : resources.keySet()) {
                        application.addResource(name, resources.get(name));
+                       if (log.isDebugEnabled())
+                               log.debug("Added resource " + name);
                }
                for (String name : css.keySet()) {
                        application.addStyleSheet(themeId, name, css.get(name));
+                       if (log.isDebugEnabled())
+                               log.debug("Added RAP CSS " + name);
                }
        }
 
index 2005b4ce868d10894adbaa55250f358945b52bd8..e4eca68000ef7852685fc0d2f70aad1b92b38ae1 100644 (file)
@@ -1,4 +1,6 @@
 // CMS
+var ScrolledPage = Java.type('org.argeo.cms.widgets.ScrolledPage');
+
 var CmsScriptApp = Java.type('org.argeo.cms.script.CmsScriptApp');
 var AppUi = Java.type('org.argeo.cms.script.AppUi');
 var Theme = Java.type('org.argeo.cms.script.Theme');
@@ -60,4 +62,15 @@ function newText(parent, style, msg) {
        return control
 }
 
+function newScrolledPage(parent) {
+       var scrolled = new ScrolledPage(parent, SWT.NONE)
+       scrolled.setLayoutData(CmsUtils.fillAll())
+       scrolled.setLayout(CmsUtils.noSpaceGridLayout())
+       var page = new Composite(scrolled, SWT.NONE)
+       page.setLayout(CmsUtils.noSpaceGridLayout())
+       page.setBackgroundMode(SWT.INHERIT_NONE)
+       
+       return page
+}
+
 // print(__FILE__, __LINE__, __DIR__)
index 21ee78ec8a8f8e5a5202e4919caf12cd5da74ed3..7342e10521c2876edf396c7f89ec47a6aa33aac7 100644 (file)
@@ -19,8 +19,11 @@ public class BundleResourceLoader implements ResourceLoader {
        @Override
        public InputStream getResourceAsStream(String resourceName) throws IOException {
                URL res = bundle.getEntry(resourceName);
-               if (res == null)
-                       throw new CmsException("Resource " + resourceName + " not found in bundle " + bundle.getSymbolicName());
+               if (res == null) {
+                       res = bundle.getResource(resourceName);
+                       if (res == null)
+                               throw new CmsException("Resource " + resourceName + " not found in bundle " + bundle.getSymbolicName());
+               }
                return res.openStream();
        }
 
index de6ce1c59ff9893dc61d8489ab22322f27f895ff..ca563600cc7ca139fb060f043bf987017f4a48a5 100644 (file)
@@ -39,6 +39,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint {
 
        private CmsUiProvider header;
        private Integer headerHeight = 0;
+       private Integer footerHeight = 0;
        private CmsUiProvider lead;
        private CmsUiProvider end;
        private CmsUiProvider footer;
@@ -84,7 +85,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint {
                footerArea = new Composite(parent, SWT.NONE);
                // footerArea.setLayout(new FillLayout());
                GridData footerData = new GridData(SWT.FILL, SWT.FILL, false, false, 3, 1);
-               footerData.heightHint = headerHeight;
+               footerData.heightHint = footerHeight;
                footerArea.setLayoutData(footerData);
 
                uiInitialized = true;
@@ -222,4 +223,8 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint {
                return header;
        }
 
+       public void setFooterHeight(Integer footerHeight) {
+               this.footerHeight = footerHeight;
+       }
+
 }