From 4ccc02902dad75faebe4aaa9b0b9880e2785c298 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 16 Oct 2020 10:52:21 +0200 Subject: [PATCH] Remove static style constants. --- .../src/org/argeo/cms/ui/CmsConstants.java | 5 +-- .../ui/forms/EditableMultiStringProperty.java | 18 ++++---- .../cms/ui/forms/EditablePropertyDate.java | 42 ++++++++----------- .../cms/ui/forms/EditablePropertyString.java | 17 ++++---- .../src/org/argeo/cms/ui/forms/FormStyle.java | 4 +- .../src/org/argeo/cms/ui/util/CmsUiUtils.java | 6 +-- .../argeo/cms/ui/widgets/StyledControl.java | 14 ++++--- .../ui/specific/EclipseUiConstants.java | 9 ---- .../ui/specific/EclipseUiSpecificUtils.java | 14 +++++++ 9 files changed, 68 insertions(+), 61 deletions(-) delete mode 100644 org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiConstants.java diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsConstants.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsConstants.java index 157168508..304cba627 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsConstants.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsConstants.java @@ -1,13 +1,12 @@ package org.argeo.cms.ui; -import org.argeo.eclipse.ui.specific.EclipseUiConstants; import org.eclipse.swt.graphics.Point; /** Commons constants */ public interface CmsConstants { // DATAKEYS - public final static String STYLE = EclipseUiConstants.CSS_CLASS; - public final static String MARKUP = EclipseUiConstants.MARKUP_SUPPORT; +// public final static String STYLE = EclipseUiConstants.CSS_CLASS; +// public final static String MARKUP = EclipseUiConstants.MARKUP_SUPPORT; @Deprecated /* RWT.CUSTOM_ITEM_HEIGHT */ public final static String ITEM_HEIGHT = "org.eclipse.rap.rwt.customItemHeight"; diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditableMultiStringProperty.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditableMultiStringProperty.java index 24b1d0c67..2b3f61e94 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditableMultiStringProperty.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditableMultiStringProperty.java @@ -30,7 +30,7 @@ public class EditableMultiStringProperty extends StyledControl implements Editab private String propertyName; private String message; // TODO implement the ability to provide a list of possible values - private String[] possibleValues; +// private String[] possibleValues; private boolean canEdit; private SelectionListener removeValueSL; private List values; @@ -50,7 +50,7 @@ public class EditableMultiStringProperty extends StyledControl implements Editab this.propertyName = propertyName; this.values = values; - this.possibleValues = new String[]{"Un", "Deux", "Trois"}; +// this.possibleValues = new String[] { "Un", "Deux", "Trois" }; this.message = addValueMsg; this.canEdit = removeValueSelectionListener != null; this.removeValueSL = removeValueSelectionListener; @@ -107,10 +107,10 @@ public class EditableMultiStringProperty extends StyledControl implements Editab } /** - * Override to provide specific layout for the existing values, typically - * adding a pound (#) char for tags or anchor info for browsable links. We - * assume the parent composite already has a layout and it is the caller - * responsibility to apply corresponding layout data + * Override to provide specific layout for the existing values, typically adding + * a pound (#) char for tags or anchor info for browsable links. We assume the + * parent composite already has a layout and it is the caller responsibility to + * apply corresponding layout data */ protected Label createValueLabel(Composite parent, int style, String value) { Label label = new Label(parent, style); @@ -244,12 +244,14 @@ public class EditableMultiStringProperty extends StyledControl implements Editab } public synchronized void startEditing() { - getControl().setData(STYLE, FormStyle.propertyText.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyText.style()); +// getControl().setData(STYLE, FormStyle.propertyText.style()); super.startEditing(); } public synchronized void stopEditing() { - getControl().setData(STYLE, FormStyle.propertyMessage.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyMessage.style()); +// getControl().setData(STYLE, FormStyle.propertyMessage.style()); super.stopEditing(); } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyDate.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyDate.java index 4428d1451..fd7095f87 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyDate.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyDate.java @@ -51,14 +51,12 @@ public class EditablePropertyDate extends StyledControl implements EditablePart * @param node * @param propertyName * @param message - * @param dateFormat - * provide a {@link DateFormat} as contract to be able to - * read/write dates as strings + * @param dateFormat provide a {@link DateFormat} as contract to be able to + * read/write dates as strings * @throws RepositoryException */ - public EditablePropertyDate(Composite parent, int style, Node node, - String propertyName, String message, DateFormat dateFormat) - throws RepositoryException { + public EditablePropertyDate(Composite parent, int style, Node node, String propertyName, String message, + DateFormat dateFormat) throws RepositoryException { super(parent, style, node, false); this.propertyName = propertyName; @@ -67,8 +65,7 @@ public class EditablePropertyDate extends StyledControl implements EditablePart if (node.hasProperty(propertyName)) { this.setStyle(FormStyle.propertyText.style()); - this.setText(dateFormat.format(node.getProperty(propertyName) - .getDate().getTime())); + this.setText(dateFormat.format(node.getProperty(propertyName).getDate().getTime())); } else { this.setStyle(FormStyle.propertyMessage.style()); this.setText(message); @@ -94,15 +91,18 @@ public class EditablePropertyDate extends StyledControl implements EditablePart public synchronized void startEditing() { // if (dateTxt != null && !dateTxt.isDisposed()) - getControl().setData(STYLE, FormStyle.propertyText.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyText); +// getControl().setData(STYLE, FormStyle.propertyText.style()); super.startEditing(); } public synchronized void stopEditing() { if (EclipseUiUtils.isEmpty(dateTxt.getText())) - getControl().setData(STYLE, FormStyle.propertyMessage.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyMessage); +// getControl().setData(STYLE, FormStyle.propertyMessage.style()); else - getControl().setData(STYLE, FormStyle.propertyText.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyText); +// getControl().setData(STYLE, FormStyle.propertyText.style()); super.stopEditing(); } @@ -131,19 +131,16 @@ public class EditablePropertyDate extends StyledControl implements EditablePart private Control createCustomEditableControl(Composite box, String style) { box.setLayoutData(CmsUiUtils.fillWidth()); Composite dateComposite = new Composite(box, SWT.NONE); - GridLayout gl = EclipseUiUtils.noSpaceGridLayout(new GridLayout(2, - false)); + GridLayout gl = EclipseUiUtils.noSpaceGridLayout(new GridLayout(2, false)); gl.horizontalSpacing = fieldBtnSpacing; dateComposite.setLayout(gl); dateTxt = new Text(dateComposite, SWT.BORDER); CmsUiUtils.style(dateTxt, style); dateTxt.setLayoutData(new GridData(120, SWT.DEFAULT)); - dateTxt.setToolTipText("Enter a date with form \"" - + FormUtils.DEFAULT_SHORT_DATE_FORMAT - + "\" or use the calendar"); + dateTxt.setToolTipText( + "Enter a date with form \"" + FormUtils.DEFAULT_SHORT_DATE_FORMAT + "\" or use the calendar"); openCalBtn = new Button(dateComposite, SWT.FLAT); - CmsUiUtils.style(openCalBtn, FormStyle.calendar.style() - + FormStyle.BUTTON_SUFFIX); + CmsUiUtils.style(openCalBtn, FormStyle.calendar.style() + FormStyle.BUTTON_SUFFIX); GridData gd = new GridData(SWT.CENTER, SWT.CENTER, false, false); gd.heightHint = 17; openCalBtn.setLayoutData(gd); @@ -231,8 +228,7 @@ public class EditablePropertyDate extends StyledControl implements EditablePart CmsUiUtils.style(CalendarPopup.this, FormStyle.popupCalendar.style()); pack(); layout(); - setLocation(source.toDisplay((source.getLocation().x - 2), - (source.getSize().y) + 3)); + setLocation(source.toDisplay((source.getLocation().x - 2), (source.getSize().y) + 3)); addShellListener(new ShellAdapter() { private static final long serialVersionUID = 5178980294808435833L; @@ -264,12 +260,10 @@ public class EditablePropertyDate extends StyledControl implements EditablePart dateTimeCtl = new DateTime(this, SWT.CALENDAR); dateTimeCtl.setLayoutData(EclipseUiUtils.fillAll()); - Calendar calendar = FormUtils.parseDate(dateFormat, - dateTxt.getText()); + Calendar calendar = FormUtils.parseDate(dateFormat, dateTxt.getText()); if (calendar != null) - dateTimeCtl.setDate(calendar.get(Calendar.YEAR), - calendar.get(Calendar.MONTH), + dateTimeCtl.setDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); dateTimeCtl.addSelectionListener(new SelectionAdapter() { diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyString.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyString.java index 1ab0338cb..265621d32 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyString.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/forms/EditablePropertyString.java @@ -6,6 +6,7 @@ import static org.argeo.cms.ui.forms.FormStyle.propertyText; import javax.jcr.Node; import javax.jcr.RepositoryException; +import org.argeo.cms.ui.util.CmsUiUtils; import org.argeo.cms.ui.viewers.EditablePart; import org.argeo.cms.ui.widgets.EditableText; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -15,8 +16,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; /** Editable String in a CMS context */ -public class EditablePropertyString extends EditableText implements - EditablePart { +public class EditablePropertyString extends EditableText implements EditablePart { private static final long serialVersionUID = 5055000749992803591L; private String propertyName; @@ -26,8 +26,8 @@ public class EditablePropertyString extends EditableText implements private final static String AMPERSAND = "&"; private final static String AMPERSAND_REGEX = "&(?![#a-zA-Z0-9]+;)"; - public EditablePropertyString(Composite parent, int style, Node node, - String propertyName, String message) throws RepositoryException { + public EditablePropertyString(Composite parent, int style, Node node, String propertyName, String message) + throws RepositoryException { super(parent, style, node, true); this.propertyName = propertyName; @@ -62,15 +62,18 @@ public class EditablePropertyString extends EditableText implements } public synchronized void startEditing() { - getControl().setData(STYLE, propertyText.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyText); +// getControl().setData(STYLE, propertyText.style()); super.startEditing(); } public synchronized void stopEditing() { if (EclipseUiUtils.isEmpty(((Text) getControl()).getText())) - getControl().setData(STYLE, propertyMessage.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyMessage); +// getControl().setData(STYLE, propertyMessage.style()); else - getControl().setData(STYLE, propertyText.style()); + CmsUiUtils.style(getControl(), FormStyle.propertyText); +// getControl().setData(STYLE, propertyText.style()); super.stopEditing(); } 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 7e1b8b029..5f3f1c288 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 @@ -1,7 +1,9 @@ package org.argeo.cms.ui.forms; +import org.argeo.cms.ui.util.CmsStyle; + /** Syles used */ -public enum FormStyle { +public enum FormStyle implements CmsStyle { // Main form, title, // main part 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 4e5572dbd..5d6030ec4 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 @@ -16,6 +16,7 @@ import org.argeo.api.NodeUtils; 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.JcrUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.service.ResourceManager; @@ -180,7 +181,7 @@ public class CmsUiUtils implements CmsConstants { public static T style(T widget, String style) { if (style == null) return widget;// does nothing - widget.setData(CmsConstants.STYLE, style); + EclipseUiSpecificUtils.setStyleData(widget, style); if (widget instanceof Control) CmsView.getCmsView(((Control) widget).getParent()).applyStyles(widget); return widget; @@ -193,8 +194,7 @@ public class CmsUiUtils implements CmsConstants { /** Enable markups on widget */ public static T markup(T widget) { - if (CmsConstants.MARKUP != null) - widget.setData(CmsConstants.MARKUP, true); + EclipseUiSpecificUtils.setMarkupData(widget); return widget; } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/StyledControl.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/StyledControl.java index 9d7037c25..0455d2cdc 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/StyledControl.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/StyledControl.java @@ -1,10 +1,10 @@ package org.argeo.cms.ui.widgets; import javax.jcr.Item; -import javax.jcr.RepositoryException; import org.argeo.cms.ui.CmsConstants; import org.argeo.cms.ui.util.CmsUiUtils; +import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils; import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.events.MouseListener; @@ -59,7 +59,7 @@ public abstract class StyledControl extends JcrComposite implements CmsConstants assert !isEditing(); editing = true; // int height = control.getSize().y; - String style = (String) control.getData(STYLE); + String style = (String) EclipseUiSpecificUtils.getStyleData(control); clear(false); control = createControl(box, style); setControlLayoutData(control); @@ -72,7 +72,7 @@ public abstract class StyledControl extends JcrComposite implements CmsConstants public synchronized void stopEditing() { assert isEditing(); editing = false; - String style = (String) control.getData(STYLE); + String style = (String) EclipseUiSpecificUtils.getStyleData(control); clear(false); control = createControl(box, style); setControlLayoutData(control); @@ -81,7 +81,7 @@ public abstract class StyledControl extends JcrComposite implements CmsConstants public void setStyle(String style) { Object currentStyle = null; if (control != null) - currentStyle = control.getData(STYLE); + currentStyle = EclipseUiSpecificUtils.getStyleData(control); if (currentStyle != null && currentStyle.equals(style)) return; @@ -91,8 +91,10 @@ public abstract class StyledControl extends JcrComposite implements CmsConstants control = createControl(box, style); setControlLayoutData(control); - control.getParent().setData(STYLE, style + "_box"); - control.getParent().getParent().setData(STYLE, style + "_container"); +// control.getParent().setData(STYLE, style + "_box"); + EclipseUiSpecificUtils.setStyleData(control.getParent(), style + "_box"); +// control.getParent().getParent().setData(STYLE, style + "_container"); + EclipseUiSpecificUtils.setStyleData(control.getParent().getParent(), style + "_container"); } /** To be overridden */ diff --git a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiConstants.java b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiConstants.java deleted file mode 100644 index 76ad973ae..000000000 --- a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiConstants.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.eclipse.ui.specific; - -import org.eclipse.rap.rwt.RWT; - -/** Constants which are specific to RWT.*/ -public interface EclipseUiConstants { - final static String CSS_CLASS = RWT.CUSTOM_VARIANT; - final static String MARKUP_SUPPORT = RWT.MARKUP_ENABLED; -} diff --git a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiSpecificUtils.java b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiSpecificUtils.java index b196bfc03..f79c7fd88 100644 --- a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiSpecificUtils.java +++ b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/EclipseUiSpecificUtils.java @@ -4,10 +4,24 @@ import org.eclipse.jface.viewers.AbstractTableViewer; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.rap.rwt.RWT; +import org.eclipse.swt.widgets.Widget; /** Static utilities to bridge differences between RCP and RAP */ public class EclipseUiSpecificUtils { + public static void setStyleData(Widget widget, Object data) { + widget.setData(RWT.CUSTOM_VARIANT, data); + } + + public static Object getStyleData(Widget widget) { + return widget.getData(RWT.CUSTOM_VARIANT); + } + + public static void setMarkupData(Widget widget) { + widget.setData(RWT.MARKUP_ENABLED, true); + } + /** * TootlTip support is supported only for {@link AbstractTableViewer} in RAP */ -- 2.30.2