From 94ba170f8ceb2441cfcebc29185307c45cb652db Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Mon, 16 Nov 2009 12:31:34 +0000
Subject: [PATCH] [LMS-1268] fixed checkbox left alignment

SVN: 13419
---
 .../application/ui/field/CheckBoxField.java    | 18 +++++++++++++++++-
 .../PropertyTypeAssignmentForm.java            |  4 ++--
 .../PropertyTypeAssignmentGrid.java            |  5 +++--
 .../VocabularyRegistrationFieldSet.java        |  7 ++++---
 4 files changed, 26 insertions(+), 8 deletions(-)

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 f5bcad0c2e0..dbde3208012 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 d573fee2739..6d7e09e0a8c 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 6a8c53497e6..929ff44160b 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 fb7eb2b6001..9dde5adf1ee 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.
-- 
GitLab