Author: tchemit Date: 2013-09-26 22:24:48 +0200 (Thu, 26 Sep 2013) New Revision: 1236 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1236 Log: fixes #3327: [PROTOCOLE] tableau esp?\195?\168ces : impossible de s?\195?\169lectionner plusieurs lignes d'esp?\195?\168ces pour supprimer Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-09-26 19:44:44 UTC (rev 1235) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-09-26 20:24:48 UTC (rev 1236) @@ -89,7 +89,7 @@ } #speciesTable { - selectionMode: {ListSelectionModel.SINGLE_SELECTION}; + /*selectionMode: {ListSelectionModel.SINGLE_SELECTION};*/ /*selectionBackground: {null};*/ selectionForeground: {Color.BLACK}; sortable: false; @@ -107,7 +107,7 @@ } #benthosTable { - selectionMode: {ListSelectionModel.SINGLE_SELECTION}; + /*selectionMode: {ListSelectionModel.SINGLE_SELECTION};*/ /*selectionBackground: {null};*/ selectionForeground: {Color.BLACK}; sortable: false; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-09-26 19:44:44 UTC (rev 1235) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-09-26 20:24:48 UTC (rev 1236) @@ -332,12 +332,12 @@ @Override public void valueChanged(ListSelectionEvent e) { ListSelectionModel source = (ListSelectionModel) e.getSource(); - ui.getRemoveSpeciesProtocolButton().setEnabled( - !source.isSelectionEmpty()); + getModel().setRemoveSpeciesEnabled(!source.isSelectionEmpty()); } }); tableModel.setRows(speciesRows); + getModel().setRemoveSpeciesEnabled(false); } { @@ -393,12 +393,12 @@ @Override public void valueChanged(ListSelectionEvent e) { ListSelectionModel source = (ListSelectionModel) e.getSource(); - ui.getRemoveBenthosProtocolButton().setEnabled( - !source.isSelectionEmpty()); + getModel().setRemoveBenthosEnabled(!source.isSelectionEmpty()); } }); tableModel.setRows(benthosRows); + getModel().setRemoveBenthosEnabled(false); } allDoubleLists = Lists.newArrayList( Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-09-26 19:44:44 UTC (rev 1235) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-09-26 20:24:48 UTC (rev 1236) @@ -181,9 +181,8 @@ } public void setRemoveSpeciesEnabled(boolean removeSpeciesEnabled) { - Object oldValue = isRemoveSpeciesEnabled(); this.removeSpeciesEnabled = removeSpeciesEnabled; - firePropertyChange(PROPERTY_REMOVE_SPECIES_ENABLED, oldValue, removeSpeciesEnabled); + firePropertyChange(PROPERTY_REMOVE_SPECIES_ENABLED, null, removeSpeciesEnabled); } public boolean isRemoveBenthosEnabled() { @@ -191,9 +190,8 @@ } public void setRemoveBenthosEnabled(boolean removeBenthosEnabled) { - Object oldValue = isRemoveBenthosEnabled(); this.removeBenthosEnabled = removeBenthosEnabled; - firePropertyChange(PROPERTY_REMOVE_BENTHOS_ENABLED, oldValue, removeBenthosEnabled); + firePropertyChange(PROPERTY_REMOVE_BENTHOS_ENABLED, null, removeBenthosEnabled); } public boolean isImported() { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-09-26 19:44:44 UTC (rev 1235) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-09-26 20:24:48 UTC (rev 1236) @@ -24,7 +24,6 @@ * #L% */ -import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.referential.Species; @@ -53,13 +52,26 @@ JTable table = handler.getSpeciesTable(); - int rowIndex = table.getSelectedRow(); + EditProtocolSpeciesTableModel tableModel = handler.getSpeciesTableModel(); - Preconditions.checkState(rowIndex != -1, - "Cant remove species if no species selected"); + int[] rowIndex = table.getSelectedRows(); - EditProtocolSpeciesTableModel tableModel = handler.getSpeciesTableModel(); + for (int i = rowIndex.length - 1; i > -1; i--) { + int index = rowIndex[i]; + removeRow(tableModel, index); + } + EditProtocolUIModel model = getModel(); + + // reorder the list by name, otherwise, + // all the species without a reftax code will be at the end + Collections.sort(model.getAllSynonyms(), TuttiEntities.SPECIES_BY_NAME_COMPARATOR); + + table.clearSelection(); + } + + protected void removeRow(EditProtocolSpeciesTableModel tableModel, int rowIndex) { + EditProtocolSpeciesRowModel selectedRow = tableModel.getEntry(rowIndex); // re-add all synonym of this taxon to the species / benthos combobox @@ -73,12 +85,8 @@ model.getAllSynonyms(String.valueOf(taxonId))); allSynonyms.remove(species); model.getAllSynonyms().addAll(allSynonyms); - // reorder the list by name, otherwise, - // all the species without a reftax code will be at the end - Collections.sort(model.getAllSynonyms(), TuttiEntities.SPECIES_BY_NAME_COMPARATOR); - table.clearSelection(); - // remove the row from the model(do it after treating the comboBox which can be long) + // remove the row from the model tableModel.removeRow(rowIndex); String speciesStr = decorate(selectedRow.getSpecies()); Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-26 19:44:44 UTC (rev 1235) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-26 20:24:48 UTC (rev 1236) @@ -809,12 +809,12 @@ tutti.editProtocol.action.importProtocolSpecies=Importer les espèces tutti.editProtocol.action.importProtocolSpecies.mnemonic=é tutti.editProtocol.action.importProtocolSpecies.tip=Importer les espèces dans le protocole -tutti.editProtocol.action.removeBenthosProtocol=Supprimer le benthos +tutti.editProtocol.action.removeBenthosProtocol=Supprimer les benthos tutti.editProtocol.action.removeBenthosProtocol.mnemonic=S -tutti.editProtocol.action.removeBenthosProtocol.tip=Supprimer le benthos -tutti.editProtocol.action.removeSpeciesProtocol=Supprimer l'espèce +tutti.editProtocol.action.removeBenthosProtocol.tip=Supprimer les benthos sélectionnés +tutti.editProtocol.action.removeSpeciesProtocol=Supprimer les espèces tutti.editProtocol.action.removeSpeciesProtocol.mnemonic=S -tutti.editProtocol.action.removeSpeciesProtocol.tip=Supprimer l'espèce +tutti.editProtocol.action.removeSpeciesProtocol.tip=Supprimer les espèces sélectionnées tutti.editProtocol.action.saveProtocol=Enregistrer tutti.editProtocol.action.saveProtocol.mnemonic=E tutti.editProtocol.action.saveProtocol.tip=Enregistrer le protocole
participants (1)
-
tchemit@users.forge.codelutin.com