r1219 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: content/operation/catches content/operation/catches/accidental content/operation/catches/accidental/create content/operation/catches/benthos content/operation/catches/benthos/create content/operation/catches/benthos/frequency content/operation/catches/benthos/split content/operation/catches/individualobservation content/operation/catches/individualobservation/create content/operation/catches/marinelitter content/operati
Author: tchemit Date: 2013-09-24 15:30:43 +0200 (Tue, 24 Sep 2013) New Revision: 1219 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1219 Log: fixes #3312: [CAPTURES] - Ajouter une d?\195?\169cimale aux poids (4 d?\195?\169cimales pour les poids en kg et une d?\195?\169cimale pour les grammes) Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SampleCategoryComponent.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -28,7 +28,7 @@ bean: {model}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ _selectOnFocus: {true}; } @@ -37,8 +37,8 @@ showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - decimalNumber: 3; + /*numberPattern: {DECIMAL3_PATTERN}; + decimalNumber: 3;*/ computedDataColor: {handler.getConfig().getColorComputedWeights()}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SampleCategoryComponent.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SampleCategoryComponent.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SampleCategoryComponent.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -26,6 +26,7 @@ import fr.ifremer.tutti.persistence.entities.data.SampleCategory; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; +import fr.ifremer.tutti.ui.swing.util.WeightUnit; import jaxx.runtime.JAXXUtil; import jaxx.runtime.swing.editor.NumberEditor; import org.nuiton.decorator.Decorator; @@ -63,8 +64,9 @@ return new SampleCategoryRenderer<C>(renderer, decorator, computedDataColor); } - public static <C extends Serializable> TableCellEditor newEditor(Decorator<C> decorator) { - return new SampleCategoryEditor<C>(decorator); + public static <C extends Serializable> TableCellEditor newEditor(Decorator<C> decorator, + WeightUnit weightUnit) { + return new SampleCategoryEditor<C>(decorator, weightUnit); } /** @@ -86,7 +88,7 @@ protected final Decorator<C> categoryDecorator; - public SampleCategoryEditor(Decorator<C> categoryDecorator) { + public SampleCategoryEditor(Decorator<C> categoryDecorator, WeightUnit weightUnit) { this.categoryDecorator = categoryDecorator; numberEditor = new NumberEditor(); numberEditor.getTextField().setHorizontalAlignment(SwingConstants.RIGHT); @@ -95,6 +97,7 @@ numberEditor.getTextField().addAncestorListener(this); numberEditor.setModelType(Float.class); numberEditor.setUseSign(false); + numberEditor.setNumberPattern(weightUnit.getNumberEditorPattern()); numberEditor.init(); editor = new JPanel(new BorderLayout()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -39,6 +39,17 @@ borderPainted: false; } +#tablePopup { + label: "tutti.editAccidentalBatch.title.batchActions"; +} + +#table { + selectionMode: {ListSelectionModel.SINGLE_SELECTION}; + selectionBackground: {null}; + selectionForeground: {Color.BLACK}; + sortable: false; +} + #importMultiPostButton { actionIcon: import; text: "tutti.editAccidentalBatch.action.importMultiPost"; @@ -57,17 +68,6 @@ _help: {"tutti.editAccidentalBatch.action.exportMultiPost.help"}; } -#tablePopup { - label: "tutti.editAccidentalBatch.title.batchActions"; -} - -#table { - selectionMode: {ListSelectionModel.SINGLE_SELECTION}; - selectionBackground: {null}; - selectionForeground: {Color.BLACK}; - sortable: false; -} - #createAccidentalBatchButton { actionIcon: batch-create; text: "tutti.editAccidentalBatch.action.createBatch"; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -262,7 +262,6 @@ table.addHighlighter(commentHighlighter); // paint in a special color for attachment cell (when some attachments) - Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( new HighlightPredicate.AndHighlightPredicate( new HighlightPredicate.IdentifierHighlightPredicate(AccidentalBatchTableModel.ATTACHMENT), @@ -344,7 +343,6 @@ addFloatColumnToModel(columnModel, AccidentalBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -70,7 +70,6 @@ #accidentalWeightField { property: weight; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; bean: {model}; model: {model.getWeight()}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -28,7 +28,7 @@ bean: {model}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ _selectOnFocus: {true}; } @@ -37,8 +37,8 @@ showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - decimalNumber: 3; + /*numberPattern: {DECIMAL3_PATTERN}; + decimalNumber: 3;*/ computedDataColor: {handler.getConfig().getColorComputedWeights()}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -117,6 +117,11 @@ protected ValidationService validationService = getContext().getValidationService(); + /** + * Sample categories model. + * + * @since 2.4 + */ protected final SampleCategoryModel sampleCategoryModel; /** @@ -266,7 +271,7 @@ List<BenthosBatchFrequency> frequencies = BenthosFrequencyRowModel.toEntity( row.getFrequency(), - batch); + batch); result = TuttiProtocols.isBenthosBatchValid( getDataContext().getProtocol(), batch, @@ -453,7 +458,6 @@ table.addHighlighter(commentHighlighter); // paint in a special color for attachment cell (when some attachments) - Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( new HighlightPredicate.AndHighlightPredicate( new HighlightPredicate.IdentifierHighlightPredicate(BenthosBatchTableModel.ATTACHMENT), @@ -554,9 +558,9 @@ addColumnToModel(columnModel, TuttiComputedOrNotDataTableCell.newEditor( - Float.class, false, true, 3, computedDataColor), + Float.class, weightUnit, computedDataColor), TuttiComputedOrNotDataTableCell.newRender( - defaultRenderer, true, 3, computedDataColor), + defaultRenderer, weightUnit, computedDataColor), BenthosBatchTableModel.WEIGHT, weightUnit); } @@ -891,7 +895,7 @@ List<BenthosBatchFrequency> frequency = BenthosFrequencyRowModel.toEntity( frequencyRows, - entityToSave); + entityToSave); if (log.isInfoEnabled()) { log.info("Will save " + frequency.size() + " frequencies."); @@ -1151,7 +1155,7 @@ WeightUnit weightUnit) { addColumnToModel( columnModel, - SampleCategoryComponent.newEditor(decorator), + SampleCategoryComponent.newEditor(decorator, weightUnit), SampleCategoryComponent.newRender(defaultRenderer, decorator, getConfig().getColorComputedWeights()), Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -79,7 +79,7 @@ property: batchWeight; model: {model.getBatchWeight()}; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ bean: {model}; } @@ -93,7 +93,7 @@ #batchCountField { property: batchCount; model: {model.getBatchCount()}; - useFloat: true; + useFloat: false; numberPattern: {INT_6_DIGITS_PATTERN}; bean: {model}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -46,6 +46,7 @@ import fr.ifremer.tutti.ui.swing.util.Cancelable; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.WeightUnit; import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUI; import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUIModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; @@ -76,10 +77,27 @@ private final TuttiPersistence persistenceService; - private final CaracteristicQualitativeValue sortedValue; + /** + * Qualitative value for the Vrac. + * + * @since 2.5 + */ + protected final CaracteristicQualitativeValue sortedValue; - private SampleCategoryModel sampleCategoryModel; + /** + * Sample categories model. + * + * @since 2.4 + */ + protected final SampleCategoryModel sampleCategoryModel; + /** + * Weight unit. + * + * @since 2.6 + */ + protected final WeightUnit weightUnit; + public CreateBenthosBatchUIHandler(TuttiUI parentUi, CreateBenthosBatchUI ui) { super(parentUi.getHandler().getContext(), ui, @@ -87,7 +105,7 @@ SplitBenthosBatchRowModel.PROPERTY_CATEGORY_VALUE, SplitBenthosBatchRowModel.PROPERTY_WEIGHT); this.persistenceService = context.getPersistenceService(); - + this.weightUnit = getConfig().getBenthosWeightUnit(); this.sampleCategoryModel = getDataContext().getSampleCategoryModel(); SampleCategoryModelEntry caracteristic = sampleCategoryModel.getCategoryById(sampleCategoryModel.getFirstCategoryId()); @@ -515,8 +533,7 @@ addFloatColumnToModel(columnModel, SplitBenthosBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, - getConfig().getBenthosWeightUnit()); + weightUnit); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -177,33 +177,6 @@ enabled: false; } -#autoGenModeButton { - text: "tutti.editBenthosFrequencies.field.mode.autoGen"; - toolTipText: "tutti.editBenthosFrequencies.field.mode.autoGen.tip"; - value: "autoGenMode"; - selected: {model.isAutoGenMode()}; - buttonGroup: "mode"; - _help: {"tutti.editBenthosFrequencies.field.mode.autoGen.help"}; -} - -#rafaleModeButton { - text: "tutti.editBenthosFrequencies.field.mode.rafale"; - toolTipText: "tutti.editBenthosFrequencies.field.mode.rafale.tip"; - value: "rafaleMode"; - selected: {model.isRafaleMode()}; - buttonGroup: "mode"; - _help: {"tutti.editBenthosFrequencies.field.mode.rafale.help"}; -} - -#simpleCountingModeButton { - text: "tutti.editBenthosFrequencies.field.mode.simpleCounting"; - toolTipText: "tutti.editBenthosFrequencies.field.mode.simpleCounting.tip"; - value: "simpleCountingMode"; - selected: {model.isSimpleCountingMode()}; - buttonGroup: "mode"; - _help: {"tutti.editBenthosFrequencies.field.mode.simpleCounting.help"}; -} - #simpleCountingModeLabel { text: "tutti.editBenthosFrequencies.label.no.configuration"; horizontalAlignment: {JLabel.CENTER}; @@ -250,6 +223,44 @@ bean: {model}; } +#dataInFrequenciesWarningContainer { + background: {new java.awt.Color(245, 218, 88)}; + visible: {(model.getRowsInError().size() + model.getEmptyRows().size()) != model.getRows().size()}; +} + +#dataInFrequenciesWarning { + actionIcon: warning; + border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)}; + text: "tutti.editBenthosFrequencies.simpleCountingAndFrequencies"; +} + +#autoGenModeButton { + text: "tutti.editBenthosFrequencies.field.mode.autoGen"; + toolTipText: "tutti.editBenthosFrequencies.field.mode.autoGen.tip"; + value: "autoGenMode"; + selected: {model.isAutoGenMode()}; + buttonGroup: "mode"; + _help: {"tutti.editBenthosFrequencies.field.mode.autoGen.help"}; +} + +#rafaleModeButton { + text: "tutti.editBenthosFrequencies.field.mode.rafale"; + toolTipText: "tutti.editBenthosFrequencies.field.mode.rafale.tip"; + value: "rafaleMode"; + selected: {model.isRafaleMode()}; + buttonGroup: "mode"; + _help: {"tutti.editBenthosFrequencies.field.mode.rafale.help"}; +} + +#simpleCountingModeButton { + text: "tutti.editBenthosFrequencies.field.mode.simpleCounting"; + toolTipText: "tutti.editBenthosFrequencies.field.mode.simpleCounting.tip"; + value: "simpleCountingMode"; + selected: {model.isSimpleCountingMode()}; + buttonGroup: "mode"; + _help: {"tutti.editBenthosFrequencies.field.mode.simpleCounting.help"}; +} + #generateButton { actionIcon: generate; text: "tutti.editBenthosFrequencies.action.generate"; @@ -284,14 +295,3 @@ enabled: {model.isValid()}; _help: {"tutti.editBenthosFrequencies.action.saveAndClose.help"}; } - -#dataInFrequenciesWarningContainer { - background: {new java.awt.Color(245, 218, 88)}; - visible: {(model.getRowsInError().size() + model.getEmptyRows().size()) != model.getRows().size()}; -} - -#dataInFrequenciesWarning { - actionIcon: warning; - border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)}; - text: "tutti.editBenthosFrequencies.simpleCountingAndFrequencies"; -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -324,7 +324,6 @@ addFloatColumnToModel(columnModel, BenthosFrequencyTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -390,7 +390,6 @@ addFloatColumnToModel(columnModel, SplitBenthosBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, getConfig().getBenthosWeightUnit()); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -360,7 +360,6 @@ addFloatColumnToModel(columnModel, IndividualObservationBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -28,6 +28,8 @@ NumberEditor { autoPopup: {handler.getConfig().isAutoPopupNumberEditor()}; showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; + bean: {model}; + useFloat: true; showReset: true; } @@ -57,10 +59,8 @@ #individualObservationWeightField { property: weight; - useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - bean: {model}; model: {model.getWeight()}; + /*numberPattern: {DECIMAL3_PATTERN};*/ } #individualObservationSizeLabel { @@ -72,10 +72,8 @@ #individualObservationSizeField { property: size; - useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - bean: {model}; model: {model.getSize()}; + /*numberPattern: {DECIMAL3_PATTERN};*/ } #individualObservationLengthStepCaracteristicLabel { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -27,8 +27,8 @@ showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - decimalNumber: 3; + /*numberPattern: {DECIMAL3_PATTERN}; + decimalNumber: 3;*/ computedDataColor: {handler.getConfig().getColorComputedWeights()}; } @@ -42,24 +42,6 @@ borderPainted: false; } -#importMultiPostButton { - actionIcon: import; - text: "tutti.editMarineLitterBatch.action.importMultiPost"; - toolTipText: "tutti.editMarineLitterBatch.action.importMultiPost.tip"; - i18nMnemonic: "tutti.editMarineLitterBatch.action.importMultiPost.mnemonic"; - _tuttiAction: {ImportMultiPostAction.class}; - _help: {"tutti.editMarineLitterBatch.action.importMultiPost.help"}; -} - -#exportMultiPostButton { - actionIcon: export; - text: "tutti.editMarineLitterBatch.action.exportMultiPost"; - toolTipText: "tutti.editMarineLitterBatch.action.exportMultiPost.tip"; - i18nMnemonic: "tutti.editMarineLitterBatch.action.exportMultiPost.mnemonic"; - _tuttiAction: {ExportMultiPostAction.class}; - _help: {"tutti.editMarineLitterBatch.action.exportMultiPost.help"}; -} - #marineLitterTotalWeightLabel { text: "tutti.editMarineLitterBatch.field.marineLitterTotalWeight"; toolTipText: "tutti.editMarineLitterBatch.field.marineLitterTotalWeight.tip"; @@ -84,6 +66,24 @@ sortable: false; } +#importMultiPostButton { + actionIcon: import; + text: "tutti.editMarineLitterBatch.action.importMultiPost"; + toolTipText: "tutti.editMarineLitterBatch.action.importMultiPost.tip"; + i18nMnemonic: "tutti.editMarineLitterBatch.action.importMultiPost.mnemonic"; + _tuttiAction: {ImportMultiPostAction.class}; + _help: {"tutti.editMarineLitterBatch.action.importMultiPost.help"}; +} + +#exportMultiPostButton { + actionIcon: export; + text: "tutti.editMarineLitterBatch.action.exportMultiPost"; + toolTipText: "tutti.editMarineLitterBatch.action.exportMultiPost.tip"; + i18nMnemonic: "tutti.editMarineLitterBatch.action.exportMultiPost.mnemonic"; + _tuttiAction: {ExportMultiPostAction.class}; + _help: {"tutti.editMarineLitterBatch.action.exportMultiPost.help"}; +} + #createMarineLitterBatchButton { actionIcon: batch-create; text: "tutti.editMarineLitterBatch.action.createBatch"; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -348,7 +348,6 @@ addFloatColumnToModel(columnModel, MarineLitterBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -30,8 +30,9 @@ NumberEditor { autoPopup: {handler.getConfig().isAutoPopupNumberEditor()}; showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; - showReset: true; bean: {model}; + showReset: true; + useFloat: true; } #createMarineLitterBatchTopPanel { @@ -72,7 +73,6 @@ #marineLitterNumberField { property: number; model: {model.getNumber()}; - useFloat: true; numberPattern: {DECIMAL3_PATTERN}; } @@ -87,8 +87,7 @@ #marineLitterWeightField { property: weight; model: {model.getWeight()}; - useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ } #saveAndContinueButton { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -28,7 +28,7 @@ bean: {model}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ _selectOnFocus: {true}; } @@ -37,8 +37,8 @@ showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; showReset: true; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; - decimalNumber: 3; + /*numberPattern: {DECIMAL3_PATTERN}; + decimalNumber: 3;*/ computedDataColor: {handler.getConfig().getColorComputedWeights()}; } @@ -52,33 +52,6 @@ borderPainted: false; } -#importPupitriButton { - actionIcon: pupitri-import; - text: "tutti.editSpeciesBatch.action.importPupitri"; - toolTipText: "tutti.editSpeciesBatch.action.importPupitri.tip"; - i18nMnemonic: "tutti.editSpeciesBatch.action.importPupitri.mnemonic"; - _tuttiAction: {ImportPupitriAction.class}; - _help: {"tutti.editSpeciesBatch.action.importPupitri.help"}; -} - -#importMultiPostButton { - actionIcon: import; - text: "tutti.editSpeciesBatch.action.importMultiPost"; - toolTipText: "tutti.editSpeciesBatch.action.importMultiPost.tip"; - i18nMnemonic: "tutti.editSpeciesBatch.action.importMultiPost.mnemonic"; - _tuttiAction: {ImportMultiPostAction.class}; - _help: {"tutti.editSpeciesBatch.action.importMultiPost.help"}; -} - -#exportMultiPostButton { - actionIcon: export; - text: "tutti.editSpeciesBatch.action.exportMultiPost"; - toolTipText: "tutti.editSpeciesBatch.action.exportMultiPost.tip"; - i18nMnemonic: "tutti.editSpeciesBatch.action.exportMultiPost.mnemonic"; - _tuttiAction: {ExportMultiPostAction.class}; - _help: {"tutti.editSpeciesBatch.action.exportMultiPost.help"}; -} - #speciesTotalWeightLabel { text: "tutti.editSpeciesBatch.field.speciesTotalWeight"; toolTipText: "tutti.editSpeciesBatch.field.speciesTotalWeight.tip"; @@ -180,30 +153,6 @@ _help: {"tutti.editSpeciesBatch.filterSpeciesBatch.help"}; } -#filterSpeciesBatchAllButton { - text: "tutti.editSpeciesBatch.filterBatch.mode.all"; - toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.all.tip"; - value: "all"; - selected: {model.isTableViewModeAll()}; - buttonGroup: "filterSpeciesBatchMode"; -} - -#filterSpeciesBatchLeafButton { - text: "tutti.editSpeciesBatch.filterBatch.mode.leaf"; - toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.leaf.tip"; - value: "leaf"; - selected: {model.isTableViewModeLeaf()}; - buttonGroup: "filterSpeciesBatchMode"; -} - -#filterSpeciesBatchRootButton { - text: {handler.getFilterSpeciesBatchRootButtonText(model.getRootNumber())}; - toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.root.tip"; - value: "root"; - selected: {model.isTableViewModeRoot()}; - buttonGroup: "filterSpeciesBatchMode"; -} - #splitSpeciesBatchMenu { actionIcon: batch-split; text: "tutti.editSpeciesBatch.action.splitBatch"; @@ -253,6 +202,66 @@ _help: {"tutti.editSpeciesBatch.action.createMelag.help"}; } +#editFrequenciesMenu { + actionIcon: show-frequency; + text: "tutti.editSpeciesBatch.action.editFrequencies"; + toolTipText: "tutti.editSpeciesBatch.action.editFrequencies.tip"; + i18nMnemonic: "tutti.editSpeciesBatch.action.editFrequencies.mnemonic"; + enabled: {model.isTableViewModeAll() && model.isEditFrequenciesEnabled()}; + _help: {"tutti.editSpeciesBatch.action.editFrequencies.help"}; +} + +#importPupitriButton { + actionIcon: pupitri-import; + text: "tutti.editSpeciesBatch.action.importPupitri"; + toolTipText: "tutti.editSpeciesBatch.action.importPupitri.tip"; + i18nMnemonic: "tutti.editSpeciesBatch.action.importPupitri.mnemonic"; + _tuttiAction: {ImportPupitriAction.class}; + _help: {"tutti.editSpeciesBatch.action.importPupitri.help"}; +} + +#importMultiPostButton { + actionIcon: import; + text: "tutti.editSpeciesBatch.action.importMultiPost"; + toolTipText: "tutti.editSpeciesBatch.action.importMultiPost.tip"; + i18nMnemonic: "tutti.editSpeciesBatch.action.importMultiPost.mnemonic"; + _tuttiAction: {ImportMultiPostAction.class}; + _help: {"tutti.editSpeciesBatch.action.importMultiPost.help"}; +} + +#exportMultiPostButton { + actionIcon: export; + text: "tutti.editSpeciesBatch.action.exportMultiPost"; + toolTipText: "tutti.editSpeciesBatch.action.exportMultiPost.tip"; + i18nMnemonic: "tutti.editSpeciesBatch.action.exportMultiPost.mnemonic"; + _tuttiAction: {ExportMultiPostAction.class}; + _help: {"tutti.editSpeciesBatch.action.exportMultiPost.help"}; +} + +#filterSpeciesBatchAllButton { + text: "tutti.editSpeciesBatch.filterBatch.mode.all"; + toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.all.tip"; + value: "all"; + selected: {model.isTableViewModeAll()}; + buttonGroup: "filterSpeciesBatchMode"; +} + +#filterSpeciesBatchLeafButton { + text: "tutti.editSpeciesBatch.filterBatch.mode.leaf"; + toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.leaf.tip"; + value: "leaf"; + selected: {model.isTableViewModeLeaf()}; + buttonGroup: "filterSpeciesBatchMode"; +} + +#filterSpeciesBatchRootButton { + text: {handler.getFilterSpeciesBatchRootButtonText(model.getRootNumber())}; + toolTipText: "tutti.editSpeciesBatch.filterBatch.mode.root.tip"; + value: "root"; + selected: {model.isTableViewModeRoot()}; + buttonGroup: "filterSpeciesBatchMode"; +} + #createSpeciesBatchButton { actionIcon: batch-create; text: "tutti.editSpeciesBatch.action.createBatch"; @@ -261,12 +270,3 @@ enabled: {model.isCreateBatchEnabled()}; _help: {"tutti.editSpeciesBatch.action.createBatch.help"}; } - -#editFrequenciesMenu { - actionIcon: show-frequency; - text: "tutti.editSpeciesBatch.action.editFrequencies"; - toolTipText: "tutti.editSpeciesBatch.action.editFrequencies.tip"; - i18nMnemonic: "tutti.editSpeciesBatch.action.editFrequencies.mnemonic"; - enabled: {model.isTableViewModeAll() && model.isEditFrequenciesEnabled()}; - _help: {"tutti.editSpeciesBatch.action.editFrequencies.help"}; -} \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -117,6 +117,11 @@ protected final EditCatchesUI parentUi; + /** + * Sample categories model. + * + * @since 2.4 + */ protected final SampleCategoryModel sampleCategoryModel; /** @@ -273,7 +278,7 @@ List<SpeciesBatchFrequency> frequencies = SpeciesFrequencyRowModel.toEntity( row.getFrequency(), - batch); + batch); result = TuttiProtocols.isSpeciesBatchValid(getDataContext().getProtocol(), batch, frequencies); @@ -555,9 +560,9 @@ addColumnToModel(columnModel, TuttiComputedOrNotDataTableCell.newEditor( - Float.class, false, true, 3, computedDataColor), + Float.class, weightUnit, computedDataColor), TuttiComputedOrNotDataTableCell.newRender( - defaultRenderer, true, 3, computedDataColor), + defaultRenderer, weightUnit, computedDataColor), SpeciesBatchTableModel.WEIGHT, weightUnit); } @@ -891,7 +896,7 @@ List<SpeciesBatchFrequency> frequency = SpeciesFrequencyRowModel.toEntity( frequencyRows, - catchBean); + catchBean); if (log.isInfoEnabled()) { log.info("Will save " + frequency.size() + " frequencies."); @@ -1152,10 +1157,11 @@ WeightUnit weightUnit) { addColumnToModel( columnModel, - SampleCategoryComponent.newEditor(decorator), + SampleCategoryComponent.newEditor(decorator, weightUnit), SampleCategoryComponent.newRender(defaultRenderer, decorator, - getConfig().getColorComputedWeights()), + getConfig().getColorComputedWeights() + ), columnIdentifier, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -79,7 +79,7 @@ property: batchWeight; model: {model.getBatchWeight()}; useFloat: true; - numberPattern: {DECIMAL3_PATTERN}; + /*numberPattern: {DECIMAL3_PATTERN};*/ bean: {model}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -46,6 +46,7 @@ import fr.ifremer.tutti.ui.swing.util.Cancelable; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.WeightUnit; import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUI; import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUIModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; @@ -77,10 +78,27 @@ private final TuttiPersistence persistenceService; - private final CaracteristicQualitativeValue sortedValue; + /** + * Qualitative value for the Vrac. + * + * @since 2.5 + */ + protected final CaracteristicQualitativeValue sortedValue; - private SampleCategoryModel sampleCategoryModel; + /** + * Sample categories model. + * + * @since 2.4 + */ + protected final SampleCategoryModel sampleCategoryModel; + /** + * Weight unit. + * + * @since 2.6 + */ + protected final WeightUnit weightUnit; + public CreateSpeciesBatchUIHandler(TuttiUI parentUi, CreateSpeciesBatchUI ui) { super(parentUi.getHandler().getContext(), ui, @@ -88,7 +106,7 @@ SplitSpeciesBatchRowModel.PROPERTY_CATEGORY_VALUE, SplitSpeciesBatchRowModel.PROPERTY_WEIGHT); this.persistenceService = context.getPersistenceService(); - + this.weightUnit = getConfig().getSpeciesWeightUnit(); this.sampleCategoryModel = getDataContext().getSampleCategoryModel(); SampleCategoryModelEntry caracteristic = sampleCategoryModel.getCategoryById(sampleCategoryModel.getFirstCategoryId()); @@ -498,8 +516,7 @@ editableCategoryValue = true; addFloatColumnToModel(columnModel, SplitSpeciesBatchTableModel.EDITABLE_CATEGORY_VALUE, - TuttiUI.DECIMAL1_PATTERN, - getConfig().getSpeciesWeightUnit()); + TuttiUI.DECIMAL1_PATTERN); } if (data != null) { @@ -516,7 +533,7 @@ addFloatColumnToModel(columnModel, SplitSpeciesBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN); + weightUnit); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-09-24 13:30:43 UTC (rev 1219) @@ -162,48 +162,12 @@ layout: {modeConfigurationLayout}; } -#simpleModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.simple"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.simple.tip"; - value: "simpleMode"; - selected: {model.isSimpleMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.simple.help"}; -} - #simpleModeLabel { text: "tutti.editSpeciesFrequencies.label.no.configuration"; horizontalAlignment: {JLabel.CENTER}; enabled: false; } -#autoGenModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.autoGen"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.autoGen.tip"; - value: "autoGenMode"; - selected: {model.isAutoGenMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.autoGen.help"}; -} - -#rafaleModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.rafale"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.rafale.tip"; - value: "rafaleMode"; - selected: {model.isRafaleMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.rafale.help"}; -} - -#simpleCountingModeButton { - text: "tutti.editSpeciesFrequencies.field.mode.simpleCounting"; - toolTipText: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip"; - value: "simpleCountingMode"; - selected: {model.isSimpleCountingMode()}; - buttonGroup: "mode"; - _help: {"tutti.editSpeciesFrequencies.field.mode.simpleCounting.help"}; -} - #simpleCountingModeLabel { text: "tutti.editSpeciesFrequencies.label.no.configuration"; horizontalAlignment: {JLabel.CENTER}; @@ -250,6 +214,53 @@ bean: {model}; } +#dataInFrequenciesWarningContainer { + background: {new java.awt.Color(245, 218, 88)}; + visible: {(model.getRowsInError().size() + model.getEmptyRows().size()) != model.getRows().size()}; +} + +#dataInFrequenciesWarning { + actionIcon: warning; + border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)}; + text: "tutti.editSpeciesFrequencies.simpleCountingAndFrequencies"; +} + +#simpleModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.simple"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.simple.tip"; + value: "simpleMode"; + selected: {model.isSimpleMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.simple.help"}; +} + +#autoGenModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.autoGen"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.autoGen.tip"; + value: "autoGenMode"; + selected: {model.isAutoGenMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.autoGen.help"}; +} + +#rafaleModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.rafale"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.rafale.tip"; + value: "rafaleMode"; + selected: {model.isRafaleMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.rafale.help"}; +} + +#simpleCountingModeButton { + text: "tutti.editSpeciesFrequencies.field.mode.simpleCounting"; + toolTipText: "tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip"; + value: "simpleCountingMode"; + selected: {model.isSimpleCountingMode()}; + buttonGroup: "mode"; + _help: {"tutti.editSpeciesFrequencies.field.mode.simpleCounting.help"}; +} + #generateButton { actionIcon: generate; text: "tutti.editSpeciesFrequencies.action.generate"; @@ -285,13 +296,3 @@ _help: {"tutti.editSpeciesFrequencies.action.saveAndClose.help"}; } -#dataInFrequenciesWarningContainer { - background: {new java.awt.Color(245, 218, 88)}; - visible: {(model.getRowsInError().size() + model.getEmptyRows().size()) != model.getRows().size()}; -} - -#dataInFrequenciesWarning { - actionIcon: warning; - border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)}; - text: "tutti.editSpeciesFrequencies.simpleCountingAndFrequencies"; -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -322,7 +322,6 @@ addFloatColumnToModel(columnModel, SpeciesFrequencyTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -393,7 +393,6 @@ addFloatColumnToModel(columnModel, SplitSpeciesBatchTableModel.WEIGHT, - TuttiUI.DECIMAL3_PATTERN, getConfig().getSpeciesWeightUnit()); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -39,6 +39,7 @@ import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI; import fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment; import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor; +import fr.ifremer.tutti.ui.swing.util.editor.TuttiComputedOrNotDataEditor; import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier; import jaxx.runtime.JAXXUtil; import jaxx.runtime.SwingUtil; @@ -445,6 +446,20 @@ String tip = weightUnit.decorateTip(jLabel.getToolTipText()); jLabel.setToolTipText(tip); + + Component labelFor = jLabel.getLabelFor(); + if (labelFor instanceof TuttiComputedOrNotDataEditor) { + + // set also the number of digits (4 for kg, 1 for g) + TuttiComputedOrNotDataEditor editor = (TuttiComputedOrNotDataEditor) labelFor; + editor.setNumberPattern(weightUnit.getNumberEditorPattern()); + editor.setDecimalNumber(weightUnit.getNumberDigits()); + } else if (labelFor instanceof NumberEditor) { + + // set also the number of digits (4 for kg, 1 for g) + NumberEditor editor = (NumberEditor) labelFor; + editor.setNumberPattern(weightUnit.getNumberEditorPattern()); + } } } @@ -882,16 +897,30 @@ addColumnToModel(model, editor, null, identifier, null); } +// protected <R extends AbstractTuttiBeanUIModel> void addFloatColumnToModel(TableColumnModel model, +// ColumnIdentifier<R> identifier, +// String numberPattern, +// WeightUnit weightUnit) { +// +// NumberCellEditor<Float> editor = +// JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false); +// editor.getNumberEditor().setSelectAllTextOnError(true); +// editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2)); +// editor.getNumberEditor().setNumberPattern(numberPattern); +// +// addColumnToModel(model, editor, null, identifier, weightUnit); +// } + protected <R extends AbstractTuttiBeanUIModel> void addFloatColumnToModel(TableColumnModel model, ColumnIdentifier<R> identifier, - String numberPattern, WeightUnit weightUnit) { + Preconditions.checkNotNull(weightUnit); NumberCellEditor<Float> editor = JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false); editor.getNumberEditor().setSelectAllTextOnError(true); editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2)); - editor.getNumberEditor().setNumberPattern(numberPattern); + editor.getNumberEditor().setNumberPattern(weightUnit.getNumberEditorPattern()); addColumnToModel(model, editor, null, identifier, weightUnit); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUI.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -122,6 +122,14 @@ public static final String DECIMAL3_PATTERN = "\\d{0,6}(\\.\\d{0,3})?"; /** + * Pattern to use for decimal numeric values with 4 decimal digits in + * editors. + * + * @since 2.6 + */ + public static final String DECIMAL4_PATTERN = "\\d{0,6}(\\.\\d{0,4})?"; + + /** * Pattern to use for decimal numeric values with 2 digits + 3 decimal digits in * editors. * Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -36,7 +36,7 @@ * @since 2.5 */ public enum WeightUnit { - G(n_("tutti.common.unit.g"), n_("tutti.common.unit.short.g")) { + G(n_("tutti.common.unit.g"), n_("tutti.common.unit.short.g"), 1, TuttiUI.DECIMAL1_PATTERN) { @Override public Float fromEntity(Float weight) { return weight == null ? null : weight * 1000; @@ -47,7 +47,7 @@ return weight == null ? null : weight / 1000.0f; } }, - KG(n_("tutti.common.unit.kg"), n_("tutti.common.unit.short.kg")) { + KG(n_("tutti.common.unit.kg"), n_("tutti.common.unit.short.kg"), 4, TuttiUI.DECIMAL4_PATTERN) { @Override public Float fromEntity(Float weight) { return weight; @@ -63,9 +63,15 @@ private final String i18nKey; - WeightUnit(String i18nKey, String i18nShortKey) { + private final int numberDigits; + + private final String numberEditorPattern; + + WeightUnit(String i18nKey, String i18nShortKey, int numberDigits, String numberEditorPattern) { this.i18nKey = i18nKey; this.i18nShortKey = i18nShortKey; + this.numberDigits = numberDigits; + this.numberEditorPattern = numberEditorPattern; } public String getLabel() { @@ -76,6 +82,14 @@ return _(i18nShortKey); } + public int getNumberDigits() { + return numberDigits; + } + + public String getNumberEditorPattern() { + return numberEditorPattern; + } + /** * Transform the given {@code weight} coming from db to ui. * Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-09-24 11:19:17 UTC (rev 1218) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-09-24 13:30:43 UTC (rev 1219) @@ -27,6 +27,7 @@ import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData; import fr.ifremer.tutti.ui.swing.util.TuttiUI; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; +import fr.ifremer.tutti.ui.swing.util.WeightUnit; import jaxx.runtime.JAXXUtil; import javax.swing.AbstractCellEditor; @@ -53,26 +54,27 @@ * @since 1.0 */ public class TuttiComputedOrNotDataTableCell extends DefaultTableCellRenderer { + private static final long serialVersionUID = 1L; public static TableCellRenderer newRender(TableCellRenderer renderer, - boolean useFloat, - Integer decimalNumber, + WeightUnit weightUnit, Color computedDataColor) { return new TuttiComputedOrNotDataTableCellRenderer(renderer, - useFloat, - decimalNumber, + true, + weightUnit.getNumberDigits(), computedDataColor); } public static TableCellEditor newEditor(Class type, - boolean useSign, - boolean useFloat, - Integer decimalNumber, + WeightUnit weightUnit, Color computedDataColor) { - return new TuttiComputedOrNotDataTableCellEditor(type, useSign, - useFloat, decimalNumber, + return new TuttiComputedOrNotDataTableCellEditor(type, + false, + true, + weightUnit.getNumberDigits(), + weightUnit.getNumberEditorPattern(), computedDataColor); } @@ -91,6 +93,7 @@ boolean useSign, boolean useFloat, Integer decimalNumber, + String numberPattern, Color computedDataColor) { numberEditor = new TuttiComputedOrNotDataEditor(); @@ -100,8 +103,8 @@ numberEditor.getTextField().addAncestorListener(this); numberEditor.getTextField().setBorder(new LineBorder(Color.GRAY, 2)); numberEditor.setSelectAllTextOnError(true); - numberEditor.setNumberPattern(TuttiUI.DECIMAL3_PATTERN); + numberEditor.setNumberPattern(numberPattern); numberEditor.setModelType(type); numberEditor.setUseSign(useSign); numberEditor.setUseFloat(useFloat); @@ -179,7 +182,7 @@ } } - public static class TuttiComputedOrNotDataTableCellRenderer<E> + public static class TuttiComputedOrNotDataTableCellRenderer implements TableCellRenderer { protected final TableCellRenderer delegate;
participants (1)
-
tchemit@users.forge.codelutin.com