branch develop updated (9b9430d -> cf65593)
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 9b9430d Livrable #8245 Merge branch 'feature/8245' into develop new 46f455d Correction d'un fire data sur le table model, why ? (See #8257) new 72ccffb Amélioration code : on arrête de faire dix milles trucs en même temps : j'en ai maaaaaaaaaaare new cf65593 Livrable #8257 Merge branch 'feature/8257' into develop The 3 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 cf655935f65dfd2ab34e919f00ac2a2a1c73200f Merge: 9b9430d 72ccffb Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:20:13 2016 +0200 Livrable #8257 Merge branch 'feature/8257' into develop commit 72ccffb99dc48e2ac8adacbf8cc19c1b22b1952f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:20:11 2016 +0200 Amélioration code : on arrête de faire dix milles trucs en même temps : j'en ai maaaaaaaaaaare commit 46f455da51dd68528a9a6b25cdca815a2db56b2a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:19:49 2016 +0200 Correction d'un fire data sur le table model, why ? (See #8257) Summary of changes: .../frequency/SpeciesFrequencyTableModel.java | 302 ++++++++++----------- .../species/frequency/SpeciesFrequencyUIModel.java | 26 +- .../actions/ApplySpeciesFrequencyRafaleAction.java | 3 +- 3 files changed, 164 insertions(+), 167 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 46f455da51dd68528a9a6b25cdca815a2db56b2a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:19:49 2016 +0200 Correction d'un fire data sur le table model, why ? (See #8257) --- .../frequency/SpeciesFrequencyTableModel.java | 302 ++++++++++----------- 1 file changed, 151 insertions(+), 151 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java index 3b251b7..73d8bdb 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java @@ -193,23 +193,22 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp uiModel.recomputeCanEditLengthStep(); uiModel.setModify(true); + } @Override protected void onRowRemoved(int rowIndex, SpeciesFrequencyRowModel row) { + dettachListeners(row); uiModel.recomputeCanEditLengthStep(); + } @Override protected void onBeforeRowsChanged(List<SpeciesFrequencyRowModel> oldRows) { if (oldRows != null) { - - for (SpeciesFrequencyRowModel row : oldRows) { - dettachListeners(row); - } - + oldRows.forEach(this::dettachListeners); } } @@ -218,11 +217,7 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp protected void onRowsChanged(List<SpeciesFrequencyRowModel> newRows) { if (newRows != null) { - - for (SpeciesFrequencyRowModel row : newRows) { - attachListeners(row); - } - + newRows.forEach(this::attachListeners); } uiModel.recomputeCanEditLengthStep(); @@ -257,146 +252,6 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } - private PropertyChangeListener getOnLengthStepChangedListener() { - if (onLengthStepChangedListener == null) { - onLengthStepChangedListener = evt -> { - - SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); - - // recompute the weight with the rtp - uiModel.computeRowWeightWithRtp(row); - - Float oldValue = (Float) evt.getOldValue(); - if (oldValue != null) { - - modelCache.removeLengthStep(oldValue); - lengthStepWasRemoved(oldValue); - - } - - Float newValue = (Float) evt.getNewValue(); - if (newValue != null) { - - modelCache.addLengthStep(row); - lengthStepOrNumberWasUpdated(row); - - } - - uiModel.recomputeCanEditLengthStep(); - uiModel.recomputeRowsValidateState(); - uiModel.updateEmptyRow(row); - - // Can recompute total number and weight only after valid flag change - uiModel.recomputeTotalNumberAndWeight(); - - fireTableDataChanged(); - - }; - } - return onLengthStepChangedListener; - } - - private PropertyChangeListener getOnNumberChangedListener() { - if (onNumberChangedListener == null) { - onNumberChangedListener = evt -> { - - SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); - - // recompute the weight with the rtp - uiModel.computeRowWeightWithRtp(row); - - Float lengthStep = row.getLengthStep(); - - if (lengthStep != null) { - - if (!row.withNumber()) { - - // remove the value for the lengthStep - lengthStepWasRemoved(lengthStep); - - } else { - - lengthStepOrNumberWasUpdated(row); - - } - - } - - uiModel.recomputeCanEditLengthStep(); - uiModel.recomputeRowValidState(row); - uiModel.updateEmptyRow(row); - - // Can recompute total number and weight only after valid flag change - uiModel.recomputeTotalNumberAndWeight(); - - fireTableDataChanged(); - - }; - } - return onNumberChangedListener; - } - - private PropertyChangeListener getOnWeightChangedListener() { - if (onWeightChangedListener == null) { - onWeightChangedListener = evt -> { - - SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); - modelCache.updateRowWithWeight(row); - - Float lengthStep = row.getLengthStep(); - - if (lengthStep != null) { - - if (!row.withWeight()) { - - // remove the value for the lengthStep - uiModel.getAverageWeightsHistogramModel().removeValue(lengthStep); - - } else { - - uiModel.getAverageWeightsHistogramModel().addOrUpdate(row); - - } - - } - - uiModel.recomputeRowsValidateState(); - uiModel.updateEmptyRow(row); - - // Can recompute total number and weight only after valid flag change - uiModel.recomputeTotalNumberAndWeight(); - - }; - } - return onWeightChangedListener; - } - - private void dettachListeners(SpeciesFrequencyRowModel result) { - - result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP, getOnLengthStepChangedListener()); - result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_WEIGHT, getOnWeightChangedListener()); - result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_NUMBER, getOnNumberChangedListener()); - - } - - private void attachListeners(SpeciesFrequencyRowModel result) { - - dettachListeners(result); // prevent leaks! - - result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP, getOnLengthStepChangedListener()); - result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_WEIGHT, getOnWeightChangedListener()); - result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_NUMBER, getOnNumberChangedListener()); - - } - - private void removeRow(SpeciesFrequencyRowModel row) { - - int rowIndex = getRowIndex(row); - removeRow(rowIndex); - modelCache.getRowCache().remove(row.getLengthStep()); - - } - public SpeciesFrequencyRowModel getOrCreateRowForLengthStep(float lengthstep) { // obtenir la classe de taille (en fonction de la précision de la méthode de mensuration) @@ -611,7 +466,6 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } - private void lengthStepWasRemoved(Float lengthStep) { uiModel.getAverageWeightsHistogramModel().removeValue(lengthStep); @@ -619,6 +473,7 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } + private void lengthStepOrNumberWasUpdated(SpeciesFrequencyRowModel row) { if (row.withNumber()) { @@ -630,4 +485,149 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } + private PropertyChangeListener getOnLengthStepChangedListener() { + if (onLengthStepChangedListener == null) { + onLengthStepChangedListener = evt -> { + + SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); + + // recompute the weight with the rtp + uiModel.computeRowWeightWithRtp(row); + + Float oldValue = (Float) evt.getOldValue(); + if (oldValue != null) { + + modelCache.removeLengthStep(oldValue); + lengthStepWasRemoved(oldValue); + + } + + Float newValue = (Float) evt.getNewValue(); + if (newValue != null) { + + modelCache.addLengthStep(row); + lengthStepOrNumberWasUpdated(row); + + } + + uiModel.recomputeCanEditLengthStep(); + uiModel.recomputeRowsValidateState(); + uiModel.updateEmptyRow(row); + + // Can recompute total number and weight only after valid flag change + uiModel.recomputeTotalNumber(); + uiModel.recomputeTotalWeight(); + + //FIXME Explain why this ? +// fireTableDataChanged(); + + }; + } + return onLengthStepChangedListener; + } + + private PropertyChangeListener getOnNumberChangedListener() { + if (onNumberChangedListener == null) { + onNumberChangedListener = evt -> { + + SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); + + // recompute the weight with the rtp + uiModel.computeRowWeightWithRtp(row); + + Float lengthStep = row.getLengthStep(); + + if (lengthStep != null) { + + if (!row.withNumber()) { + + // remove the value for the lengthStep + lengthStepWasRemoved(lengthStep); + + } else { + + lengthStepOrNumberWasUpdated(row); + + } + + } + + uiModel.recomputeCanEditLengthStep(); + uiModel.recomputeRowValidState(row); + uiModel.updateEmptyRow(row); + + // Can recompute total number and weight only after valid flag change + uiModel.recomputeTotalNumber(); + uiModel.recomputeTotalWeight(); + + //FIXME Explain why this ? +// fireTableDataChanged(); + + }; + } + return onNumberChangedListener; + } + + private PropertyChangeListener getOnWeightChangedListener() { + if (onWeightChangedListener == null) { + onWeightChangedListener = evt -> { + + SpeciesFrequencyRowModel row = (SpeciesFrequencyRowModel) evt.getSource(); + modelCache.updateRowWithWeight(row); + + Float lengthStep = row.getLengthStep(); + + if (lengthStep != null) { + + if (!row.withWeight()) { + + // remove the value for the lengthStep + uiModel.getAverageWeightsHistogramModel().removeValue(lengthStep); + + } else { + + uiModel.getAverageWeightsHistogramModel().addOrUpdate(row); + + } + + } + + uiModel.recomputeRowsValidateState(); + uiModel.updateEmptyRow(row); + + // Can recompute total number and weight only after valid flag change + uiModel.recomputeTotalWeight(); + uiModel.recomputeTotalNumber(); + + }; + } + return onWeightChangedListener; + } + + private void dettachListeners(SpeciesFrequencyRowModel result) { + + result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP, getOnLengthStepChangedListener()); + result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_WEIGHT, getOnWeightChangedListener()); + result.removePropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_NUMBER, getOnNumberChangedListener()); + + } + + private void attachListeners(SpeciesFrequencyRowModel result) { + + dettachListeners(result); // prevent leaks! + + result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP, getOnLengthStepChangedListener()); + result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_WEIGHT, getOnWeightChangedListener()); + result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_NUMBER, getOnNumberChangedListener()); + + } + + private void removeRow(SpeciesFrequencyRowModel row) { + + int rowIndex = getRowIndex(row); + removeRow(rowIndex); + modelCache.getRowCache().remove(row.getLengthStep()); + + } + } \ No newline at end of file -- 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 72ccffb99dc48e2ac8adacbf8cc19c1b22b1952f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:20:11 2016 +0200 Amélioration code : on arrête de faire dix milles trucs en même temps : j'en ai maaaaaaaaaaare --- .../species/frequency/SpeciesFrequencyUIModel.java | 26 ++++++++++------------ .../actions/ApplySpeciesFrequencyRafaleAction.java | 3 +-- 2 files changed, 13 insertions(+), 16 deletions(-) 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 9e4ef6f..41f5e37 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 @@ -340,7 +340,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa frequenciesHistogramModel.reloadRows(rows); averageWeightsHistogramModel.reloadRows(rows); - recomputeTotalNumberAndWeight(); + recomputeTotalNumber(); + recomputeTotalWeight(); } @@ -734,31 +735,27 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_EMPTY_ROWS, null, emptyRows); } - public boolean isNonEmptyRows() { - return getRowCount() - emptyRows.size() - rowsInError.size() > 0; + public void recomputeTotalWeight() { + + Float computeTotalWeight = cache.computeTotalWeight(); + setTotalComputedWeight(computeTotalWeight); + } - public int computeTotalNumber() { - int result = 0; + public void recomputeTotalNumber() { + + int computeTotalNumber = 0; if (rows != null) { for (SpeciesFrequencyRowModel row : rows) { if (!row.isValid()) { continue; } if (row.getNumber() != null) { - result += row.getNumber(); + computeTotalNumber += row.getNumber(); } } } - return result; - } - - public void recomputeTotalNumberAndWeight() { - - int computeTotalNumber = computeTotalNumber(); - Float computeTotalWeight = cache.computeTotalWeight(); setTotalNumber(computeTotalNumber); - setTotalComputedWeight(computeTotalWeight); } @@ -790,6 +787,7 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa } setCanEditLengthStep(result); + } public void computeRowWeightWithRtp() { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java index 32ab9ae..95c61d1 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java @@ -115,8 +115,7 @@ public class ApplySpeciesFrequencyRafaleAction { // tableModel.addNewRow(rowIndex, row); // } - int totalNumber = model.computeTotalNumber(); - model.setTotalNumber(totalNumber); + model.recomputeTotalNumber(); SwingUtilities.invokeLater(() -> selectRow(ui.getTable(), rowIndex)); -- 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 cf655935f65dfd2ab34e919f00ac2a2a1c73200f Merge: 9b9430d 72ccffb Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 16 12:20:13 2016 +0200 Livrable #8257 Merge branch 'feature/8257' into develop .../frequency/SpeciesFrequencyTableModel.java | 302 ++++++++++----------- .../species/frequency/SpeciesFrequencyUIModel.java | 26 +- .../actions/ApplySpeciesFrequencyRafaleAction.java | 3 +- 3 files changed, 164 insertions(+), 167 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm