From bc8f346646c56206624db8daf378df5f11b0041b Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 16 Jan 2021 09:52:46 +0100 Subject: [PATCH] Improve forms framework. --- .../argeo/cms/ui/forms/FormPageViewer.java | 28 ++++++++++--------- .../src/org/argeo/cms/ui/forms/FormStyle.java | 5 ++-- .../src/org/argeo/cms/ui/util/CmsStyle.java | 5 ++++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormPageViewer.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormPageViewer.java index 8f0685280..72b09e28a 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormPageViewer.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormPageViewer.java @@ -16,9 +16,9 @@ import javax.jcr.ValueFormatException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.cms.CmsException; import org.argeo.cms.ui.CmsEditable; import org.argeo.cms.ui.CmsImageManager; +import org.argeo.cms.ui.CmsView; import org.argeo.cms.ui.util.CmsUiUtils; import org.argeo.cms.ui.viewers.AbstractPageViewer; import org.argeo.cms.ui.viewers.EditablePart; @@ -28,6 +28,7 @@ import org.argeo.cms.ui.widgets.EditableImage; import org.argeo.cms.ui.widgets.Img; import org.argeo.cms.ui.widgets.StyledControl; import org.argeo.eclipse.ui.EclipseUiUtils; +import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.rap.fileupload.FileDetails; @@ -67,7 +68,7 @@ public class FormPageViewer extends AbstractPageViewer { private final Section mainSection; // TODO manage within the CSS - private int labelColWidth = 150; + private Integer labelColWidth = null; private int rowLayoutHSpacing = 8; // Context cached in the viewer @@ -204,7 +205,7 @@ public class FormPageViewer extends AbstractPageViewer { } public void uploadFailed(FileUploadEvent event) { - throw new CmsException("Upload failed " + event, event.getException()); + throw new IllegalStateException("Upload failed " + event, event.getException()); } public void uploadFinished(FileUploadEvent event) { @@ -305,7 +306,7 @@ public class FormPageViewer extends AbstractPageViewer { protected CmsImageManager imageManager() { if (imageManager == null) - imageManager = CmsUiUtils.getCmsView().getImageManager(); + imageManager = CmsView.getCmsView(mainSection).getImageManager(); return imageManager; } @@ -357,16 +358,17 @@ public class FormPageViewer extends AbstractPageViewer { } protected Label createPropertyLbl(Composite parent, String value) { - return createPropertyLbl(parent, value, SWT.TOP); + return createPropertyLbl(parent, value, SWT.NONE); } protected Label createPropertyLbl(Composite parent, String value, int vAlign) { - boolean isSmall = CmsUiUtils.getCmsView().getUxContext().isSmall(); - Label label = new Label(parent, isSmall ? SWT.LEFT : SWT.RIGHT | SWT.WRAP); + // boolean isSmall = CmsView.getCmsView(parent).getUxContext().isSmall(); + Label label = new Label(parent, SWT.LEAD | SWT.WRAP); label.setText(value + " "); CmsUiUtils.style(label, FormStyle.propertyLabel.style()); - GridData gd = new GridData(isSmall ? SWT.LEFT : SWT.RIGHT, vAlign, false, false); - gd.widthHint = labelColWidth; + GridData gd = new GridData(SWT.LEAD, vAlign, false, false); + if (labelColWidth != null) + gd.widthHint = labelColWidth; label.setLayoutData(gd); return label; } @@ -457,12 +459,12 @@ public class FormPageViewer extends AbstractPageViewer { section.layout(); section.getParent().layout(); } catch (RepositoryException re) { - throw new CmsException("unable to refresh " + "image section for " + context); + throw new JcrException("Unable to refresh " + "image section for " + context, re); } } }); } catch (RepositoryException re) { - throw new CmsException("unable to upload image " + name + " at " + context); + throw new JcrException("unable to upload image " + name + " at " + context, re); } } } @@ -529,7 +531,7 @@ public class FormPageViewer extends AbstractPageViewer { refresh(parSection); layout(parSection); } catch (RepositoryException re) { - throw new CmsException("Unable to delete " + sessionNode, re); + throw new JcrException("Unable to delete " + sessionNode, re); } } @@ -577,7 +579,7 @@ public class FormPageViewer extends AbstractPageViewer { edit(emsp, 0); cancelEdit(); } catch (RepositoryException e1) { - throw new CmsException("Unable to remove value " + obj, e1); + throw new JcrException("Unable to remove value " + obj, e1); } layout(emsp); } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormStyle.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormStyle.java index 5f3f1c288..7a05e2b2b 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormStyle.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/FormStyle.java @@ -19,8 +19,9 @@ public enum FormStyle implements CmsStyle { // Social Media facebook, twitter, linkedIn, instagram; - public String style() { - return form.name() + '_' + name(); + @Override + public String getClassPrefix() { + return "argeo-form"; } // TODO clean button style management diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsStyle.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsStyle.java index aeff40451..ddbe485ea 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsStyle.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsStyle.java @@ -4,10 +4,15 @@ package org.argeo.cms.ui.util; public interface CmsStyle { String name(); + @Deprecated default String toStyleClass() { return getClassPrefix() + "-" + name(); } + default String style() { + return getClassPrefix() + "-" + name(); + } + default String getClassPrefix() { return "cms"; } -- 2.30.2