X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Futil%2FCmsUiUtils.java;h=2bfeb43cfb593e7f62e6686acfe3cc55d308576c;hb=03f646fd0d7e7ce393694c836c779bc67a4eef55;hp=8b10ef123a3bb9a62122496bfb848e94bf3ee790;hpb=ecf8ab7382eadecab5a93261f261d0fd2168ffa8;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsUiUtils.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsUiUtils.java index 8b10ef123..2bfeb43cf 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsUiUtils.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsUiUtils.java @@ -15,11 +15,12 @@ import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.CmsConstants; import org.argeo.cms.ui.CmsView; import org.argeo.eclipse.ui.Selected; import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils; +import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.service.ResourceManager; @@ -33,6 +34,7 @@ import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.RowData; +import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -113,7 +115,7 @@ public class CmsUiUtils implements CmsConstants { } public static String getDataPath(String cn, Node node) throws RepositoryException { - return NodeUtils.getDataPath(cn, node); + return CmsJcrUtils.getDataPath(cn, node); } /** Clean reserved URL characters for use in HTTP links. */ @@ -150,6 +152,7 @@ public class CmsUiUtils implements CmsConstants { return noSpaceGridLayout(new GridLayout(columns, false)); } + /** @return the same layout, with spaces removed. */ public static GridLayout noSpaceGridLayout(GridLayout layout) { layout.horizontalSpacing = 0; layout.verticalSpacing = 0; @@ -181,6 +184,19 @@ public class CmsUiUtils implements CmsConstants { /* * ROW LAYOUT */ + /** @return the same layout, with margins removed. */ + public static RowLayout noMarginsRowLayout(RowLayout rowLayout) { + rowLayout.marginTop = 0; + rowLayout.marginBottom = 0; + rowLayout.marginLeft = 0; + rowLayout.marginRight = 0; + return rowLayout; + } + + public static RowLayout noMarginsRowLayout(int type) { + return noMarginsRowLayout(new RowLayout(type)); + } + public static RowData rowData16px() { return new RowData(16, 16); } @@ -208,7 +224,9 @@ public class CmsUiUtils implements CmsConstants { return widget;// does nothing EclipseUiSpecificUtils.setStyleData(widget, style); if (widget instanceof Control) { - CmsView.getCmsView((Control) widget).applyStyles(widget); + CmsView cmsView = CmsView.getCmsView((Control) widget); + if (cmsView != null) + cmsView.applyStyles(widget); } return widget; } @@ -224,6 +242,12 @@ public class CmsUiUtils implements CmsConstants { return widget; } + /** Disable markup validation. */ + public static T disableMarkupValidation(T widget) { + EclipseUiSpecificUtils.setMarkupValidationDisabledData(widget); + return widget; + } + /** * Apply markup and set text on {@link Label}, {@link Button}, {@link Text}. * @@ -309,7 +333,13 @@ public class CmsUiUtils implements CmsConstants { } public static String img(String serverBase, Node fileNode, String width, String height) { - String src = (serverBase != null ? serverBase : "") + NodeUtils.getDataPath(fileNode); +// String src = (serverBase != null ? serverBase : "") + NodeUtils.getDataPath(fileNode); + String src; + try { + src = (serverBase != null ? serverBase : "") + getDataPathForUrl(fileNode); + } catch (RepositoryException e) { + throw new JcrException("Cannot get URL data path for " + fileNode, e); + } return imgBuilder(src, width, height).append("/>").toString(); }