This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit c0e4038a33ea0522311b0fb623d75764303f9f73 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Nov 25 11:15:02 2014 +0100 fixes #6153: [CAPTURE] rendre plus visible le bouton pièces jointes --- .../swing/action/EditFishingOperationAction.java | 13 ++++++ .../content/operation/catches/EditCatchesUI.css | 1 + .../operation/catches/EditCatchesUIHandler.java | 23 ++++++++++- .../catches/accidental/AccidentalBatchUI.css | 4 ++ .../catches/accidental/AccidentalBatchUI.jaxx | 4 ++ .../accidental/AccidentalBatchUIHandler.java | 1 + .../operation/catches/benthos/BenthosBatchUI.css | 4 ++ .../operation/catches/benthos/BenthosBatchUI.jaxx | 4 ++ .../catches/benthos/BenthosBatchUIHandler.java | 47 +--------------------- .../IndividualObservationBatchUI.css | 4 ++ .../IndividualObservationBatchUI.jaxx | 4 ++ .../IndividualObservationBatchUIHandler.java | 1 + .../catches/marinelitter/MarineLitterBatchUI.css | 4 ++ .../catches/marinelitter/MarineLitterBatchUI.jaxx | 4 ++ .../marinelitter/MarineLitterBatchUIHandler.java | 2 +- .../operation/catches/species/SpeciesBatchUI.css | 4 ++ .../operation/catches/species/SpeciesBatchUI.jaxx | 4 ++ .../catches/species/SpeciesBatchUIHandler.java | 2 +- .../ui/swing/util/attachment/ButtonAttachment.java | 20 ++++++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 8 ++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 9 ++++- 21 files changed, 111 insertions(+), 56 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java index c4614b3..791e052 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/EditFishingOperationAction.java @@ -355,6 +355,14 @@ public class EditFishingOperationAction extends AbstractTuttiAction<FishingOpera } } + if (canContinue) { + + // always close attachments + FishingOperationsUI ui = getUI(); + ui.getCatchesTabContent().getHandler().closeAttachments(); + ui.getFishingOperationTabContent().getFishingOperationAttachmentsButton().onCloseUI(); + } + return canContinue; } @@ -386,6 +394,11 @@ public class EditFishingOperationAction extends AbstractTuttiAction<FishingOpera // nothing to display + // close fishing operation ui + ui.getFishingOperationTabContent().getHandler().onCloseUI(); + // close catch ui + ui.getCatchesTabContent().getHandler().onCloseUI(); + ui.remove(form); // just display <no trait!> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css index 8a9d97b..098681d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css @@ -48,6 +48,7 @@ ComputableDataEditor { #catchesCaracteristicsAttachmentsButton { enabled: {model.getObjectId() != null}; + toolTipText: "tutti.editCatchBatch.action.attachments.tip"; } #catchesCaracteristicsTabPane { 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 33d2073..93ef048 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 @@ -48,7 +48,10 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTabbedPane; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import java.awt.Color; +import java.awt.Component; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Set; @@ -162,6 +165,22 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi setCustomTab(5, ui.getAccidentalTabContent().getModel()); getTabPanel().setSelectedIndex(1); + // when internal tab change, close any attachments popup + getTabPanel().addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + closeAttachments(); + } + }); + } + + public void closeAttachments() { + ui.getCatchesCaracteristicsAttachmentsButton().onCloseUI(); + ui.getSpeciesTabContent().getSpeciesBatchAttachmentsButton().onCloseUI(); + ui.getBenthosTabContent().getBenthosBatchAttachmentsButton().onCloseUI(); + ui.getMarineLitterTabContent().getMarineLitterBatchAttachmentsButton().onCloseUI(); + ui.getIndividualObservationTabContent().getIndividualObservationBatchAttachmentsButton().onCloseUI(); + ui.getAccidentalTabContent().getAccidentalBatchAttachmentsButton().onCloseUI(); } @Override @@ -190,6 +209,7 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi closeUI(ui.getBenthosTabContent()); closeUI(ui.getMarineLitterTabContent()); closeUI(ui.getAccidentalTabContent()); + closeUI(ui.getIndividualObservationTabContent()); } @Override @@ -239,7 +259,8 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi @Override public boolean onHideTab(int currentIndex, int newIndex) { - ui.getCatchesCaracteristicsAttachmentsButton().onCloseUI(); + closeAttachments(); + //FIXME 20130203 kmorin: cannot change tab if model is modified // (I do not even know why it is set to modified and have no time // before the demo) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css index 0e6bbe8..2154d36 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css @@ -37,6 +37,10 @@ NumberEditor { borderPainted: false; } +#accidentalBatchAttachmentsButton { + toolTipText: "tutti.editAccidentalBatch.action.attachments.tip"; +} + #tablePopup { label: "tutti.editAccidentalBatch.title.batchActions"; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx index e23647e..c45ffb4 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx @@ -25,8 +25,10 @@ <import> fr.ifremer.tutti.ui.swing.TuttiHelpBroker + fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment org.jdesktop.swingx.JXTable @@ -57,6 +59,8 @@ public AccidentalBatchUI(TuttiUI<?,?> parentUI) { <JToolBar id='accidentalBatchTabToolBar'> <JButton id='importMultiPostButton'/> <JButton id='exportMultiPostButton'/> + <ButtonAttachment id='accidentalBatchAttachmentsButton' + constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> <JPopupMenu id='tablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java index f9bbd9c..de8dc38 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java @@ -354,6 +354,7 @@ public class AccidentalBatchUIHandler if (log.isDebugEnabled()) { log.debug("closing: " + ui); } + ui.getAccidentalBatchAttachmentsButton().onCloseUI(); } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css index beb6d52..5d44d45 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css @@ -47,6 +47,10 @@ ComputableDataEditor { borderPainted: false; } +#benthosBatchAttachmentsButton { + toolTipText: "tutti.editBenthosBatch.action.attachments.tip"; +} + #benthosTotalWeightLabel { text: "tutti.editBenthosBatch.field.benthosTotalWeight"; toolTipText: "tutti.editBenthosBatch.field.benthosTotalWeight.tip"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx index d0d4e59..2a398f4 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx @@ -25,10 +25,12 @@ <import><![CDATA[ fr.ifremer.tutti.ui.swing.TuttiHelpBroker + fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor org.jdesktop.swingx.JXTable @@ -62,6 +64,8 @@ public BenthosBatchUI(TuttiUI<?,?> parentUI) { <JToolBar id='benthosBatchTabToolBar'> <JButton id='importMultiPostButton'/> <JButton id='exportMultiPostButton'/> + <ButtonAttachment id='benthosBatchAttachmentsButton' + constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> <JPopupMenu id='tablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java index 093175f..6d8ba7c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java @@ -151,52 +151,6 @@ public class BenthosBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Bent BenthosBatchRowModel.PROPERTY_COMMENT, BenthosBatchRowModel.PROPERTY_ATTACHMENT, BenthosBatchRowModel.PROPERTY_FREQUENCY); - -// qualitative_unsorted_id = -// getContext().getPersistenceService().getEnumerationFile().QUALITATIVE_UNSORTED_ID; -// -// weightUnit = getConfig().getBenthosWeightUnit(); -// -// sampleCategoryModel = getDataContext().getSampleCategoryModel(); -// -// tableFilters = new EnumMap<TableViewMode, RowFilter<BenthosBatchTableModel, Integer>>(TableViewMode.class); -// -// tableFilters.put(TableViewMode.ALL, new RowFilter<BenthosBatchTableModel, Integer>() { -// @Override -// public boolean include(Entry<? extends BenthosBatchTableModel, ? extends Integer> entry) { -// return true; -// } -// }); -// -// tableFilters.put(TableViewMode.ROOT, new RowFilter<BenthosBatchTableModel, Integer>() { -// @Override -// public boolean include(Entry<? extends BenthosBatchTableModel, ? extends Integer> entry) { -// boolean result = false; -// Integer rowIndex = entry.getIdentifier(); -// if (rowIndex != null) { -// BenthosBatchTableModel model = entry.getModel(); -// BenthosBatchRowModel row = model.getEntry(rowIndex); -// result = row != null && row.isBatchRoot(); -// } -// return result; -// } -// }); -// -// tableFilters.put(TableViewMode.LEAF, new RowFilter<BenthosBatchTableModel, Integer>() { -// @Override -// public boolean include(Entry<? extends BenthosBatchTableModel, ? extends Integer> entry) { -// boolean result = false; -// Integer rowIndex = entry.getIdentifier(); -// if (rowIndex != null) { -// BenthosBatchTableModel model = entry.getModel(); -// BenthosBatchRowModel row = model.getEntry(rowIndex); -// result = row != null && row.isBatchLeaf(); -// } -// return result; -// } -// }); -// validationService = getContext().getValidationService(); -// validationCruiseService = getContext().getValidateCruiseOperationsService(); } //------------------------------------------------------------------------// @@ -943,6 +897,7 @@ public class BenthosBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Bent if (log.isDebugEnabled()) { log.debug("Closing: " + ui); } + ui.getBenthosBatchAttachmentsButton().onCloseUI(); } //------------------------------------------------------------------------// diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css index 3d05e6a..69344f9 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css @@ -30,6 +30,10 @@ borderPainted: false; } +#individualObservationBatchAttachmentsButton { + toolTipText: "tutti.editIndividualObservationBatch.action.attachments.tip"; +} + #tablePopup { label: "tutti.editIndividualObservationBatch.title.batchActions"; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.jaxx index 00a4f3e..50b023a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.jaxx @@ -28,8 +28,10 @@ <import> fr.ifremer.tutti.ui.swing.TuttiHelpBroker fr.ifremer.tutti.ui.swing.TuttiUIContext + fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment jaxx.runtime.swing.editor.NumberEditor @@ -63,6 +65,8 @@ public IndividualObservationBatchUI(TuttiUI<?,?> parentUI) { <JToolBar id='individualObservationBatchTabToolBar'> <JButton id='importMultiPostButton'/> <JButton id='exportMultiPostButton'/> + <ButtonAttachment id='individualObservationBatchAttachmentsButton' + constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> <JPopupMenu id='tablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java index 635a714..0236bdb 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java @@ -428,6 +428,7 @@ public class IndividualObservationBatchUIHandler if (log.isDebugEnabled()) { log.debug("closing: " + ui); } + ui.getIndividualObservationBatchAttachmentsButton().onCloseUI(); } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css index e24b0e1..b06c559 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css @@ -40,6 +40,10 @@ ComputableDataEditor { borderPainted: false; } +#marineLitterBatchAttachmentsButton { + toolTipText: "tutti.editMarineLitterBatch.action.attachments.tip"; +} + #marineLitterTotalWeightLabel { text: "tutti.editMarineLitterBatch.field.marineLitterTotalWeight"; toolTipText: "tutti.editMarineLitterBatch.field.marineLitterTotalWeight.tip"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx index 0202565..0a30168 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx @@ -26,8 +26,10 @@ <import> fr.ifremer.tutti.ui.swing.TuttiHelpBroker fr.ifremer.tutti.ui.swing.TuttiUIContext + fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor org.jdesktop.swingx.JXTable @@ -62,6 +64,8 @@ public MarineLitterBatchUI(TuttiUI<?,?> parentUI) { <JToolBar id='marineLitterBatchTabToolBar'> <JButton id='importMultiPostButton'/> <JButton id='exportMultiPostButton'/> + <ButtonAttachment id='marineLitterBatchAttachmentsButton' + constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> <JPopupMenu id='tablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java index 25deea6..d6e833c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java @@ -24,7 +24,6 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; -import fr.ifremer.tutti.service.ValidationService; import org.nuiton.jaxx.application.listener.PropagatePropertyChangeListener; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import fr.ifremer.tutti.type.WeightUnit; @@ -307,6 +306,7 @@ public class MarineLitterBatchUIHandler extends AbstractTuttiBatchTableUIHandler if (log.isDebugEnabled()) { log.debug("closing: " + ui); } + ui.getMarineLitterBatchAttachmentsButton().onCloseUI(); } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css index f25f4ec..e15cd97 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css @@ -47,6 +47,10 @@ ComputableDataEditor { borderPainted: false; } +#speciesBatchAttachmentsButton { + toolTipText: "tutti.editSpeciesBatch.action.attachments.tip"; +} + #speciesTotalWeightLabel { text: "tutti.editSpeciesBatch.field.speciesTotalWeight"; toolTipText: "tutti.editSpeciesBatch.field.speciesTotalWeight.tip"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx index 22cef02..40e7ae2 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx @@ -23,10 +23,12 @@ <import><![CDATA[ fr.ifremer.tutti.ui.swing.TuttiHelpBroker + fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor org.jdesktop.swingx.JXTable @@ -63,6 +65,8 @@ public SpeciesBatchUI(TuttiUI<?,?> parentUI) { <JButton id='importBigfinButton'/> <JButton id='importMultiPostButton'/> <JButton id='exportMultiPostButton'/> + <ButtonAttachment id='speciesBatchAttachmentsButton' + constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> <JPopupMenu id='tablePopup'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java index 9c146ca..6e132a0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java @@ -868,7 +868,6 @@ public class SpeciesBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Spec int type = e.getType(); if (type == TableModelEvent.DELETE || type == TableModelEvent.INSERT || - type == TableModelEvent.INSERT || e.getLastRow() == Integer.MAX_VALUE) { // get column comparator @@ -905,6 +904,7 @@ public class SpeciesBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Spec if (log.isDebugEnabled()) { log.debug("Closing: " + ui); } + ui.getSpeciesBatchAttachmentsButton().onCloseUI(); } //------------------------------------------------------------------------// diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/ButtonAttachment.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/ButtonAttachment.java index 4140ccf..5562449 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/ButtonAttachment.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/ButtonAttachment.java @@ -25,6 +25,8 @@ package fr.ifremer.tutti.ui.swing.util.attachment; import fr.ifremer.tutti.persistence.entities.data.Attachment; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import jaxx.runtime.SwingUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; import javax.swing.JToggleButton; @@ -51,6 +53,9 @@ public class ButtonAttachment extends JToggleButton { private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ButtonAttachment.class); + protected final AttachmentEditorUI popup; private transient PropertyChangeListener listenAttachmentsChanged; @@ -59,10 +64,10 @@ public class ButtonAttachment extends JToggleButton { protected boolean popupMoving; - public ButtonAttachment(TuttiUIContext context, - AttachmentModelAware model) { + public ButtonAttachment(TuttiUIContext context, AttachmentModelAware model) { setIcon(SwingUtil.createActionIcon("edit-attachment")); + setText(t("tutti.attachmentEditor.simpleText")); setToolTipText(t("tutti.attachmentEditor.action.tip")); popup = new AttachmentEditorUI(context); @@ -116,6 +121,9 @@ public class ButtonAttachment extends JToggleButton { } } }); + if (log.isInfoEnabled()) { + log.info("Attach bean: " + model); + } setBean(model); } @@ -150,8 +158,8 @@ public class ButtonAttachment extends JToggleButton { if (model != null) { ((AbstractSerializableBean) model).addPropertyChangeListener(AttachmentModelAware.PROPERTY_ATTACHMENT, getListenAttachmentsChanged()); - List<Attachment> attachment = model.getAttachment(); - setText(ButtonAttachment.getButtonText(attachment)); +// List<Attachment> attachment = model.getAttachment(); +// setText(ButtonAttachment.getButtonText(attachment)); } } @@ -160,8 +168,8 @@ public class ButtonAttachment extends JToggleButton { listenAttachmentsChanged = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - List<Attachment> attachment = (List<Attachment>) evt.getNewValue(); - setText(getButtonText(attachment)); +// List<Attachment> attachment = (List<Attachment>) evt.getNewValue(); +// setText(getButtonText(attachment)); if (!popup.isVisible()) { init(); } 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 d58638d..35b8461 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 @@ -38,6 +38,7 @@ tutti.askToSaveCatch.message= tutti.askToSaveCatch.title= tutti.askToSaveCatchBeforeExport.help= tutti.askToSaveCatchBeforeImport.help= +tutti.attachmentEditor.action= tutti.attachmentEditor.action.add.mnemonic= tutti.attachmentEditor.action.add.tip= tutti.attachmentEditor.action.closeAttachment.tip= @@ -59,6 +60,7 @@ tutti.attachmentEditor.saveAttachment.button= tutti.attachmentEditor.saveAttachment.error.message= tutti.attachmentEditor.saveAttachment.success.message= tutti.attachmentEditor.saveAttachment.title= +tutti.attachmentEditor.simpleText= tutti.attachmentEditor.text= tutti.attachmentEditor.title= tutti.caracteristicMapEditor.none.tip= @@ -359,6 +361,7 @@ tutti.dbManager.title.choose.dbImportFile= tutti.dbManager.title.confirm.updatedb= tutti.dbManager.title.schema.toupdate= tutti.dbManager.updatedb.found= +tutti.editAccidentalBatch.action.attachments.tip= tutti.editAccidentalBatch.action.createBatch= tutti.editAccidentalBatch.action.createBatch.mnemonic= tutti.editAccidentalBatch.action.createBatch.tip= @@ -400,6 +403,7 @@ tutti.editAccidentalBatch.table.header.weight.tip= tutti.editBenthosBatch.action.addSampleCategory= tutti.editBenthosBatch.action.addSampleCategory.mnemonic= tutti.editBenthosBatch.action.addSampleCategory.tip= +tutti.editBenthosBatch.action.attachments.tip= tutti.editBenthosBatch.action.changeSampleCategory= tutti.editBenthosBatch.action.changeSampleCategory.mnemonic= tutti.editBenthosBatch.action.changeSampleCategory.tip= @@ -541,6 +545,7 @@ tutti.editBenthosFrequencies.table.header.number= tutti.editBenthosFrequencies.title= tutti.editBenthosFrequencies.title.addLengthStepCaracteristic= tutti.editCaracteristics.title= +tutti.editCatchBatch.action.attachments.tip= tutti.editCatchBatch.action.cancelEditCatchBatch= tutti.editCatchBatch.action.cancelEditCatchBatch.mnemonic= tutti.editCatchBatch.action.cancelEditCatchBatch.tip= @@ -778,6 +783,7 @@ tutti.editFishingOperation.label.traitReminder.inCreation= tutti.editFishingOperation.message.operation.deleted= tutti.editFishingOperation.pane.other= tutti.editFishingOperation.tab.general= +tutti.editIndividualObservationBatch.action.attachments.tip= tutti.editIndividualObservationBatch.action.createBatch= tutti.editIndividualObservationBatch.action.createBatch.mnemonic= tutti.editIndividualObservationBatch.action.createBatch.tip= @@ -826,6 +832,7 @@ tutti.editIndividualObservationCaracteristics.action.removeCaracteristic.tip= tutti.editIndividualObservationCaracteristics.action.save= tutti.editIndividualObservationCaracteristics.action.save.mnemonic= tutti.editIndividualObservationCaracteristics.action.save.tip= +tutti.editMarineLitterBatch.action.attachments.tip= tutti.editMarineLitterBatch.action.createBatch= tutti.editMarineLitterBatch.action.createBatch.mnemonic= tutti.editMarineLitterBatch.action.createBatch.tip= @@ -1004,6 +1011,7 @@ tutti.editSampleCategoryModel.title= tutti.editSpeciesBatch.action.addSampleCategory= tutti.editSpeciesBatch.action.addSampleCategory.mnemonic= tutti.editSpeciesBatch.action.addSampleCategory.tip= +tutti.editSpeciesBatch.action.attachments.tip= tutti.editSpeciesBatch.action.changeSampleCategory= tutti.editSpeciesBatch.action.changeSampleCategory.mnemonic= tutti.editSpeciesBatch.action.changeSampleCategory.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 cb83cdd..29b59a9 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 @@ -45,7 +45,7 @@ tutti.attachmentEditor.action.remove.mnemonic=u tutti.attachmentEditor.action.remove.tip=Supprimer la pièce jointe tutti.attachmentEditor.action.save.mnemonic=E tutti.attachmentEditor.action.save.tip=Enregistrer la pièce jointe en local -tutti.attachmentEditor.action.tip=Pièces jointes +tutti.attachmentEditor.action.tip=pièce(s) jointe(s) tutti.attachmentEditor.deleteAttachment.message=Êtes-vous sûr de vouloir supprimer la pièce-jointe %s ? tutti.attachmentEditor.deleteAttachment.title=Suppression de pièce-jointe tutti.attachmentEditor.field.file=Fichier @@ -57,6 +57,7 @@ tutti.attachmentEditor.saveAttachment.button=Enregistrer tutti.attachmentEditor.saveAttachment.error.message=Erreur lors de l'enregistrement de la pièce jointe %1s dans le fichier %2s tutti.attachmentEditor.saveAttachment.success.message=Le fichier %s a été sauvegardé sur votre machine tutti.attachmentEditor.saveAttachment.title=Enregistrer la pièce-jointe +tutti.attachmentEditor.simpleText=Pièce(s) jointe(s) tutti.attachmentEditor.text=(%s) tutti.attachmentEditor.title=Pièces jointes tutti.caracteristicMapEditor.none.tip=Pas de caractéristiques @@ -348,6 +349,7 @@ tutti.dbManager.title.choose.dbImportFile=Importer la base de données tutti.dbManager.title.confirm.updatedb=Confirmer la mise à jour des référentiels tutti.dbManager.title.schema.toupdate=Mise à jour de la base détectée tutti.dbManager.updatedb.found=Une mise à jour des référentiels (version <strong>%s</strong>) est disponible. +tutti.editAccidentalBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editAccidentalBatch.action.createBatch=Créer une capture accidentelle tutti.editAccidentalBatch.action.createBatch.mnemonic=C tutti.editAccidentalBatch.action.createBatch.tip=Créer une capture accidentelle @@ -389,6 +391,7 @@ tutti.editAccidentalBatch.table.header.weight.tip=Poids observé tutti.editBenthosBatch.action.addSampleCategory=Ajouter une catégorie tutti.editBenthosBatch.action.addSampleCategory.mnemonic=A tutti.editBenthosBatch.action.addSampleCategory.tip=Ajouter une catégorie manquante +tutti.editBenthosBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editBenthosBatch.action.changeSampleCategory=Modifier la catégorie tutti.editBenthosBatch.action.changeSampleCategory.mnemonic=M tutti.editBenthosBatch.action.changeSampleCategory.tip=Modifier la catégorie de la cellule sélectionnée @@ -527,6 +530,7 @@ tutti.editBenthosFrequencies.simpleCountingAndFrequencies=Des mensurations ont tutti.editBenthosFrequencies.title=Mensuration tutti.editBenthosFrequencies.title.addLengthStepCaracteristic=Choisir une autre caractéristique tutti.editCaracteristics.title=%s - Autres caractéristiques +tutti.editCatchBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editCatchBatch.action.cancelEditCatchBatch=Réinitialiser tutti.editCatchBatch.action.cancelEditCatchBatch.mnemonic=R tutti.editCatchBatch.action.cancelEditCatchBatch.tip=Réinitialiser l'édition de la capture @@ -760,6 +764,7 @@ tutti.editFishingOperation.label.traitReminder.inCreation=en cours de création tutti.editFishingOperation.message.operation.deleted=Opération de pêche <strong>%s</strong> supprimée. tutti.editFishingOperation.pane.other=Autres caractéristiques tutti.editFishingOperation.tab.general=Trait +tutti.editIndividualObservationBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editIndividualObservationBatch.action.createBatch=Créer une observation tutti.editIndividualObservationBatch.action.createBatch.mnemonic=C tutti.editIndividualObservationBatch.action.createBatch.tip=Créer une nouvelle observation @@ -808,6 +813,7 @@ tutti.editIndividualObservationCaracteristics.action.removeCaracteristic.tip=Sup tutti.editIndividualObservationCaracteristics.action.save=Enregistrer tutti.editIndividualObservationCaracteristics.action.save.mnemonic=E tutti.editIndividualObservationCaracteristics.action.save.tip=Enregistrer les caractéristiques de l'observation +tutti.editMarineLitterBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editMarineLitterBatch.action.createBatch=Créer un lot de déchet tutti.editMarineLitterBatch.action.createBatch.mnemonic=C tutti.editMarineLitterBatch.action.createBatch.tip=Créer un nouveau lot de déchet @@ -982,6 +988,7 @@ tutti.editSampleCategoryModel.title=Configurer les catégorisations tutti.editSpeciesBatch.action.addSampleCategory=Ajouter une catégorie tutti.editSpeciesBatch.action.addSampleCategory.mnemonic=A tutti.editSpeciesBatch.action.addSampleCategory.tip=Ajouter une catégorie manquante +tutti.editSpeciesBatch.action.attachments.tip=Pièce(s) jointe(s) de la capture tutti.editSpeciesBatch.action.changeSampleCategory=Modifier la catégorie tutti.editSpeciesBatch.action.changeSampleCategory.mnemonic=M tutti.editSpeciesBatch.action.changeSampleCategory.tip=Modifier la catégorie de la cellule sélectionnée -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.