This is an automated email from the git hooks/post-receive script. New commit to branch feature/ecran_obs_individuelles in repository tutti. See http://git.codelutin.com/tutti.git commit 47f37eacb5e5dab3ac86b7447567aa74e80d7a5a Author: Kevin Morin <morin@codelutin.com> Date: Tue Feb 23 09:31:57 2016 +0100 activtation ou desactivation de cellules de la tables des mensurations en fonction du mode de copie (refs #6926) --- .../frequency/CopyIndividualObservationMode.java | 10 +++++++++ .../frequency/SpeciesFrequencyTableModel.java | 26 ++++++++++++++++++++++ .../species/frequency/SpeciesFrequencyUI.jaxx | 9 +++++--- .../frequency/SpeciesFrequencyUIHandler.java | 9 -------- .../species/frequency/SpeciesFrequencyUIModel.java | 20 ++++++++++++++++- 5 files changed, 61 insertions(+), 13 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/CopyIndividualObservationMode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/CopyIndividualObservationMode.java new file mode 100644 index 0000000..a73cd97 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/CopyIndividualObservationMode.java @@ -0,0 +1,10 @@ +package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency; + +/** + * @author Kevin Morin (Code Lutin) + * @since 4.5 + */ +public enum CopyIndividualObservationMode { + + ALL, NOTHING, SIZE +} 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 0658008..6e3dbb0 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 @@ -120,6 +120,32 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } @Override + protected boolean isCellEditable(int rowIndex, int columnIndex, ColumnIdentifier<SpeciesFrequencyRowModel> propertyName) { + boolean result; + + CopyIndividualObservationMode copyIndividualObservationMode = uiModel.getCopyIndividualObservationMode(); + if (copyIndividualObservationMode == null) { + result = super.isCellEditable(rowIndex, columnIndex, propertyName); + + } else { + switch (copyIndividualObservationMode) { + case ALL: + result = false; + break; + case NOTHING: + result = true; + break; + case SIZE: + result = WEIGHT.equals(propertyName); + break; + default: + result = super.isCellEditable(rowIndex, columnIndex, propertyName); + } + } + return result; + } + + @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex, 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 486dbd2..75a0913 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 @@ -252,9 +252,12 @@ public SpeciesFrequencyUI(TuttiUI parentUI) { verticalAlignment='{SwingConstants.CENTER}' constraints="BorderLayout.NORTH"> <JLabel id='copyToSizeTableLabel'/> - <JRadioButton id='copyAllButton'/> - <JRadioButton id='copyNothingButton'/> - <JRadioButton id='copySizesButton'/> + <JRadioButton id='copyAllButton' + onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.ALL)'/> + <JRadioButton id='copyNothingButton' + onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.NOTHING)'/> + <JRadioButton id='copySizesButton' + onActionPerformed='model.setCopyIndividualObservationMode(CopyIndividualObservationMode.SIZE)'/> </HBox> <JScrollPane id='obsPanel' constraints="BorderLayout.CENTER"> <JXTable id='obsTable'/> 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 a0ab515..1cb1707 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 @@ -711,15 +711,6 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci // // } - { // Species column - - Decorator<Species> speciesDecorator = getDecorator( - Species.class, DecoratorService.FROM_PROTOCOL); - addComboDataColumnToModel(columnModel, - IndividualObservationBatchTableModel.SPECIES, - speciesDecorator, getDataContext().getReferentSpeciesWithSurveyCode()); - } - { // Weight column addFloatColumnToModel(columnModel, 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 064340d..4a15261 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 @@ -97,6 +97,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_CAN_EDIT_LENGTH_STEP = "canEditLengthStep"; + public static final String PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE = "copyIndividualObservationMode"; + /** * Fill mode. * @@ -212,6 +214,13 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa */ protected boolean canEditLengthStep = true; + + /** + * What to copy from the individual observations to the data table + * @since 4.5 + */ + protected CopyIndividualObservationMode copyIndividualObservationMode; + /** * To store graph series. * @@ -226,7 +235,6 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa */ protected final List<Caracteristic> defaultCaracteristic; - public SpeciesFrequencyUIModel(WeightUnit weightUnit, SampleCategoryModel sampleCategoryModel, List<Caracteristic> defaultCaracteristic) { @@ -515,6 +523,16 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_USE_RTP, oldValue, useRTP); } + public CopyIndividualObservationMode getCopyIndividualObservationMode() { + return copyIndividualObservationMode; + } + + public void setCopyIndividualObservationMode(CopyIndividualObservationMode copyIndividualObservationMode) { + Object oldValue = getCopyIndividualObservationMode(); + this.copyIndividualObservationMode = copyIndividualObservationMode; + firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, oldValue, copyIndividualObservationMode); + } + public Set<SpeciesFrequencyRowModel> getEmptyRows() { return emptyRows; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.