diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/CheckBoxField.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/CheckBoxField.java index f5bcad0c2e052711bcbb06b835df7cbb5722b612..dbde3208012652e245bfa1f646f16d8134c5dd15 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/CheckBoxField.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/CheckBoxField.java @@ -21,9 +21,11 @@ import com.extjs.gxt.ui.client.widget.form.CheckBox; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.FieldUtil; /** - * A small {@link CheckBox} extension for registering a boolean. + * A small {@link CheckBox} extension for registering a boolean. Created field will always be + * aligned to the left. * * @author Christian Ribeaud + * @author Piotr Buczek */ public final class CheckBoxField extends CheckBox { @@ -32,4 +34,18 @@ public final class CheckBoxField extends CheckBox setFieldLabel(labelField); FieldUtil.setMandatoryFlag(this, mandatory); } + + @Override + // always align checkbox to the left (default implementation aligns to center) + protected void alignElements() + { + input.alignTo(getElement(), "l-l", new int[] + { 0, 0 }); + if (getBoxLabel() != null) + { + boxLabelEl.alignTo(input.dom, "l-r", new int[] + { 5, 0 }); + } + } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentForm.java index d573fee2739892b38e730cdacade2835c2c6db6b..6d7e09e0a8c81d4faf00689ff9bab5c44069c425 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentForm.java @@ -48,6 +48,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework. import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractRegistrationForm.InfoBoxResetListener; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.DataSetTypeSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentTypeSelectionWidget; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CheckBoxField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.PropertyFieldFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material.MaterialTypeSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.SampleTypeSelectionWidget; @@ -250,9 +251,8 @@ public final class PropertyTypeAssignmentForm extends LayoutContainer implements { if (mandatoryCheckbox == null) { - mandatoryCheckbox = new CheckBox(); + mandatoryCheckbox = new CheckBoxField(viewContext.getMessage(Dict.MANDATORY), false); mandatoryCheckbox.setId(createChildId(MANDATORY_CHECKBOX_ID_SUFFIX)); - mandatoryCheckbox.setFieldLabel(viewContext.getMessage(Dict.MANDATORY)); mandatoryCheckbox.setValue(false); mandatoryCheckbox.addListener(Events.Change, new InfoBoxResetListener(infoBox)); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentGrid.java index 6a8c53497e6a1af4217c890cff204af194f8fbdb..929ff44160b961f4f50586194ba6e822e1e9ca20 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PropertyTypeAssignmentGrid.java @@ -42,6 +42,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework. import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeAssignmentColDefKind; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CheckBoxField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.PropertyFieldFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.AbstractSimpleBrowserGrid; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IBrowserGridActionInvoker; @@ -254,8 +255,8 @@ public class PropertyTypeAssignmentGrid extends { originalIsMandatory = etpt.isMandatory(); - mandatoryCheckbox = new CheckBox(); - mandatoryCheckbox.setFieldLabel(viewContext.getMessage(Dict.MANDATORY)); + mandatoryCheckbox = + new CheckBoxField(viewContext.getMessage(Dict.MANDATORY), false); mandatoryCheckbox.setValue(originalIsMandatory); addField(mandatoryCheckbox); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/vocabulary/VocabularyRegistrationFieldSet.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/vocabulary/VocabularyRegistrationFieldSet.java index fb7eb2b6001c13f42d89826642e10cc2dff591cc..9dde5adf1eeb8df23f3cbbb11360f0e1da606763 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/vocabulary/VocabularyRegistrationFieldSet.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/vocabulary/VocabularyRegistrationFieldSet.java @@ -35,6 +35,7 @@ import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.layout.FormLayout; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CheckBoxField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CodeField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.DescriptionField; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.MultilineVarcharField; @@ -192,9 +193,9 @@ public final class VocabularyRegistrationFieldSet extends FieldSet public static CheckBox createChosenFromListCheckbox(final IMessageProvider messageProvider) { - final CheckBox result = new CheckBox(); - result.setFieldLabel(messageProvider - .getMessage(Dict.VOCABULARY_SHOW_AVAILABLE_TERMS_IN_CHOOSERS)); + final CheckBox result = + new CheckBoxField(messageProvider + .getMessage(Dict.VOCABULARY_SHOW_AVAILABLE_TERMS_IN_CHOOSERS), false); // If user changes value of this checkbox to true a confirmation window will be shown. // Programatic change of the value with setValue(true) doesn't fire Events.Change event.