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 472392effaecc53f56dc4b67e5076e380b721aa8 Author: Kevin Morin <morin@codelutin.com> Date: Wed Jan 28 13:53:21 2015 +0100 fixes #6569 [ERGONOMIE] amélioration de la visibilité et du déclanchement des .csv et .pdf sur les traits --- .../content/operation/EditFishingOperationUI.css | 5 ++++ .../content/operation/EditFishingOperationUI.jaxx | 8 +++++- .../operation/EditFishingOperationUIHandler.java | 2 ++ .../content/operation/catches/EditCatchesUI.css | 8 ++++++ .../content/operation/catches/EditCatchesUI.jaxx | 14 +++++++--- .../operation/catches/EditCatchesUIHandler.java | 3 ++- .../catches/accidental/AccidentalBatchUI.css | 6 +++++ .../catches/accidental/AccidentalBatchUI.jaxx | 10 +++++-- .../accidental/AccidentalBatchUIHandler.java | 4 +-- .../operation/catches/benthos/BenthosBatchUI.css | 6 +++++ .../operation/catches/benthos/BenthosBatchUI.jaxx | 10 +++++-- .../catches/benthos/BenthosBatchUIHandler.java | 2 ++ .../IndividualObservationBatchUI.css | 6 +++++ .../IndividualObservationBatchUI.jaxx | 10 +++++-- .../IndividualObservationBatchUIHandler.java | 2 ++ .../catches/marinelitter/MarineLitterBatchUI.css | 6 +++++ .../catches/marinelitter/MarineLitterBatchUI.jaxx | 10 +++++-- .../marinelitter/MarineLitterBatchUIHandler.java | 2 ++ .../operation/catches/species/SpeciesBatchUI.css | 8 ++++++ .../operation/catches/species/SpeciesBatchUI.jaxx | 16 +++++++---- .../catches/species/SpeciesBatchUIHandler.java | 2 ++ .../ui/swing/util/AbstractTuttiUIHandler.java | 31 +++++++++++++++++----- 22 files changed, 143 insertions(+), 28 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css index d942006..e3a13f8 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css @@ -83,6 +83,11 @@ JXDatePicker { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importFromColumnFile)}; + renderer: {new ActionListCellRenderer()}; +} + #fishingOperationTabScrollPane { _onlyVerticalScrollable: true; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx index 06d3d79..2d0ec2b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx @@ -33,6 +33,7 @@ fr.ifremer.tutti.ui.swing.TuttiHelpBroker fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.type.CoordinateEditorType @@ -153,8 +154,13 @@ public EditFishingOperationUI(FishingOperationsUI parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tuttihelp.editeditFishingOperation.help"'/> + <JButton id='importFromColumnFile'/> + <JToolBar id='traitGeneralTabPaneToolBar'> - <JButton id='importFromColumnFile'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='fishingOperationAttachmentsButton' constructorParams='getHandler().getContext(), getModel()'/> </JToolBar> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java index 244460b..df35462 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java @@ -343,6 +343,8 @@ public class EditFishingOperationUIHandler extends AbstractTuttiTabContainerUIHa initUI(ui); + initActionComboBox(ui.getActionComboBox()); + List<Person> people = getDataContext().getPersons(); initBeanList(ui.getRecorderPersonList(), people, 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 0a4d207..0680c8d 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 @@ -46,6 +46,14 @@ ComputableDataEditor { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(exportFishingOperationReportButton, + exportFishingOperationReportForSumatraButton, + importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #catchesCaracteristicsAttachmentsButton { enabled: {model.getObjectId() != null}; toolTipText: "tutti.editCatchBatch.action.attachments.tip"; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx index 4f285c1..8c4ea9d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx @@ -44,6 +44,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorUI fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor @@ -101,11 +102,16 @@ public EditCatchesUI(FishingOperationsUI parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editCatchBatch.help"'/> + <JButton id='exportFishingOperationReportButton'/> + <JButton id='exportFishingOperationReportForSumatraButton'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='catchesCaracteristicsTabToolBar'> - <JButton id='exportFishingOperationReportButton'/> - <JButton id='exportFishingOperationReportForSumatraButton'/> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='catchesCaracteristicsAttachmentsButton' constructorParams='getHandler().getContext(), getModel()'/> </JToolBar> 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 26c7ae6..e1ea1d4 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 @@ -199,6 +199,8 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi initUI(ui); + initActionComboBox(ui.getActionComboBox()); + EditCatchesUIModel model = getModel(); changeValidatorContext(model.getValidationContext(), getValidator()); @@ -1222,5 +1224,4 @@ public class EditCatchesUIHandler extends AbstractTuttiTabContainerUIHandler<Edi } } } - } 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 2154d36..6423e37 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,12 @@ NumberEditor { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #accidentalBatchAttachmentsButton { toolTipText: "tutti.editAccidentalBatch.action.attachments.tip"; } 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 c45ffb4..31fa909 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 @@ -28,6 +28,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment org.jdesktop.swingx.JXTable @@ -56,9 +57,14 @@ public AccidentalBatchUI(TuttiUI<?,?> parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editAccidentalBatch.help"'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='accidentalBatchTabToolBar'> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='accidentalBatchAttachmentsButton' constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> 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 de8dc38..72d8381 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 @@ -32,7 +32,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.content.operation.catches.AbstractTuttiBatchTableUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; @@ -60,7 +59,7 @@ import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import org.nuiton.validator.NuitonValidatorResult; -import javax.swing.JComponent; +import javax.swing.*; import java.util.List; /** @@ -243,6 +242,7 @@ public class AccidentalBatchUIHandler initUI(ui); + initActionComboBox(ui.getActionComboBox()); JXTable table = getTable(); // create table column model 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 9b74b5c..3e70e4d 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,12 @@ ComputableDataEditor { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #benthosBatchAttachmentsButton { toolTipText: "tutti.editBenthosBatch.action.attachments.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 2a398f4..df030fe 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 @@ -30,6 +30,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor @@ -61,9 +62,14 @@ public BenthosBatchUI(TuttiUI<?,?> parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editBenthosBatch.help"'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='benthosBatchTabToolBar'> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='benthosBatchAttachmentsButton' constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> 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 8099423..8dde3e8 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 @@ -672,6 +672,8 @@ public class BenthosBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Bent initUI(ui); + initActionComboBox(ui.getActionComboBox()); + List<Integer> samplingOrder = sampleCategoryModel.getSamplingOrder(); if (log.isDebugEnabled()) { 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 69344f9..edfdd58 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,12 @@ borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #individualObservationBatchAttachmentsButton { toolTipText: "tutti.editIndividualObservationBatch.action.attachments.tip"; } 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 707cc0f..baeb4cd 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 @@ -31,6 +31,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment org.nuiton.jaxx.widgets.number.NumberEditor @@ -62,9 +63,14 @@ public IndividualObservationBatchUI(TuttiUI<?,?> parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editIndividualObservationBatch.help"'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='individualObservationBatchTabToolBar'> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='individualObservationBatchAttachmentsButton' constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> 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 0236bdb..40c7a86 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 @@ -272,6 +272,8 @@ public class IndividualObservationBatchUIHandler initUI(ui); + initActionComboBox(ui.getActionComboBox()); + JXTable table = getTable(); // can show / hide some columns in model 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 850577f..850fb10 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 @@ -37,6 +37,12 @@ ComputableDataEditor { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #marineLitterBatchAttachmentsButton { toolTipText: "tutti.editMarineLitterBatch.action.attachments.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 0a30168..abf01af 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 @@ -29,6 +29,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor @@ -61,9 +62,14 @@ public MarineLitterBatchUI(TuttiUI<?,?> parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editMarineLitterBatch.help"'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='marineLitterBatchTabToolBar'> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='marineLitterBatchAttachmentsButton' constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> 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 b19c1ce..a6626c9 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 @@ -230,6 +230,8 @@ public class MarineLitterBatchUIHandler extends AbstractTuttiBatchTableUIHandler initUI(ui); + initActionComboBox(ui.getActionComboBox()); + JXTable table = getTable(); // create table column model 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 cf4b6c4..f26ce26 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,14 @@ ComputableDataEditor { borderPainted: false; } +#actionComboBox { + model: {SwingUtil.newComboModel(importPupitriButton, + importPsionButton, + importMultiPostButton, + exportMultiPostButton)}; + renderer: {new ActionListCellRenderer()}; +} + #speciesBatchAttachmentsButton { toolTipText: "tutti.editSpeciesBatch.action.attachments.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 40e7ae2..73e27c9 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 @@ -28,6 +28,7 @@ fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + org.nuiton.jaxx.application.swing.util.ActionListCellRenderer fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor @@ -59,12 +60,17 @@ public SpeciesBatchUI(TuttiUI<?,?> parentUI) { <TuttiHelpBroker id='broker' constructorParams='"tutti.editSpeciesBatch.help"'/> + <JButton id='importPupitriButton'/> + <JButton id='importPsionButton'/> + <JButton id='importBigfinButton'/> + <JButton id='importMultiPostButton'/> + <JButton id='exportMultiPostButton'/> + <JToolBar id='speciesBatchTabToolBar'> - <JButton id='importPupitriButton'/> - <JButton id='importPsionButton'/> - <JButton id='importBigfinButton'/> - <JButton id='importMultiPostButton'/> - <JButton id='exportMultiPostButton'/> + <JComboBox id='actionComboBox' + onMouseEntered='actionComboBox.showPopup()' + onMouseClicked='handler.startAction(event)' + onActionPerformed='handler.startAction(event)'/> <ButtonAttachment id='speciesBatchAttachmentsButton' constructorParams='handler.getContext(), getContextValue(EditCatchesUIModel.class)'/> </JToolBar> 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 648d8da..1577092 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 @@ -675,6 +675,8 @@ public class SpeciesBatchUIHandler extends AbstractTuttiBatchTableUIHandler<Spec initUI(ui); + initActionComboBox(ui.getActionComboBox()); + List<Integer> samplingOrder = sampleCategoryModel.getSamplingOrder(); if (log.isDebugEnabled()) { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java index 19732d8..5bcbce4 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java @@ -60,19 +60,16 @@ import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import org.nuiton.jaxx.widgets.number.NumberEditor; import org.nuiton.validator.bean.simple.SimpleBeanValidator; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JTable; -import javax.swing.JTextField; +import javax.swing.*; import javax.swing.border.LineBorder; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumnModel; -import java.awt.Color; -import java.awt.Component; -import java.awt.Font; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.text.DecimalFormat; @@ -187,6 +184,22 @@ public abstract class AbstractTuttiUIHandler<M, UI extends TuttiUI<M, ?>> extend return decorator; } + public void startAction(MouseEvent event) { + startAction(event); + } + + public void startAction(ActionEvent event) { + JComboBox existingCombo = (JComboBox) event.getSource(); + JButton selectedAction = (JButton) existingCombo.getSelectedItem(); + // hide popup before performing the action, otherwise, if the action + // opens a popup, the user must click a first time to hide the combobox + // popup to then interact with the popup opened by the action + // (see http://forge.codelutin.com/issues/2032) + existingCombo.setSelectedIndex(0); + existingCombo.hidePopup(); + getContext().getActionEngine().runAction(selectedAction); + } + @Override protected void addHighlighters(final JXTable table) { @@ -532,4 +545,8 @@ public abstract class AbstractTuttiUIHandler<M, UI extends TuttiUI<M, ?>> extend return col; } + protected void initActionComboBox(JComboBox combo) { + combo.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE); + combo.addMouseListener(TuttiUIUtil.GRAB_FOCUS_ON_ENTER_LISTENER); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.