Improve single sourcing.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / util / CmsUiUtils.java
index 33377b6ca365f1db0c3e57c258d733071d7fec67..4e5572dbde6f19cf9bb9e84f683b45bd9100ac73 100644 (file)
@@ -13,7 +13,6 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.argeo.api.NodeConstants;
 import org.argeo.api.NodeUtils;
-import org.argeo.cms.CmsException;
 import org.argeo.cms.ui.CmsConstants;
 import org.argeo.cms.ui.CmsView;
 import org.argeo.eclipse.ui.Selected;
@@ -89,7 +88,7 @@ public class CmsUiUtils implements CmsConstants {
                                buf.append(':').append(url.getPort());
                        return buf;
                } catch (MalformedURLException e) {
-                       throw new CmsException("Cannot extract server base URL from " + request.getRequestURL(), e);
+                       throw new IllegalArgumentException("Cannot extract server base URL from " + request.getRequestURL(), e);
                }
        }
 
@@ -100,7 +99,7 @@ public class CmsUiUtils implements CmsConstants {
                        buf.append(getDataPath(node));
                        return new URL(buf.toString()).toString();
                } catch (MalformedURLException e) {
-                       throw new CmsException("Cannot build data URL for " + node, e);
+                       throw new IllegalArgumentException("Cannot build data URL for " + node, e);
                }
        }
 
@@ -136,15 +135,6 @@ public class CmsUiUtils implements CmsConstants {
                return layout;
        }
 
-       public static GridLayout standardSpaceGridLayout(GridLayout layout) {
-               layout.horizontalSpacing = 16;
-               layout.verticalSpacing = 16;
-               layout.marginWidth = 16;
-               layout.marginHeight = 16;
-               return layout;
-       }
-
-       
        public static GridData fillAll() {
                return new GridData(SWT.FILL, SWT.FILL, true, true);
        }
@@ -188,19 +178,23 @@ public class CmsUiUtils implements CmsConstants {
 
        /** Style widget */
        public static <T extends Widget> T style(T widget, String style) {
+               if (style == null)
+                       return widget;// does nothing
                widget.setData(CmsConstants.STYLE, style);
+               if (widget instanceof Control)
+                       CmsView.getCmsView(((Control) widget).getParent()).applyStyles(widget);
                return widget;
        }
 
        /** Style widget */
        public static <T extends Widget> T style(T widget, CmsStyle style) {
-               widget.setData(CmsConstants.STYLE, style.toStyleClass());
-               return widget;
+               return style(widget, style.toStyleClass());
        }
 
        /** Enable markups on widget */
        public static <T extends Widget> T markup(T widget) {
-               widget.setData(CmsConstants.MARKUP, true);
+               if (CmsConstants.MARKUP != null)
+                       widget.setData(CmsConstants.MARKUP, true);
                return widget;
        }
 
@@ -240,6 +234,7 @@ public class CmsUiUtils implements CmsConstants {
                return text(new Text(parent, SWT.NONE), txt);
        }
 
+       @Deprecated
        public static void setItemHeight(Table table, int height) {
                table.setData(CmsConstants.ITEM_HEIGHT, height);
        }