From 28360a0186b944bf1c91c5427c6ab3ed7d428105 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Wed, 10 Oct 2012 09:47:06 +0000 Subject: [PATCH] SP-298, BIS-210: improving layout, having one section after rest SVN: 27129 --- .../experiment/ManagedPropertyField.java | 24 ++++++++++++++++--- .../experiment/PropertiesEditor.java | 4 +++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ManagedPropertyField.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ManagedPropertyField.java index be634ee10de..1c154ee7729 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ManagedPropertyField.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ManagedPropertyField.java @@ -32,8 +32,8 @@ import com.extjs.gxt.ui.client.widget.HorizontalPanel; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.VerticalPanel; import com.extjs.gxt.ui.client.widget.button.Button; -import com.extjs.gxt.ui.client.widget.form.Field; import com.extjs.gxt.ui.client.widget.form.FormPanel; +import com.extjs.gxt.ui.client.widget.form.HiddenField; import com.extjs.gxt.ui.client.widget.form.TextField; import com.google.gwt.user.client.ui.Widget; @@ -45,7 +45,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.api.IManagedInputWidget /** * @author Franz-Josef Elmer */ -public class ManagedPropertyField extends Field<List<Map<String, String>>> +public class ManagedPropertyField extends HiddenField<List<Map<String, String>>> { private static final int SPACING = 3; @@ -74,7 +74,11 @@ public class ManagedPropertyField extends Field<List<Map<String, String>>> this.widgetDescriptions = widgetDescriptions; verticalPanel = new VerticalPanel(); verticalPanel.setHorizontalAlign(HorizontalAlignment.RIGHT); + init(); + } + private void init() + { Button addButton = new Button("Add More"); addButton.addSelectionListener(new SelectionListener<ButtonEvent>() { @@ -85,7 +89,10 @@ public class ManagedPropertyField extends Field<List<Map<String, String>>> } }); addButton.setToolTip("Add a new section."); - verticalPanel.add(addButton); + HorizontalPanel horizontalPanel = new HorizontalPanel(); + horizontalPanel.setSpacing(SPACING); + horizontalPanel.add(addButton); + verticalPanel.add(horizontalPanel); addNewSection(0); } @@ -94,6 +101,15 @@ public class ManagedPropertyField extends Field<List<Map<String, String>>> return verticalPanel; } + @Override + public void reset() + { + sections.clear(); + verticalPanel.removeAll(); + init(); + super.reset(); + } + @Override public List<Map<String, String>> getValue() { @@ -113,6 +129,8 @@ public class ManagedPropertyField extends Field<List<Map<String, String>>> private void addNewSection(int sectionIndex) { FormPanel formPanel = new FormPanel(); + formPanel.setWidth(AbstractRegistrationForm.DEFAULT_FIELD_WIDTH + + AbstractRegistrationForm.DEFAULT_LABEL_WIDTH + 30); formPanel.setLabelWidth(AbstractRegistrationForm.DEFAULT_LABEL_WIDTH - SPACING - 2); formPanel.setFieldWidth(AbstractRegistrationForm.DEFAULT_FIELD_WIDTH); formPanel.setHeaderVisible(false); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/PropertiesEditor.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/PropertiesEditor.java index 636f8345401..a210d97928f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/PropertiesEditor.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/PropertiesEditor.java @@ -281,7 +281,9 @@ abstract public class PropertiesEditor<T extends EntityType, S extends EntityTyp label += " *"; } FieldSet fieldSet = createSectionFieldSet(label); - fieldSet.add(((ManagedPropertyField) field.get()).getWidget()); + ManagedPropertyField managedPropertyField = (ManagedPropertyField) field.get(); + fieldSet.add(managedPropertyField.getWidget()); + form.add(managedPropertyField); form.add(fieldSet); } else { -- GitLab