This is an automated email from the git hooks/post-receive script. New commit to branch feature/8238 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 71cab34afe5d43e608e8e5c997fe41fc416a980b Author: Kevin Morin <morin@codelutin.com> Date: Fri Apr 22 15:44:36 2016 +0200 - passage à jaxx 2.29 - désactivation de la suppresion des maturités sélectionnées si elles sont utilisées (RAF : gérer la suppression des lignes d'espèce ou de benthos) (refs #8238) --- pom.xml | 2 +- .../protocol/EditProtocolSpeciesTableModel.java | 30 ++++++++++++++++++++++ .../content/protocol/EditProtocolUIHandler.java | 14 ++++++++-- 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index b68d3ea..15d4871 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ <nuitonI18nVersion>3.4.1</nuitonI18nVersion> <nuitonValidatorVersion>3.0</nuitonValidatorVersion> <eugenePluginVersion>2.14</eugenePluginVersion> - <jaxxVersion>2.28.2</jaxxVersion> + <jaxxVersion>2.29-SNAPSHOT</jaxxVersion> <swingXVersion>1.6.4</swingXVersion> <slf4jVersion>1.7.13</slf4jVersion> <!-- Can't use now adagio previous to 3.9.1 after this version --> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java index 4b0e7ee..3c0ab77 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java @@ -24,11 +24,14 @@ package fr.ifremer.tutti.ui.swing.content.protocol; import com.google.common.collect.Lists; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; import org.jdesktop.swingx.table.TableColumnModelExt; import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -81,6 +84,9 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel protected final SampleCategoryModel sampleCategoryModel; + // FIXME check if ok to add benthos AND species together + private static final List<Caracteristic> maturitiesUsed = new ArrayList<>(); + private static final long serialVersionUID = 1L; public EditProtocolSpeciesTableModel(SampleCategoryModel sampleCategoryModel, @@ -88,6 +94,16 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel super(columnModel, false, false); this.sampleCategoryModel = sampleCategoryModel; setNoneEditableCols(SPECIES_ID); + +// addTableModelListener(new TableModelListener() { +// +// @Override +// public void tableChanged(TableModelEvent e) { +// if (e.getType() == TableModelEvent.DELETE) { +// e.getFirstRow(); +// } +// } +// }); } public static EditProtocolSpeciesRowModel newRow(SampleCategoryModel sampleCategoryModel) { @@ -116,6 +132,17 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel }); + //FIXME gérer les maturités des lignes suprpimées + result.addPropertyChangeListener(EditProtocolSpeciesRowModel.PROPERTY_MATURITY_PMFM, + evt -> { + if (evt.getOldValue() != null) { + maturitiesUsed.remove(evt.getOldValue()); + } + if (evt.getNewValue() != null) { + maturitiesUsed.add((Caracteristic) evt.getNewValue()); + } + }); + return result; } @@ -170,4 +197,7 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel return result; } + public static boolean isNoneOfTheMaturitiesUsed(Collection<Caracteristic> caracteristics) { + return maturitiesUsed.stream().noneMatch(caracteristics::contains); + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index bfeca14..ef52875 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -551,6 +551,9 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI model.getCaracteristics().stream().filter(caracteristic -> !caracteristic.isQualitativeValueEmpty()).collect(Collectors.toList()), model.getMaturityPmfmId()); + maturityList.getModel().addCanRemoveItemsPredicate( + input -> EditProtocolSpeciesTableModel.isNoneOfTheMaturitiesUsed(maturityList.getSelectedList().getSelectedValuesList())); + JMenuItem editMaturity = ui.getEditMaturityCaracteristicAction(); maturityList.getSelectedListPopup().add(editMaturity); @@ -1662,11 +1665,18 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Component result = defaultRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); Caracteristic maturityCaracteristic = (Caracteristic) value; + + Color backgroud; if (!EditProtocolUIHandler.this.getModel().isMaturityValid(maturityCaracteristic)) { - result.setBackground(invalidColor); + backgroud= invalidColor; } else { - result.setBackground(validColor); + backgroud = validColor; } + if (isSelected) { + backgroud = backgroud.darker(); + } + result.setBackground(backgroud); + if (result instanceof JComponent) { ((JComponent) result).setToolTipText(createToolTipText(maturityCaracteristic)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.