Improve CMS theming.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / util / CmsUiUtils.java
index c96e77b62649ce74b76f1e0e7c7a0f80b580af1a..167d7341f441748bf1e4bd99d4126572de794f84 100644 (file)
@@ -14,7 +14,6 @@ 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.specific.UiContext;
 import org.argeo.jcr.JcrUtils;
 import org.eclipse.rap.rwt.RWT;
 import org.eclipse.rap.rwt.service.ResourceManager;
@@ -41,9 +40,13 @@ public class CmsUiUtils implements CmsConstants {
        /**
         * The CMS view related to this display, or null if none is available from this
         * call.
+        * 
+        * @deprecated Use {@link CmsView#getCmsView(Composite)} instead.
         */
+       @Deprecated
        public static CmsView getCmsView() {
-               return UiContext.getData(CmsView.KEY);
+//             return UiContext.getData(CmsView.class.getName());
+               return CmsView.getCmsView(Display.getCurrent().getActiveShell());
        }
 
        public static StringBuilder getServerBaseUrl(HttpServletRequest request) {
@@ -102,18 +105,26 @@ public class CmsUiUtils implements CmsConstants {
        //
        // GRID DATA
        //
-       public static GridData fillWidth() {
-               return grabWidth(SWT.FILL, SWT.FILL);
-       }
-
        public static GridData fillAll() {
                return new GridData(SWT.FILL, SWT.FILL, true, true);
        }
 
+       public static GridData fillWidth() {
+               return grabWidth(SWT.FILL, SWT.FILL);
+       }
+
        public static GridData grabWidth(int horizontalAlignment, int verticalAlignment) {
                return new GridData(horizontalAlignment, horizontalAlignment, true, false);
        }
 
+       public static GridData fillHeight() {
+               return grabHeight(SWT.FILL, SWT.FILL);
+       }
+
+       public static GridData grabHeight(int horizontalAlignment, int verticalAlignment) {
+               return new GridData(horizontalAlignment, horizontalAlignment, false, true);
+       }
+
        public static RowData rowData16px() {
                return new RowData(16, 16);
        }
@@ -124,6 +135,12 @@ public class CmsUiUtils implements CmsConstants {
                return widget;
        }
 
+       /** Style widget */
+       public static <T extends Widget> T style(T widget, CmsStyle style) {
+               widget.setData(CmsConstants.STYLE, style.toStyleClass());
+               return widget;
+       }
+
        /** Enable markups on widget */
        public static <T extends Widget> T markup(T widget) {
                widget.setData(CmsConstants.MARKUP, true);