branch develop updated (03a5c31 -> c47e59e)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 03a5c31 Livrable #8202 Merge branch 'feature/8202' into develop new c47e59e Revue du changement de mode de recopie The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit c47e59e90f363b6b8f3baa4eda895f7ff71a47c0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 22 13:13:40 2016 +0200 Revue du changement de mode de recopie Summary of changes: .../IndividualObservationBatchTableHandler.java | 59 ------------------ .../species/frequency/SpeciesFrequencyUI.jaxx | 6 +- .../frequency/SpeciesFrequencyUIHandler.java | 70 ++++++++++++++++++++++ .../species/frequency/SpeciesFrequencyUIModel.java | 33 ++++------ 4 files changed, 83 insertions(+), 85 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit c47e59e90f363b6b8f3baa4eda895f7ff71a47c0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 22 13:13:40 2016 +0200 Revue du changement de mode de recopie --- .../IndividualObservationBatchTableHandler.java | 59 ------------------ .../species/frequency/SpeciesFrequencyUI.jaxx | 6 +- .../frequency/SpeciesFrequencyUIHandler.java | 70 ++++++++++++++++++++++ .../species/frequency/SpeciesFrequencyUIModel.java | 33 ++++------ 4 files changed, 83 insertions(+), 85 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java index 43087ae..044e782 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java @@ -40,11 +40,9 @@ import org.jdesktop.swingx.table.TableColumnExt; import org.jdesktop.swingx.table.TableColumnModelExt; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; -import javax.swing.JOptionPane; import javax.swing.event.TableModelEvent; import java.awt.Color; import java.beans.PropertyChangeListener; -import java.beans.PropertyVetoException; import java.io.Closeable; import java.util.ArrayList; import java.util.Collection; @@ -57,9 +55,6 @@ import java.util.Optional; import java.util.Set; import java.util.function.Function; -import static org.nuiton.i18n.I18n.t; -import static org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler.CONFIRMATION_FORMAT; - /** * To manage individual observations. * @@ -483,60 +478,6 @@ public class IndividualObservationBatchTableHandler implements Closeable { model2.addPropertyChangeListener(IndividualObservationBatchUIModel.PROPERTY_ROWS, evt -> individualObservationTableModel.setRows((List<IndividualObservationBatchRowModel>) evt.getNewValue())); - // Pour bloquer le changement du mode de recopie des observations individuelles → mensurations - model.addVetoableChangeListener(SpeciesFrequencyUIModel.PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, evt -> { - - SpeciesFrequencyUIModel source = (SpeciesFrequencyUIModel) evt.getSource(); - CopyIndividualObservationMode oldCopyMode = (CopyIndividualObservationMode) evt.getOldValue(); - CopyIndividualObservationMode newCopyMode = (CopyIndividualObservationMode) evt.getNewValue(); - - if (source.isInitBatchEdition()) { - - if (log.isInfoEnabled()) { - log.info("Skip ask user to confirm copyIndividualObservationMode changed from " + oldCopyMode + " to " + newCopyMode); - } - return; - } - - // le seul mode où l'utilisateur ne peut rien saisir est le mode tout - if (CopyIndividualObservationMode.ALL != oldCopyMode) { - - long rowsWithUserData; - - // si on etait en mode taille et que l'utilisateur avait saisi des tailles - if (CopyIndividualObservationMode.SIZE == oldCopyMode) { - rowsWithUserData = model.getRows().stream() - .filter(SpeciesFrequencyRowModel::withWeight) - .count(); - - } else { - rowsWithUserData = model.getRows().stream() - .filter(row -> row.withLengthStep() || row.withNumber() || row.withWeight()) - .count(); - } - - if (rowsWithUserData > 0) { - - String htmlMessage = String.format( - CONFIRMATION_FORMAT, - t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.message"), - t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.help")); - int i = JOptionPane.showConfirmDialog( - uiHandler.getTopestUI(), - htmlMessage, - t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.title"), - JOptionPane.OK_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE); - - if (i == JOptionPane.CANCEL_OPTION) { - throw new PropertyVetoException("The user does not want to erase his data.", evt); - } - } - - } - - }); - // Pour mettre à jour les mensurations suite au changement du mode de recopie des observations individuelles model.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, evt -> { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx index dd24f4d..659f719 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx @@ -124,11 +124,11 @@ protected int getLengthStepPanelPreferedWidth() { <JToolBar id="copyToSizeToolBar"> <JLabel id='copyToSizeTableLabel'/> <JRadioButton id='copyAllButton' - onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.ALL)'/> + onActionPerformed='handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.ALL)'/> <JRadioButton id='copyNothingButton' - onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.NOTHING)'/> + onActionPerformed='handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.NOTHING)'/> <JRadioButton id='copySizesButton' - onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.SIZE)'/> + onActionPerformed='handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.SIZE)'/> </JToolBar> <JPopupMenu id='obsTablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index 321da99..51f46cf 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -635,6 +635,76 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci return individualObservationBatchTableHandler.getIndividualObservationUICache(); } + public void setCopyIndividualObservationMode(CopyIndividualObservationMode newCopyMode) { + + SpeciesFrequencyUIModel model = getModel(); + + if (model.isInitBatchEdition()) { + + if (log.isInfoEnabled()) { + log.info("Skip ask user to confirm copyIndividualObservationMode changed from " + model.getCopyIndividualObservationMode() + " to " + newCopyMode); + } + return; + } + + // le seul mode où l'utilisateur ne peut rien saisir est le mode tout + if (!model.isCopyIndividualObservationAll()) { + + long rowsWithUserData; + + // si on etait en mode taille et que l'utilisateur avait saisi des tailles + if (model.isCopyIndividualObservationSize()) { + rowsWithUserData = model.getRows().stream() + .filter(SpeciesFrequencyRowModel::withWeight) + .count(); + + } else { + rowsWithUserData = model.getRows().stream() + .filter(row -> row.withLengthStep() || row.withNumber() || row.withWeight()) + .count(); + } + + if (rowsWithUserData > 0) { + + String htmlMessage = String.format( + CONFIRMATION_FORMAT, + t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.message"), + t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.help")); + int i = JOptionPane.showConfirmDialog( + ui.getHandler().getTopestUI(), + htmlMessage, + t("tutti.editSpeciesFrequencies.changeCopyMode.confirm.title"), + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE); + + if (i == JOptionPane.CANCEL_OPTION) { + if (log.isDebugEnabled()) { + log.debug("User cancel modification..."); + } + + // on repositionne sur le bon radio-bouton + // le code n'est pas optimal mais est moins dangeureux que de relancer des fires je pense + switch(model.getCopyIndividualObservationMode()) { + case ALL: + ui.getCopyAllButton().setSelected(true); + break; + case NOTHING: + ui.getCopyNothingButton().setSelected(true); + break; + case SIZE: + ui.getCopySizesButton().setSelected(true); + break; + } + + return; + } + } + + } + + model.setCopyIndividualObservationMode(newCopyMode); + } + //------------------------------------------------------------------------// //-- Internal methods --// //------------------------------------------------------------------------// diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java index 8cbd151..a2e0251 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java @@ -617,27 +617,14 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public void setCopyIndividualObservationMode(CopyIndividualObservationMode copyIndividualObservationMode) { CopyIndividualObservationMode oldValue = getCopyIndividualObservationMode(); + boolean oldCopyAll = isCopyIndividualObservationAll(); + boolean oldCopyNothing = isCopyIndividualObservationNothing(); + boolean oldCopySize = isCopyIndividualObservationSize(); this.copyIndividualObservationMode = copyIndividualObservationMode; - - try { - fireVetoableChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, oldValue, copyIndividualObservationMode); - firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_ALL, - oldValue == CopyIndividualObservationMode.ALL, - copyIndividualObservationMode == CopyIndividualObservationMode.ALL); - firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_NOTHING, - oldValue == CopyIndividualObservationMode.NOTHING, - copyIndividualObservationMode == CopyIndividualObservationMode.NOTHING); - firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_SIZE, - oldValue == CopyIndividualObservationMode.SIZE, - copyIndividualObservationMode == CopyIndividualObservationMode.SIZE); - firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, oldValue, copyIndividualObservationMode); - - } catch (PropertyVetoException e) { - if (log.isErrorEnabled()) { - log.error("error in setting copyIndividualObservationMode", e); - } - this.copyIndividualObservationMode = oldValue; - } + firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_ALL, oldCopyAll, isCopyIndividualObservationAll()); + firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_NOTHING, oldCopyNothing, isCopyIndividualObservationNothing()); + firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_SIZE, oldCopySize, isCopyIndividualObservationSize()); + firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, oldValue, getCopyIndividualObservationMode()); } public boolean mustCopyIndividualObservationSize() { @@ -645,15 +632,15 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa } public boolean isCopyIndividualObservationAll() { - return copyIndividualObservationMode == CopyIndividualObservationMode.ALL; + return CopyIndividualObservationMode.ALL == copyIndividualObservationMode; } public boolean isCopyIndividualObservationNothing() { - return copyIndividualObservationMode == CopyIndividualObservationMode.NOTHING; + return CopyIndividualObservationMode.NOTHING == copyIndividualObservationMode; } public boolean isCopyIndividualObservationSize() { - return copyIndividualObservationMode == CopyIndividualObservationMode.SIZE; + return CopyIndividualObservationMode.SIZE == copyIndividualObservationMode; } public Set<SpeciesFrequencyRowModel> getEmptyRows() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm