This is an automated email from the git hooks/post-receive script. New commit to branch feature/observations_individuelles-init_default_caracteristics in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit c5d87628531d626dc657a709ba0f03ef230c1605 Author: Kevin Morin <morin@codelutin.com> Date: Wed Apr 27 12:31:52 2016 +0200 possibilité de modifier les caracteristics à ne pas pouvoir ajouter --- .../CaracteristicMapCellComponent.java | 16 ++++++++++----- .../CaracteristicMapEditorUIHandler.java | 5 +++-- .../CaracteristicMapEditorUIModel.java | 24 ++++++++++++++++------ 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapCellComponent.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapCellComponent.java index 331143f..374e02b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapCellComponent.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapCellComponent.java @@ -51,6 +51,8 @@ import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.Serializable; +import java.util.Collections; +import java.util.Objects; import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -127,7 +129,7 @@ public class CaracteristicMapCellComponent extends DefaultTableCellRenderer { return new CaracteristicMapCellRenderer(context); } - public static TableCellEditor newEditor(TuttiUI ui, Set<Caracteristic> caracteristicsToSkip) { + public static CaracteristicMapCellEditor newEditor(TuttiUI ui, Set<Caracteristic> caracteristicsToSkip) { return new CaracteristicMapCellEditor(ui, caracteristicsToSkip); } @@ -156,9 +158,8 @@ public class CaracteristicMapCellComponent extends DefaultTableCellRenderer { public CaracteristicMapCellEditor(TuttiUI ui, Set<Caracteristic> caracteristicsToSkip) { this.ui = ui; - this.caracteristicsToSkip = caracteristicsToSkip; - component = new CaracteristicMapCellComponent(ui.getHandler().getContext() - ); + this.caracteristicsToSkip = Collections.unmodifiableSet(caracteristicsToSkip); + component = new CaracteristicMapCellComponent(ui.getHandler().getContext()); component.setBorder(new LineBorder(Color.BLACK)); component.addKeyListener(new KeyAdapter() { @Override @@ -180,6 +181,11 @@ public class CaracteristicMapCellComponent extends DefaultTableCellRenderer { }); } + public void setCaracteristicsToSkip(Set<Caracteristic> caracteristicsToSkip) { + Objects.requireNonNull(caracteristicsToSkip); + this.caracteristicsToSkip = Collections.unmodifiableSet(caracteristicsToSkip); + } + protected void startEdit() { Preconditions.checkNotNull(tableModel, "No table model assigned."); @@ -207,7 +213,7 @@ public class CaracteristicMapCellComponent extends DefaultTableCellRenderer { CaracteristicMapColumnUIHandler handler = (CaracteristicMapColumnUIHandler) ui.getHandler(); CaracteristicMapEditorUI caracteristicMapEditor = handler.getCaracteristicMapEditor(); // remove all default caracteristics (caracteristicsToSkip) - caracteristicMapEditor.getModel().getAvailableCaracteristics().removeAll(caracteristicsToSkip); + caracteristicMapEditor.getModel().computeAvailableCaracteristics(caracteristicsToSkip); caracteristicMapEditor.getHandler().editBatch(editRow, this, caracteristicsUsed); handler.showCaracteristicMapEditor(editRow); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIHandler.java index c3c53c6..ad55ff1 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIHandler.java @@ -41,6 +41,7 @@ import org.jdesktop.swingx.table.DefaultTableColumnModelExt; import javax.swing.JComponent; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -130,8 +131,8 @@ public class CaracteristicMapEditorUIHandler public void afterInit(CaracteristicMapEditorUI ui) { initUI(ui); - initBeanFilterableComboBox(getKeyCombo(), Lists.<Caracteristic>newArrayList(), null); - getModel().setAvailableCaracteristics(Lists.newArrayList(getDataContext().getCaracteristicWithProtected())); + initBeanFilterableComboBox(getKeyCombo(), new ArrayList<>(), null); + getModel().setAllAvailableCaracteristics(new ArrayList<>(getDataContext().getCaracteristicWithProtected())); JXTable table = getTable(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIModel.java index 5d3f5c6..28a10b0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/caracteristics/CaracteristicMapEditorUIModel.java @@ -26,6 +26,8 @@ import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; /** @@ -38,10 +40,16 @@ public class CaracteristicMapEditorUIModel extends AbstractTuttiTableUIModel<Obj public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled"; - public static final String PROPERTY_AVAILABLE_CARACTERISTICS = "availableCaracteristics"; - private static final long serialVersionUID = 1L; + /** + * Original available caracteristics, can contain the default caracteristics + */ + protected List<Caracteristic> allAvailableCaracteristics; + + /** + * The available caracteristics without the default caracteristics + */ protected List<Caracteristic> availableCaracteristics; /** @@ -62,14 +70,18 @@ public class CaracteristicMapEditorUIModel extends AbstractTuttiTableUIModel<Obj super(Object.class, null, null); } + public void setAllAvailableCaracteristics(List<Caracteristic> allAvailableCaracteristics) { + this.allAvailableCaracteristics = allAvailableCaracteristics; + this.availableCaracteristics = new ArrayList<>(allAvailableCaracteristics); + } + public List<Caracteristic> getAvailableCaracteristics() { return availableCaracteristics; } - public void setAvailableCaracteristics(List<Caracteristic> availableCaracteristics) { - Object oldValue = getAvailableCaracteristics(); - this.availableCaracteristics = availableCaracteristics; - firePropertyChange(PROPERTY_AVAILABLE_CARACTERISTICS, oldValue, availableCaracteristics); + public void computeAvailableCaracteristics(Collection<Caracteristic> defaultCaracteristics) { + availableCaracteristics = new ArrayList<>(allAvailableCaracteristics); + availableCaracteristics.removeAll(defaultCaracteristics); } public CaracteristicMap getCaracteristicMap() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.