]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ui/src/org/argeo/cms/util/CmsUtils.java
Improve CMS UI utilities.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / util / CmsUtils.java
index 38979610d1d57d332bb315cfac73c4b1b2503e31..0c6eb53d4022dbbb496381db6e450006d4444f13 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.cms.util;
 
+import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -8,7 +9,6 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.commons.io.IOUtils;
 import org.argeo.cms.CmsException;
 import org.argeo.cms.ui.CmsConstants;
 import org.argeo.cms.ui.CmsView;
@@ -36,8 +36,8 @@ public class CmsUtils implements CmsConstants {
        // private final static Log log = LogFactory.getLog(CmsUtils.class);
 
        /**
-        * The CMS view related to this display, or null if none is available from
-        * this call.
+        * The CMS view related to this display, or null if none is available from this
+        * call.
         */
        public static CmsView getCmsView() {
                return UiContext.getData(CmsView.KEY);
@@ -84,6 +84,10 @@ public class CmsUtils implements CmsConstants {
                return noSpaceGridLayout(new GridLayout());
        }
 
+       public static GridLayout noSpaceGridLayout(int columns) {
+               return noSpaceGridLayout(new GridLayout(columns, false));
+       }
+
        public static GridLayout noSpaceGridLayout(GridLayout layout) {
                layout.horizontalSpacing = 0;
                layout.verticalSpacing = 0;
@@ -112,13 +116,15 @@ public class CmsUtils implements CmsConstants {
        }
 
        /** Style widget */
-       public static void style(Widget widget, String style) {
+       public static <T extends Widget> T style(T widget, String style) {
                widget.setData(CmsConstants.STYLE, style);
+               return widget;
        }
 
        /** Enable markups on widget */
-       public static void markup(Widget widget) {
+       public static <T extends Widget> T markup(T widget) {
                widget.setData(CmsConstants.MARKUP, true);
+               return widget;
        }
 
        public static void setItemHeight(Table table, int height) {
@@ -194,10 +200,28 @@ public class CmsUtils implements CmsConstants {
                        Image image = new Image(Display.getCurrent(), scaled);
                        return image;
                } finally {
-                       IOUtils.closeQuietly(in);
+                       try {
+                               in.close();
+                       } catch (IOException e) {
+                               // silent
+                       }
                }
        }
 
+       /** Lorem ipsum text to be used during development. */
+       public final static String LOREM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+                       + " Etiam eleifend hendrerit sem, ac ultricies massa ornare ac."
+                       + " Cras aliquam sodales risus, vitae varius lacus molestie quis."
+                       + " Vivamus consequat, leo id lacinia volutpat, eros diam efficitur urna, finibus interdum risus turpis at nisi."
+                       + " Curabitur vulputate nulla quis scelerisque fringilla. Integer consectetur turpis id lobortis accumsan."
+                       + " Pellentesque commodo turpis ac diam ultricies dignissim."
+                       + " Curabitur sit amet dolor volutpat lacus aliquam ornare quis sed velit."
+                       + " Integer varius quis est et tristique."
+                       + " Suspendisse pharetra porttitor purus, eget condimentum magna."
+                       + " Duis vitae turpis eros. Sed tincidunt lacinia rutrum."
+                       + " Aliquam velit velit, rutrum ut augue sed, condimentum lacinia augue.";
+
+       /** Singleton. */
        private CmsUtils() {
        }
 }