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 34425f8d30b0f0ea82cf975584b5b76472fd1e83 Author: Kevin Morin <morin@codelutin.com> Date: Thu Feb 18 18:04:43 2016 +0100 début de réarrangement de l'écran des mensurations refs #6926 --- .../entities/protocol/TuttiProtocols.java | 4 +- tutti-ui-swing/src/license/THIRD-PARTY.properties | 2 +- .../filtered-resources/tutti-help-fr.properties | 3 +- .../catches/FrequencyConfigurationMode.java | 5 +- .../species/frequency/SpeciesFrequencyUI.jaxx | 295 +++++++++++---------- .../species/frequency/SpeciesFrequencyUI.jcss | 66 +++-- .../frequency/SpeciesFrequencyUIHandler.java | 2 +- .../species/frequency/SpeciesFrequencyUIModel.java | 40 ++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 10 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 16 +- 10 files changed, 266 insertions(+), 177 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java index 856c34f..cf4fe14 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java @@ -119,8 +119,8 @@ public class TuttiProtocols extends AbstractTuttiProtocols { } } catch (Exception e) { - if (log.isInfoEnabled()) { - log.info("Protocol needs to be migrated", e); + if (log.isErrorEnabled()) { + log.error("Error loading protocol, try to migrate", e); } result = migrateProtocol(file); diff --git a/tutti-ui-swing/src/license/THIRD-PARTY.properties b/tutti-ui-swing/src/license/THIRD-PARTY.properties index 901091a..f285228 100644 --- a/tutti-ui-swing/src/license/THIRD-PARTY.properties +++ b/tutti-ui-swing/src/license/THIRD-PARTY.properties @@ -18,7 +18,7 @@ # - GNU General Public License - Version 2 with the class path exception # - GNU General Public License, Version 2 with the Classpath Exception # - GNU Lesser General Public Licence -# - GNU Lesser General Public License (LGPL), version 2.1 +# - GNU Lesser General Public License (LGPL), version 2.1 or later # - GNU Lesser Public License # - GNU Library or Lesser General Public License # - General Public License (GPL) diff --git a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties index 2bdadf9..7940240 100644 --- a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties +++ b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties @@ -22,7 +22,6 @@ # #L% ### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Mon Feb 08 23:54:51 CET 2016 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -326,10 +325,12 @@ tutti.editSpeciesFrequencies.action.generate.help=editFishingOperation.html\#cap tutti.editSpeciesFrequencies.action.reset.help=editFishingOperation.html\#captureEspecesMensurationActions tutti.editSpeciesFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureEspecesMensurationActions tutti.editSpeciesFrequencies.action.saveAndContinue.help=editFishingOperation.html\#captureEspecesMensurationActions +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.help= tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureEspecesMensurationFields tutti.editSpeciesFrequencies.field.maxStep.help=editFishingOperation.html\#captureEspecesMensurationFields tutti.editSpeciesFrequencies.field.minStep.help=editFishingOperation.html\#captureEspecesMensurationFields tutti.editSpeciesFrequencies.field.mode.autoGen.help=editFishingOperation.html\#captureEspecesMensurationFields +tutti.editSpeciesFrequencies.field.mode.frequencyMode.help= tutti.editSpeciesFrequencies.field.mode.rafale.help=editFishingOperation.html\#captureEspecesMensurationFields tutti.editSpeciesFrequencies.field.mode.simple.help=editFishingOperation.html\#captureEspecesMensurationFields tutti.editSpeciesFrequencies.field.mode.simpleCounting.help=editFishingOperation.html\#captureEspecesMensurationFields diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/FrequencyConfigurationMode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/FrequencyConfigurationMode.java index e15f303..f5fcfad 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/FrequencyConfigurationMode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/FrequencyConfigurationMode.java @@ -29,7 +29,8 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches; * @since 3.0 */ public enum FrequencyConfigurationMode { + SIMPLE_COUNTING, + FREQUENCIES, AUTO_GEN, - RAFALE, - SIMPLE_COUNTING + RAFALE } 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 f9a7941..d4d6852 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 @@ -81,80 +81,24 @@ public SpeciesFrequencyUI(TuttiUI parentUI) { <SaveAndCloseSpeciesFrequencyAction id="saveAndCloseAction" constructorParams="this"/> <SaveAndContinueSpeciesFrequencyAction id="saveAndContinueAction" constructorParams="this"/> - <JPanel id='configurationPanel' layout='{new BorderLayout()}' constraints='BorderLayout.NORTH'> - - <VBox id='modePanel' constraints='BorderLayout.WEST' verticalAlignment='{SwingConstants.CENTER}'> - <JRadioButton id='autoGenModeButton' - onActionPerformed='model.setConfigurationMode(FrequencyConfigurationMode.AUTO_GEN)'/> - <JRadioButton id='rafaleModeButton' - onActionPerformed='model.setConfigurationMode(FrequencyConfigurationMode.RAFALE)'/> - <JRadioButton id='simpleCountingModeButton' - onActionPerformed='model.setConfigurationMode(FrequencyConfigurationMode.SIMPLE_COUNTING)'/> - </VBox> - - <JPanel id='modeConfigurationPanel' constraints='BorderLayout.CENTER'> - <JPanel id='autoGenModePanel' constraints='"autoGenMode"'> - <Table fill='both' constraints='BorderLayout.SOUTH'> - <!-- Min step--> - <row> - <cell anchor='west'> - <JLabel id='minStepLabel'/> - </cell> - <cell weightx='1.0'> - <NumberEditor id='minStepField' constructorParams='this'/> - </cell> - </row> - <!-- Max step--> - <row> - <cell anchor='west'> - <JLabel id='maxStepLabel'/> - </cell> - <cell weightx='1.0'> - <NumberEditor id='maxStepField' constructorParams='this'/> - </cell> - </row> - <!-- Actions --> - <row> - <cell columns='2'> - <JPanel layout='{new GridLayout(1, 0)}'> - <JButton id='generateButton'/> - </JPanel> - </cell> - </row> - </Table> - </JPanel> - <JPanel id='rafaleModePanel' constraints='"rafaleMode"'> - <Table fill='both' constraints='BorderLayout.SOUTH'> - <!-- Rafale step--> - <row> - <cell weightx='1.0'> - <JLabel id='rafaleStepLabel'/> - </cell> - </row> - <row> - <cell weightx='1.0'> - <NumberEditor id='rafaleStepField' constructorParams='this'/> - </cell> - </row> - </Table> - </JPanel> - <JPanel id='simpleCountingModePanel' constraints='"simpleCountingMode"' layout='{new BorderLayout()}'> - <JLabel id='simpleCountingModeLabel' constraints='BorderLayout.CENTER'/> - </JPanel> - </JPanel> - - <Table id="lengthstepSettingsBlock" fill='both' constraints='BorderLayout.SOUTH'> - <row> - <cell columns='6'> - <JSeparator/> - </cell> - </row> - <!-- length step caracteristic --> - <row> - <cell anchor='west'> + <Table id='configurationPanel' fill="both" anchor="west" constraints='BorderLayout.CENTER'> + + <row> + + <cell weightx="1"> + <HBox id='frequencyModePanel' horizontalAlignment='{SwingConstants.LEFT}'> + <JRadioButton id='simpleCountingModeButton' + onActionPerformed='model.setConfigurationMode(FrequencyConfigurationMode.SIMPLE_COUNTING)'/> + <JRadioButton id='frequencyModeButton' + onActionPerformed='model.setConfigurationMode(FrequencyConfigurationMode.FREQUENCIES)'/> + </HBox> + </cell> + + <cell> + + <!-- length step caracteristic --> + <HBox id="lengthStepCaracteristicPanel" styleClass="visibleIfFrequencies"> <JLabel id='lengthStepCaracteristicLabel'/> - </cell> - <cell weightx='1.0' columns='5'> <JPanel layout='{new BorderLayout()}'> <BeanFilterableComboBox id='lengthStepCaracteristicComboBox' constructorParams='this' @@ -162,72 +106,151 @@ public SpeciesFrequencyUI(TuttiUI parentUI) { constraints='BorderLayout.CENTER'/> <JButton id='addLengthStepCaracteristicButton' constraints='BorderLayout.EAST'/> </JPanel> - </cell> - </row> - <!-- Step --> - <row> - <cell anchor='west'> <JLabel id='stepLabel'/> - </cell> - <cell weightx='1.0'> <NumberEditor id='stepField' constructorParams='this'/> - </cell> - <cell anchor='west'> - <JLabel id='totalNumberLabel'/> - </cell> - <cell weightx='1.0'> - <JTextField id='totalNumberField'/> - </cell> - <cell anchor='west'> - <JLabel id='totalWeightLabel'/> - </cell> - <cell weightx='1.0'> - <ComputableDataEditor id='totalWeightField' genericType="Float" constructorParams='this'/> - </cell> - </row> - </Table> - </JPanel> + </HBox> - <JPanel id='dataFieldPanel' constraints='BorderLayout.CENTER'> - <JSplitPane constraints='"lengthCaracteristicPmfm"' id="firstSplitPane"> - <JSplitPane id="secondSplitPane"> - <JScrollPane id='logsScrollPane'> - <JXTable id='logsTable'/> - </JScrollPane> - <JScrollPane id='tableScrollPane'> - <JXTable id='table'/> - </JScrollPane> - </JSplitPane> - <JPanel id="histogramPanel" layout="{new BorderLayout()}"> - </JPanel> - </JSplitPane> - - <Table constraints='"noLengthCaracteristicPmfm"' fill='horizontal'> - <row> - <cell columns='2'> - <JPanel id='dataInFrequenciesWarningContainer' layout='{new BorderLayout(10, 10)}'> - <JLabel id='dataInFrequenciesWarning' constraints='BorderLayout.CENTER'/> - </JPanel> - </cell> - </row> - <row> - <cell> - <JLabel id='simpleCountingNumberLabel'/> - </cell> - <cell weightx='1'> - <NumberEditor id='simpleCountingNumberField' constructorParams='this'/> - </cell> - </row> - <row> - <cell> - <JLabel id='simpleCountingWeightLabel'/> - </cell> - <cell weightx='1'> - <NumberEditor id='simpleCountingWeightField' constructorParams='this'/> - </cell> - </row> - </Table> - </JPanel> + </cell> + + <cell rows="3" weightx="10"> + <JPanel id="histogramPanel" layout="{new BorderLayout()}" styleClass="visibleIfFrequencies"/> + </cell> + </row> + + <row> + <cell columns="2"> + <JSeparator styleClass="visibleIfFrequencies" /> + </cell> + </row> + + <row> + <cell columns="2"> + <Table styleClass="visibleIfFrequencies"> + <row> + <cell> + <VBox id='modePanel' verticalAlignment='{SwingConstants.CENTER}'> + <JRadioButton id='autoGenModeButton' + onActionPerformed='model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.AUTO_GEN)'/> + <JRadioButton id='rafaleModeButton' + onActionPerformed='model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.RAFALE)'/> + </VBox> + </cell> + + <cell> + <JPanel id='modeConfigurationPanel'> + <Table id='autoGenModePanel' fill='both' constraints='"autoGenMode"'> + <!-- Min step--> + <row> + <cell anchor='west'> + <JLabel id='minStepLabel'/> + </cell> + <cell weightx='1.0'> + <NumberEditor id='minStepField' constructorParams='this'/> + </cell> + </row> + <!-- Max step--> + <row> + <cell anchor='west'> + <JLabel id='maxStepLabel'/> + </cell> + <cell weightx='1.0'> + <NumberEditor id='maxStepField' constructorParams='this'/> + </cell> + </row> + <!-- Actions --> + <row> + <cell columns='2'> + <JPanel layout='{new GridLayout(1, 0)}'> + <JButton id='generateButton'/> + </JPanel> + </cell> + </row> + </Table> + <Table id='rafaleModePanel' fill='both' constraints='"rafaleMode"'> + <!-- Rafale step--> + <row> + <cell weightx='1.0'> + <JLabel id='rafaleStepLabel'/> + </cell> + </row> + <row> + <cell weightx='1.0'> + <NumberEditor id='rafaleStepField' constructorParams='this'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + + <cell weightx="1"> + <JLabel id="samplingWarningLabel"/> + </cell> + </row> + </Table> + </cell> + </row> + + <row> + <cell columns="3"> + <JSeparator styleClass="visibleIfFrequencies" /> + </cell> + </row> + + <row weighty="1"> + <cell columns="3"> + <JPanel id='dataFieldPanel'> + <JSplitPane constraints='"lengthCaracteristicPmfm"' id="firstSplitPane"> + <JPanel layout="{new BorderLayout()}"> + <HBox id="lengthstepSettingsBlock" constraints='BorderLayout.NORTH'> + <!-- Step --> + <JLabel id='totalNumberLabel'/> + <JTextField id='totalNumberField'/> + <JLabel id='totalWeightLabel'/> + <ComputableDataEditor id='totalWeightField' genericType="Float" constructorParams='this'/> + </HBox> + <JSplitPane id="secondSplitPane" constraints='BorderLayout.CENTER'> + <JScrollPane id='logsScrollPane'> + <JXTable id='logsTable'/> + </JScrollPane> + <JScrollPane id='tableScrollPane'> + <JXTable id='table'/> + </JScrollPane> + </JSplitPane> + </JPanel> + <JScrollPane id='obsPanel'> + <JXTable id='obsTable'/> + </JScrollPane> + </JSplitPane> + + <Table id="simpleCountingNumberPanel" constraints='"noLengthCaracteristicPmfm"' fill='horizontal'> + <row> + <cell columns='2'> + <JPanel id='dataInFrequenciesWarningContainer' layout='{new BorderLayout(10, 10)}'> + <JLabel id='dataInFrequenciesWarning' constraints='BorderLayout.CENTER'/> + </JPanel> + </cell> + </row> + <row> + <cell> + <JLabel id='simpleCountingNumberLabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='simpleCountingNumberField' constructorParams='this'/> + </cell> + </row> + <row> + <cell> + <JLabel id='simpleCountingWeightLabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='simpleCountingWeightField' constructorParams='this'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + </Table> <!-- actions --> <JPanel id='actionPanel' layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH' styleClass="buttonPanel"> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss index 3b4a877..b22a514 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss @@ -42,6 +42,10 @@ ComputableDataEditor { computedDataColor: {handler.getConfig().getColorComputedWeights()}; } +.visibleIfFrequencies { + visible: {!model.isSimpleCountingMode()}; +} + #editSpeciesFrequenciesTopPanel { _help: {"tutti.editSpeciesFrequencies.help"}; } @@ -151,16 +155,22 @@ ComputableDataEditor { _help: {"tutti.editSpeciesFrequencies.field.rafaleStep.help"}; } +#samplingWarningLabel { + foreground: {Color.RED}; + text: "Prélèvement"; +} + #configurationPanel { border: {new TitledBorder(null, null)}; } #modeConfigurationLayout { - selected: {String.valueOf(mode.getSelectedValue())}; + selected: {String.valueOf(frequenciesMode.getSelectedValue())}; } #modeConfigurationPanel { - layout: {modeConfigurationLayout}; + layout: {modeConfigurationLayout}; + border: {new TitledBorder(null, null)}; } #simpleCountingModeLabel { @@ -210,6 +220,10 @@ ComputableDataEditor { enabled: {model.getLengthStepCaracteristic() != null && model.getStep() > 0f}; } +#simpleCountingNumberPanel { + border: { new TitledBorder(null, null) }; +} + #simpleCountingNumberLabel { text: "tutti.editSpeciesFrequencies.field.simpleCountingNumber"; toolTipText: "tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip"; @@ -251,36 +265,46 @@ ComputableDataEditor { text: "tutti.editSpeciesFrequencies.simpleCountingAndFrequencies"; } +#simpleCountingModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.simpleCounting"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip"; + i18nMnemonic: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic"; + value: "simpleCountingMode"; + selected: {model.isSimpleCountingMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.simpleCounting.help"}; +} + +#frequencyModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.frequencyMode"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip"; + i18nMnemonic: "tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic"; + value: "frequenciesMode"; + selected: {model.isFrequenciesMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.frequencyMode.help"}; +} + #autoGenModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.autoGen"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.autoGen.tip"; - i18nMnemonic: "tutti.editSpeciesFrequencies.field.mode.autoGen.mnemonic"; + text: "tutti.editSpeciesFrequencies.field.frequencyMode.autoGen"; + toolTipText: "tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip"; + i18nMnemonic: "tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic"; value: "autoGenMode"; selected: {model.isAutoGenMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.autoGen.help"}; + buttonGroup: "frequenciesMode"; + _help: {"tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.help"}; } #rafaleModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.rafale"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.rafale.tip"; - i18nMnemonic: "tutti.editSpeciesFrequencies.field.mode.rafale.mnemonic"; + text: "tutti.editSpeciesFrequencies.field.frequencyMode.rafale"; + toolTipText: "tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip"; + i18nMnemonic: "tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic"; value: "rafaleMode"; selected: {model.isRafaleMode()}; - buttonGroup: "mode"; + buttonGroup: "frequenciesMode"; _help: {"tutti.editSpeciesFrequencies.field.mode.rafale.help"}; } -#simpleCountingModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.simpleCounting"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip"; - i18nMnemonic: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic"; - value: "simpleCountingMode"; - selected: {model.isSimpleCountingMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.simpleCounting.help"}; -} - #generateLengthStepsAction { enabled: {model.isCanGenerate()}; } 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 383bbdd..f5da11e 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 @@ -343,7 +343,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci }); // when configuration mode change, let's focus the best component (see http://forge.codelutin.com/issues/4035) - model.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_CONFIGURATION_MODE, new PropertyChangeListener() { + model.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_FREQUENCIES_CONFIGURATION_MODE, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { final FrequencyConfigurationMode newValue = (FrequencyConfigurationMode) evt.getNewValue(); 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 e1cdfb9..eae208e 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 @@ -55,6 +55,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_CONFIGURATION_MODE = "configurationMode"; + public static final String PROPERTY_FREQUENCIES_CONFIGURATION_MODE = "frequenciesConfigurationMode"; + public static final String PROPERTY_STEP = "step"; private static final String PROPERTY_MIN_STEP = "minStep"; @@ -63,6 +65,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_CAN_GENERATE = "canGenerate"; + public static final String PROPERTY_FREQUENCIES_MODE = "frequenciesMode"; + public static final String PROPERTY_AUTO_GEN_MODE = "autoGenMode"; public static final String PROPERTY_RAFALE_MODE = "rafaleMode"; @@ -97,6 +101,13 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa protected FrequencyConfigurationMode configurationMode; /** + * Fill mode. + * + * @since 4.5 + */ + protected FrequencyConfigurationMode frequenciesConfigurationMode = FrequencyConfigurationMode.AUTO_GEN; + + /** * Batch that contains frequencies. * * @since 0.2 @@ -286,10 +297,21 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public void setConfigurationMode(FrequencyConfigurationMode configurationMode) { Object oldValue = getConfigurationMode(); this.configurationMode = configurationMode; + firePropertyChange(PROPERTY_FREQUENCIES_MODE, null, isFrequenciesMode()); + firePropertyChange(PROPERTY_SIMPLE_COUNTING_MODE, null, isSimpleCountingMode()); firePropertyChange(PROPERTY_CONFIGURATION_MODE, oldValue, configurationMode); + } + + public FrequencyConfigurationMode getFrequenciesConfigurationMode() { + return frequenciesConfigurationMode; + } + + public void setFrequenciesConfigurationMode(FrequencyConfigurationMode frequenciesConfigurationMode) { + Object oldValue = getFrequenciesConfigurationMode(); + this.frequenciesConfigurationMode = frequenciesConfigurationMode; firePropertyChange(PROPERTY_AUTO_GEN_MODE, null, isAutoGenMode()); firePropertyChange(PROPERTY_RAFALE_MODE, null, isRafaleMode()); - firePropertyChange(PROPERTY_SIMPLE_COUNTING_MODE, null, isSimpleCountingMode()); + firePropertyChange(PROPERTY_FREQUENCIES_CONFIGURATION_MODE, oldValue, getFrequenciesConfigurationMode()); } public Float getStep() { @@ -374,16 +396,20 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_NEXT_EDITABLE_ROW_INDEX, oldValue, nextEditableRowIndex); } - public boolean isAutoGenMode() { - return FrequencyConfigurationMode.AUTO_GEN == configurationMode; + public boolean isSimpleCountingMode() { + return FrequencyConfigurationMode.SIMPLE_COUNTING == configurationMode; } - public boolean isRafaleMode() { - return FrequencyConfigurationMode.RAFALE == configurationMode; + public boolean isFrequenciesMode() { + return FrequencyConfigurationMode.FREQUENCIES == configurationMode; } - public boolean isSimpleCountingMode() { - return FrequencyConfigurationMode.SIMPLE_COUNTING == configurationMode; + public boolean isAutoGenMode() { + return FrequencyConfigurationMode.AUTO_GEN == frequenciesConfigurationMode; + } + + public boolean isRafaleMode() { + return FrequencyConfigurationMode.RAFALE == frequenciesConfigurationMode; } public boolean isCanGenerate() { diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index f717239..b5f8ed3 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1,5 +1,6 @@ <<=
= +Pr\\u00e9l\\u00e8vement= application.action.create.error= application.error.ui.business.warning= jaxx.application.action.create.error= @@ -1445,6 +1446,12 @@ tutti.editSpeciesFrequencies.askBeforeSave.message= tutti.editSpeciesFrequencies.askBeforeSave.title= tutti.editSpeciesFrequencies.error.itchyometer.bad.record= tutti.editSpeciesFrequencies.error.length.doublon= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic= +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic= +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip= tutti.editSpeciesFrequencies.field.lengthStepCaracteristic= tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip= tutti.editSpeciesFrequencies.field.maxStep= @@ -1454,6 +1461,9 @@ tutti.editSpeciesFrequencies.field.minStep.tip= tutti.editSpeciesFrequencies.field.mode.autoGen= tutti.editSpeciesFrequencies.field.mode.autoGen.mnemonic= tutti.editSpeciesFrequencies.field.mode.autoGen.tip= +tutti.editSpeciesFrequencies.field.mode.frequencyMode= +tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic= +tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip= tutti.editSpeciesFrequencies.field.mode.rafale= tutti.editSpeciesFrequencies.field.mode.rafale.mnemonic= tutti.editSpeciesFrequencies.field.mode.rafale.tip= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index af0844e..183512f 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1,3 +1,4 @@ +Pr\\u00e9l\\u00e8vement= application.action.create.error= application.error.ui.business.warning= jaxx.application.action.create.error= @@ -1366,18 +1367,21 @@ tutti.editSpeciesFrequencies.askBeforeSave.message=La saisie comporte des classe tutti.editSpeciesFrequencies.askBeforeSave.title=Confirmer l'enregistrement des mensurations tutti.editSpeciesFrequencies.error.itchyometer.bad.record=La mesure provenant de l'ichtyomètre n'est pas valide (la donnée est peut-être corrompue) \:<br/><ul><li>Enregistrement \: <strong>%s</strong></li><li>CRC \: <strong>%s</strong></li><li>CRC calculé \: <strong>%s</strong></li></ul> tutti.editSpeciesFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations. +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen=Génération des classes +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic=G +tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip=\=Mode où toutes les classes de taille sont générées +tutti.editSpeciesFrequencies.field.frequencyMode.rafale=Mode "rafale" +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic=l +tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip=Mode où on ne saisit uniquement la classe de taille (les nombres seront alors incrémentés...) tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=Type de mesure tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus tutti.editSpeciesFrequencies.field.maxStep=Classe max tutti.editSpeciesFrequencies.field.maxStep.tip=Taille maximale mesurée tutti.editSpeciesFrequencies.field.minStep=Classe min tutti.editSpeciesFrequencies.field.minStep.tip=Taille minimale mesurée -tutti.editSpeciesFrequencies.field.mode.autoGen=Génération des classes -tutti.editSpeciesFrequencies.field.mode.autoGen.mnemonic=G -tutti.editSpeciesFrequencies.field.mode.autoGen.tip=Mode où toutes les classes de taille sont générées -tutti.editSpeciesFrequencies.field.mode.rafale=Mode "rafale" -tutti.editSpeciesFrequencies.field.mode.rafale.mnemonic=l -tutti.editSpeciesFrequencies.field.mode.rafale.tip=Mode où on ne saisit uniquement la classe de taille (les nombres seront alors incrémentés...) +tutti.editSpeciesFrequencies.field.mode.frequencyMode=Mensuration +tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic=M +tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip=Mode par défaut si la classe de taille est renseignée dans le protocole. tutti.editSpeciesFrequencies.field.mode.simpleCounting=Mode simple dénombrement tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic=b tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip=Mode par défaut si la classe de taille n'est pas renseignée dans le protocole.
-- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.