This is an automated email from the git hooks/post-receive script. New commit to branch feature/7157 in repository tutti. See http://git.codelutin.com/tutti.git commit 90e2034f5e5a6de89f6bbd7d791494f1eb395a9d Author: Kevin Morin <morin@codelutin.com> Date: Mon Dec 21 16:10:28 2015 +0100 permettre d'accéder aux mensuration directement après avroi créé le lot (refs #7157) --- .../filtered-resources/tutti-help-fr.properties | 26 +-------- .../operation/catches/EditCatchesUIHandler.java | 22 ++++++-- .../species/create/CreateSpeciesBatchUI.css | 10 ++++ .../species/create/CreateSpeciesBatchUI.jaxx | 1 + .../CreateSpeciesBatchAndFrequenciesAction.java | 66 ++++++++++++++++++++++ .../frequency/SpeciesFrequencyCellComponent.java | 20 ++++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 + 8 files changed, 115 insertions(+), 36 deletions(-) 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 0ac34f5..1c9e5c0 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 @@ -1,28 +1,5 @@ -### -# #%L -# Tutti :: UI -# $Id:$ -# $HeadURL:$ -# %% -# Copyright (C) 2012 - 2015 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Tue Mar 31 13:19:15 CEST 2015 +#Mon Dec 21 14:56:20 CET 2015 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -69,6 +46,7 @@ tutti.createSpeciesBatch.action.addSpecies.help=editFishingOperation.html\#captu tutti.createSpeciesBatch.action.cancel.help=editFishingOperation.html\#captureEspecesCreeLotActions tutti.createSpeciesBatch.action.saveAndClose.help=editFishingOperation.html\#captureEspecesCreeLotActions tutti.createSpeciesBatch.action.saveAndContinue.help=editFishingOperation.html\#captureEspecesCreeLotActions +tutti.createSpeciesBatch.action.saveAndFrequencies.help= tutti.createSpeciesBatch.field.batchCount.help=editFishingOperation.html\#captureEspecesCreeLotFields tutti.createSpeciesBatch.field.batchWeight.help=editFishingOperation.html\#captureEspecesCreeLotFields tutti.createSpeciesBatch.field.categoryField.help=editFishingOperation.html\#captureEspecesCreeLotFields diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java index a675d4d..39201b7 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java @@ -28,6 +28,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchR import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyCellComponent; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel; +import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchTableModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyCellComponent; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler; @@ -38,16 +39,15 @@ import jaxx.runtime.swing.CardLayout2Ext; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.JXTitledPanel; import org.nuiton.jaxx.application.swing.tab.TabContentModel; import org.nuiton.jaxx.application.swing.tab.TabHandler; -import javax.swing.JComponent; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; +import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.table.TableColumn; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Set; @@ -433,6 +433,20 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi ); } + public void editSpeciesFrequencies() { + JXTable speciesTable = ui.getSpeciesTabContent().getTable(); + int selectedRow = speciesTable.getSelectedRow(); + + TableColumn frequenciesColumn = speciesTable.getColumn(SpeciesBatchTableModel.COMPUTED_NUMBER); + int frequenciesColumnIndex = speciesTable.getColumns(false).indexOf(frequenciesColumn); + + SpeciesFrequencyCellComponent.FrequencyCellEditor frequencyCellEditor = + (SpeciesFrequencyCellComponent.FrequencyCellEditor) speciesTable.getCellEditor(selectedRow, frequenciesColumnIndex); + + frequencyCellEditor.initEditor(speciesTable, selectedRow, frequenciesColumnIndex); + frequencyCellEditor.startEdit(); + } + public void editSpeciesFrequencies(SpeciesFrequencyCellComponent.FrequencyCellEditor editor) { SpeciesFrequencyUI frequencyEditor = ui.getSpeciesTabFrequencyEditor(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css index 0b609ce..f6d1682 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css @@ -166,6 +166,16 @@ NumberEditor { _help: {"tutti.createSpeciesBatch.action.saveAndClose.help"}; } +#saveAndFrequenciesButton { + actionIcon: save; + text: "tutti.createSpeciesBatch.action.saveAndFrequencies"; + toolTipText: "tutti.createSpeciesBatch.action.saveAndFrequencies.tip"; + i18nMnemonic: "tutti.createSpeciesBatch.action.saveAndFrequencies.mnemonic"; + enabled: {model.isValid()}; + _simpleAction: {fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.actions.CreateSpeciesBatchAndFrequenciesAction.class}; + _help: {"tutti.createSpeciesBatch.action.saveAndFrequencies.help"}; +} + #cancelButton { actionIcon: cancel; text: "tutti.createSpeciesBatch.action.cancel"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx index d523757..42f5f3c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx @@ -160,5 +160,6 @@ public CreateSpeciesBatchUI(EditCatchesUI parentUI) { <JButton id='cancelButton'/> <JButton id='saveAndContinueButton'/> <JButton id='saveAndCloseButton'/> + <JButton id='saveAndFrequenciesButton'/> </JPanel> </JPanel> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/actions/CreateSpeciesBatchAndFrequenciesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/actions/CreateSpeciesBatchAndFrequenciesAction.java new file mode 100644 index 0000000..2fee114 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/actions/CreateSpeciesBatchAndFrequenciesAction.java @@ -0,0 +1,66 @@ +package fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.actions; + +/* + * #%L + * Tutti :: UI + * $Id:$ + * $HeadURL:$ + * %% + * Copyright (C) 2012 - 2015 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; +import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI; +import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Created on 3/7/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.15 + */ +public class CreateSpeciesBatchAndFrequenciesAction extends SimpleActionSupport<CreateSpeciesBatchUI> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(CreateSpeciesBatchAndFrequenciesAction.class); + + private static final long serialVersionUID = 1L; + + public CreateSpeciesBatchAndFrequenciesAction(CreateSpeciesBatchUI ui) { + super(ui); + } + + @Override + protected void onActionPerformed(final CreateSpeciesBatchUI ui) { + + if (log.isDebugEnabled()) { + log.debug("Save and Close UI " + ui); + } + + EditCatchesUI parent = ui.getParentContainer(EditCatchesUI.class); + parent.getSpeciesTabContent().getHandler().addBatch(ui.getModel()); + + // close batch creation form + ui.getHandler().onCloseUI(); + + parent.getHandler().editSpeciesFrequencies(); + + } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java index 68e1212..5b85a69 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java @@ -192,6 +192,15 @@ public class SpeciesFrequencyCellComponent extends DefaultTableCellRenderer { return previousSiblingRow; } + public void initEditor(JTable table, int row, int column) { + tableModel = (SpeciesBatchTableModel) table.getModel(); + this.table = table; + columnIdentifier = SpeciesBatchTableModel.COMPUTED_NUMBER; + rowIndex = row; + columnIndex = column; + editRow = tableModel.getEntry(row); + } + public void startEdit() { Preconditions.checkNotNull(tableModel, "No table model assigned."); @@ -296,20 +305,15 @@ public class SpeciesFrequencyCellComponent extends DefaultTableCellRenderer { boolean isSelected, int row, int column) { - tableModel = (SpeciesBatchTableModel) table.getModel(); - this.table = table; - columnIdentifier = SpeciesBatchTableModel.COMPUTED_NUMBER; + + initEditor(table, row, column); + if (log.isDebugEnabled()) { log.debug("Set columnIdentifier (" + column + ") :: " + columnIdentifier.getPropertyName()); } ComputableData<Integer> data = (ComputableData<Integer>) value; component.setComputedOrNotText(data); - rowIndex = row; - columnIndex = column; - - editRow = tableModel.getEntry(row); - return component; } 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 b92d825..67ff152 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 @@ -300,6 +300,9 @@ tutti.createSpeciesBatch.action.saveAndClose.tip= tutti.createSpeciesBatch.action.saveAndContinue= tutti.createSpeciesBatch.action.saveAndContinue.mnemonic= tutti.createSpeciesBatch.action.saveAndContinue.tip= +tutti.createSpeciesBatch.action.saveAndFrequencies= +tutti.createSpeciesBatch.action.saveAndFrequencies.mnemonic= +tutti.createSpeciesBatch.action.saveAndFrequencies.tip= tutti.createSpeciesBatch.field.batchCount= tutti.createSpeciesBatch.field.batchCount.tip= tutti.createSpeciesBatch.field.batchWeight= 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 301f339..aa89919 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 @@ -282,6 +282,9 @@ tutti.createSpeciesBatch.action.saveAndClose.tip=Enregistrer la création du lot tutti.createSpeciesBatch.action.saveAndContinue=Créer tutti.createSpeciesBatch.action.saveAndContinue.mnemonic=C tutti.createSpeciesBatch.action.saveAndContinue.tip=Enregistrer la création du lot espèce et en saisir un autre +tutti.createSpeciesBatch.action.saveAndFrequencies=Créer et Mesurer +tutti.createSpeciesBatch.action.saveAndFrequencies.mnemonic=M +tutti.createSpeciesBatch.action.saveAndFrequencies.tip=Enregistrer la création du lot espèce et saisir les mensurations de ce lot tutti.createSpeciesBatch.field.batchCount=Nombre tutti.createSpeciesBatch.field.batchCount.tip=Saisir le nombre d'individus dans le lot tutti.createSpeciesBatch.field.batchWeight=Poids du lot -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.