r333 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/config java/fr/ifremer/tutti/ui/swing/content/cruise java/fr/ifremer/tutti/ui/swing/content/operation java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split java/fr/ifremer/tutti/u
Author: kmorin Date: 2013-02-05 15:07:43 +0100 (Tue, 05 Feb 2013) New Revision: 333 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/333 Log: - new protocol: filter scientific vessels by default - clone protocol: let the name but in error - fishing operation: distance in meters + add coordinate editor type in labels - catches: row in orange if to confirm - catches: remove computed weight - catches: readd titiles Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 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.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 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/frequency/FrequencyCellComponent.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 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/CreateSpeciesBatchUIHandler.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/content/protocol/EditProtocolUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -475,7 +475,11 @@ } protected String decorate(Object object) { - return getDecorator(object.getClass(), null).toString(object); + String result = ""; + if (object != null) { + getDecorator(object.getClass(), null).toString(object); + } + return result; } protected <O> ListCellRenderer newListCellRender(Class<O> type) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-02-05 14:07:43 UTC (rev 333) @@ -200,6 +200,10 @@ public Color getColorCellWithValue() { return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_CELL_WITH_VALUE.getKey()); } + + public Color getColorRowToConfirm() { + return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_ROW_TO_CONFIRM.getKey()); + } public KeyStroke getShortcutClosePopup() { return applicationConfig.getOptionAsKeyStroke(TuttiApplicationConfigOption.SHORTCUT_CLOSE_POPUP.getKey()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-02-05 14:07:43 UTC (rev 333) @@ -154,6 +154,13 @@ new Color(128, 255, 128).toString(), Color.class ), + + COLOR_ROW_TO_CONFIRM( + "tutti.ui.color.rowToConfirm", + n_("tutti.option.ui.color.rowToConfirm.description"), + Color.ORANGE.toString(), + Color.class + ), SHORTCUT_CLOSE_POPUP( "tutti.ui.shortcut.closePopup", Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiConfigUI.java 2013-02-05 14:07:43 UTC (rev 333) @@ -109,6 +109,7 @@ .addOption(TuttiApplicationConfigOption.COLOR_ROW_INVALID) .addOption(TuttiApplicationConfigOption.COLOR_ROW_READ_ONLY) .addOption(TuttiApplicationConfigOption.COLOR_CELL_WITH_VALUE) + .addOption(TuttiApplicationConfigOption.COLOR_ROW_TO_CONFIRM) .addOption(TuttiApplicationConfigOption.DATE_FORMAT) .addOption(TuttiApplicationConfigOption.COORDINATE_EDITOR_TYPE); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -179,7 +179,7 @@ EditCruiseUIModel model = getModel(); - model.setVesselType(VesselTypeEnum.ALL); + model.setVesselType(model.isCreate() ? VesselTypeEnum.SCIENTIFIC : VesselTypeEnum.ALL); // Change vessel list and gear list when vessel type changes model.addPropertyChangeListener(EditCruiseUIModel.PROPERTY_VESSEL_TYPE, new PropertyChangeListener() { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-02-05 14:07:43 UTC (rev 333) @@ -108,12 +108,12 @@ } #gearLongitudeLabel { - text: "tutti.label.fishingOperation.gearLongitude"; + text: {_("tutti.label.fishingOperation.gearLongitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())}; actionIcon: "coordinates"; } #gearLatitudeLabel { - text: "tutti.label.fishingOperation.gearLatitude"; + text: {_("tutti.label.fishingOperation.gearLatitude", ((CoordinateEditorType)handler.getConfig().getCoordinateEditorType()).toString())}; actionIcon: "coordinates"; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -179,7 +179,7 @@ && latE != null && longE != null) { LatLng start = new LatLng(latS, longS); LatLng end = new LatLng(latE, longE); - Double distance = LatLngTool.distance(start, end, LengthUnit.KILOMETER); + Double distance = LatLngTool.distance(start, end, LengthUnit.METER); source.setTrawlDistance(distance.floatValue()); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -28,11 +28,14 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.service.PersistenceService; +import fr.ifremer.tutti.ui.swing.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.MainUI; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; +import java.awt.BorderLayout; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -41,6 +44,18 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.border.EmptyBorder; +import javax.swing.border.TitledBorder; +import jaxx.runtime.SwingUtil; +import jaxx.runtime.swing.ErrorDialogUI; /** * Handler of UI {@link FishingOperationsUI}. @@ -57,6 +72,11 @@ private final FishingOperationsUI ui; private final PersistenceService persistenceService; + + private static final ExecutorService executorService = + Executors.newSingleThreadExecutor(); + + private static final Timer t = new Timer(); protected SelectFishingOperationAction selectFishingOperationAction; @@ -284,4 +304,6 @@ // FishingOperation operation = getModel().getSelectedFishingOperation(); // selectFishingOperation(operation); // } + + } 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-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-02-05 14:07:43 UTC (rev 333) @@ -106,10 +106,6 @@ layout:{speciesTabPanelLayout}; } -#speciesTabCreateBatchReminderLabel { - title: {_("tutti.title.createBatch")}; -} - #speciesTable { border: {BorderFactory.createTitledBorder(_("tutti.legend.catch.species"))}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-02-05 14:07:43 UTC (rev 333) @@ -309,7 +309,7 @@ <SplitSpeciesBatchUI id='speciesTabSplitBatch' constructorParams='this'/> </JXTitledPanel> - <JXTitledPanel id='speciesTabFrequencyEditorLabel' + <JXTitledPanel id='speciesTabFrequencyEditorReminderLabel' constraints='EditCatchesUIHandler.EDIT_FREQUENCY_CARD'> <SpeciesFrequencyUI id='speciesTabFrequencyEditor' constructorParams='speciesTabContent'/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -39,10 +39,10 @@ import javax.swing.JPanel; import javax.swing.JTabbedPane; -import java.awt.Component; -import java.awt.Container; -import java.awt.LayoutManager; +import org.jdesktop.swingx.JXTitledPanel; +import static org.nuiton.i18n.I18n._; + /** * @author tchemit <chemit@codelutin.com> * @since 0.3 @@ -268,36 +268,40 @@ registerValidators(getValidator(), ui.getSpeciesTabContent().getHandler().getValidator()); } - public void setSelectedCard(String card) { - Component selectedComponent = getTabPanel().getSelectedComponent(); - if (selectedComponent.getClass().isAssignableFrom(JPanel.class)) { - JPanel panel = (JPanel) selectedComponent; - LayoutManager layoutManager = panel.getLayout(); - if (layoutManager.getClass().isAssignableFrom(CardLayout2Ext.class)) { - CardLayout2Ext layout = (CardLayout2Ext) layoutManager; - layout.setSelected(card); + public void setSpeciesSelectedCard(String card) { + JPanel panel = ui.getSpeciesTabPanel(); + CardLayout2Ext layout = (CardLayout2Ext) panel.getLayout(); + layout.setSelected(card); - if (MAIN_CARD.equals(card)) { - registerValidators(); + if (MAIN_CARD.equals(card)) { + registerValidators(); - } else { - Container cardContainer = (Container) layout.getComponent(panel, card); - TuttiUI tuttiUi = null; - if (TuttiUI.class.isInstance(cardContainer)) { - tuttiUi = (TuttiUI) cardContainer; - - } else { - for (Component comp : cardContainer.getComponents()) { - if (TuttiUI.class.isInstance(comp)) { - tuttiUi = (TuttiUI) comp; - } - } - } - if (tuttiUi != null) { - registerValidators(tuttiUi.getHandler().getValidator()); - } - } + } else { + TuttiUI tuttiUi = null; + JXTitledPanel titlePanel = null; + String title = ""; + if (CREATE_BATCH_CARD.equals(card)) { + tuttiUi = ui.getSpeciesTabCreateBatch(); + titlePanel = ui.getSpeciesTabCreateBatchReminderLabel(); + title = "tutti.title.createBatch"; + + } else if (SPLIT_BATCH_CARD.equals(card)) { + tuttiUi = ui.getSpeciesTabSplitBatch(); + titlePanel = ui.getSpeciesTabSplitBatchReminderLabel(); + title = "tutti.title.splitBatch"; + + } else if (EDIT_FREQUENCY_CARD.equals(card)) { + tuttiUi = ui.getSpeciesTabFrequencyEditor(); + titlePanel = ui.getSpeciesTabFrequencyEditorReminderLabel(); + title = "tutti.title.editFrequency"; } + + if (tuttiUi != null) { + registerValidators(tuttiUi.getHandler().getValidator()); + } + if (titlePanel != null) { + titlePanel.setTitle(ui.getSpeciesTabFishingOperationReminderLabel().getTitle() + " - " + _(title)); + } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-02-05 14:07:43 UTC (rev 333) @@ -94,8 +94,6 @@ public static final String PROPERTY_COMPUTED_NUMBER = "computedNumber"; - public static final String PROPERTY_COMPUTED_WEIGHT = "computedWeight"; - public static final String PROPERTY_ATTACHMENTS = "attachments"; public static final String PROPERTY_BATCH_PARENT = "batchParent"; @@ -182,18 +180,11 @@ protected Integer number; /** - * Total computed weight (from frequencies). - * - * @since 0.2 - */ - protected Float computedWeight; - - /** * Total computed number (from frequencies). * * @since 0.2 */ - protected Float computedNumber; + protected Integer computedNumber; /** * Comment on this catches. @@ -569,22 +560,11 @@ firePropertyChange(PROPERTY_FREQUENCY, null, frequency); } - public Float getComputedWeight() { - return computedWeight; - } - - public void setComputedWeight(Float computedWeight) { - Object oldValue = getComputedWeight(); - this.computedWeight = computedWeight; - firePropertyChange(PROPERTY_COMPUTED_WEIGHT, oldValue, - computedWeight); - } - - public Float getComputedNumber() { + public Integer getComputedNumber() { return computedNumber; } - public void setComputedNumber(Float computedNumber) { + public void setComputedNumber(Integer computedNumber) { Object oldValue = getComputedNumber(); this.computedNumber = computedNumber; firePropertyChange(PROPERTY_COMPUTED_NUMBER, oldValue, 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-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -58,6 +58,8 @@ import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent; import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent; import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier; +import java.awt.Color; +import java.awt.Component; import jaxx.runtime.JAXXUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.context.JAXXContextEntryDef; @@ -80,6 +82,9 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.jdesktop.swingx.decorator.ComponentAdapter; +import org.jdesktop.swingx.decorator.HighlightPredicate; +import org.jdesktop.swingx.decorator.Highlighter; import static org.nuiton.i18n.I18n._; import static org.nuiton.i18n.I18n.n_; @@ -635,8 +640,35 @@ table.setModel(tableModel); table.setColumnModel(columnModel); + Color toConfirmColor = getConfig().getColorRowToConfirm(); + // paint the cell in orange if the row is to confirm + Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( + new HighlightPredicate() { + + public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { + int rowIndex = adapter.convertRowIndexToModel(adapter.row); + SpeciesBatchRowModel row = getTableModel().getEntry(rowIndex); + return row.getSpeciesToConfirm(); + } + + }, toConfirmColor); + table.addHighlighter(attachmentHighlighter); + initBatchTable(table, columnModel, tableModel); + + // paint the cell in dark orange if the row is to confirm and the cell is not editable + attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( + new HighlightPredicate() { + public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { + int rowIndex = adapter.convertRowIndexToModel(adapter.row); + SpeciesBatchRowModel row = getTableModel().getEntry(rowIndex); + return row.getSpeciesToConfirm() && !adapter.isEditable(); + } + + }, toConfirmColor.darker()); + table.addHighlighter(attachmentHighlighter); + getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_TABLE_VIEW_MODE, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { @@ -673,7 +705,7 @@ CreateSpeciesBatchUI createBatchEditor = parent.getSpeciesTabCreateBatch(); createBatchEditor.getHandler().openUI(getModel()); - parent.getHandler().setSelectedCard(EditCatchesUIHandler.CREATE_BATCH_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.CREATE_BATCH_CARD); } public void addSpeciesBatch(CreateSpeciesBatchUIModel createModel) { @@ -743,7 +775,7 @@ SplitSpeciesBatchUI splitBatchEditor = parent.getSpeciesTabSplitBatch(); splitBatchEditor.getHandler().editBatch(parentBatch); - parent.getHandler().setSelectedCard(EditCatchesUIHandler.SPLIT_BATCH_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.SPLIT_BATCH_CARD); } } @@ -806,12 +838,12 @@ } public void updateTotalFromFrequencies(SpeciesBatchRowModel row) { - Float totalNumber = null; + Integer totalNumber = null; Float totalWeight = null; List<SpeciesFrequencyRowModel> frequency = row.getFrequency(); if (CollectionUtils.isNotEmpty(frequency)) { - totalNumber = 0f; + totalNumber = 0; totalWeight = 0f; for (SpeciesFrequencyRowModel frequencyModel : frequency) { totalNumber += frequencyModel.getNumber(); @@ -829,7 +861,6 @@ } row.setComputedNumber(totalNumber); - row.setComputedWeight(totalWeight); } //------------------------------------------------------------------------// Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-02-05 14:07:43 UTC (rev 333) @@ -142,7 +142,7 @@ frequencyEditor.getHandler().editBatch(editRow, this); // open frequency editor - parent.getHandler().setSelectedCard(EditCatchesUIHandler.EDIT_FREQUENCY_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.EDIT_FREQUENCY_CARD); } public void validateEdition(SpeciesFrequencyUIModel frequencyModel) { @@ -223,11 +223,9 @@ Preconditions.checkNotNull(editRow, "No editRow found in editor."); - Object result; + Object result = null; if (columnIdentifier == SpeciesBatchTableModel.COMPUTED_NUMBER) { result = editRow.getComputedNumber(); - } else { - result = editRow.getComputedWeight(); } if (log.isInfoEnabled()) { log.info("editor value (" + columnIdentifier + "): " + result); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-02-05 14:07:43 UTC (rev 333) @@ -51,12 +51,8 @@ public static final String PROPERTY_WEIGHT = "weight"; - public static final String PROPERTY_COMPUTED_WEIGHT = "computedWeight"; - - public static final String PROPERTY_LENGHT_STEP_CARACTERISTIC = "lengthStepCaracteristic"; - /** * Length step. * @@ -79,13 +75,6 @@ protected Float weight; /** - * Computed weight from number + relation taille-poids. - * - * @since 0.2 - */ - protected Float computedWeight; - - /** * Length step caracteristic. * * @since 0.3 @@ -157,16 +146,6 @@ firePropertyChange(PROPERTY_WEIGHT, oldValue, weight); } - public Float getComputedWeight() { - return computedWeight; - } - - public void setComputedWeight(Float computedWeight) { - Object oldValue = getComputedWeight(); - this.computedWeight = computedWeight; - firePropertyChange(PROPERTY_COMPUTED_WEIGHT, oldValue, computedWeight); - } - public Caracteristic getLengthStepCaracteristic() { return lengthStepCaracteristic; } @@ -177,12 +156,6 @@ firePropertyChange(PROPERTY_LENGHT_STEP_CARACTERISTIC, oldValue, lengthStepCaracteristic); } -// //TODO Use validator -// @Override -// public boolean isValid() { -// return lengthStep != null && number != null && lengthStepCaracteristic != null; -// } - @Override public int compareTo(SpeciesFrequencyRowModel o) { int result = ordering.compare(lengthStep, o.lengthStep); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-02-05 14:07:43 UTC (rev 333) @@ -60,11 +60,6 @@ n_("tutti.table.species.frequency.header.weight"), n_("tutti.table.species.frequency.header.weight")); - public static final ColumnIdentifier<SpeciesFrequencyRowModel> COMPUTED_WEIGHT = ColumnIdentifier.newId( - SpeciesFrequencyRowModel.PROPERTY_COMPUTED_WEIGHT, - n_("tutti.table.species.frequency.header.computedWeight"), - n_("tutti.table.species.frequency.header.computedWeight")); - private final SpeciesFrequencyUIModel uiModel; private final Map<Float, SpeciesFrequencyRowModel> rowCache; @@ -74,7 +69,7 @@ super(columnModel, true, true); this.uiModel = uiModel; this.rowCache = Maps.newTreeMap(); - setNoneEditableCols(COMPUTED_WEIGHT); + setNoneEditableCols(); } @Override 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-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -89,8 +89,7 @@ super(context, SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP, SpeciesFrequencyRowModel.PROPERTY_NUMBER, - SpeciesFrequencyRowModel.PROPERTY_WEIGHT, - SpeciesFrequencyRowModel.PROPERTY_COMPUTED_WEIGHT); + SpeciesFrequencyRowModel.PROPERTY_WEIGHT); this.ui = ui; } @@ -257,13 +256,6 @@ TuttiUI.DECIMAL3_PATTERN); } - { // ComputedWeight - - addFloatColumnToModel(columnModel, - SpeciesFrequencyTableModel.COMPUTED_WEIGHT, - TuttiUI.DECIMAL3_PATTERN); - } - // create table model SpeciesFrequencyTableModel tableModel = new SpeciesFrequencyTableModel(columnModel, model); @@ -295,7 +287,7 @@ getModel().setValid(false); EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class); - parent.getHandler().setSelectedCard(EditCatchesUIHandler.MAIN_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.MAIN_CARD); } //------------------------------------------------------------------------// @@ -415,7 +407,7 @@ newRow.setLengthStepCaracteristic(rowModel.getLengthStepCaracteristic()); newRow.setLengthStep(rowModel.getLengthStep()); newRow.setNumber(rowModel.getNumber()); - newRow.setComputedWeight(rowModel.getComputedWeight()); + newRow.setWeight(rowModel.getWeight()); editFrequency.add(newRow); } @@ -476,8 +468,8 @@ ui.getValidator().setBean(model); model.setRows(editFrequency); - model.setStep(lengthStep); model.setLengthStepCaracteristic(lengthStepCaracteristic); + model.setSimpleCount(speciesBatch.getComputedNumber()); SpeciesFrequencyUIModel.ConfigurationMode mode = SpeciesFrequencyUIModel.ConfigurationMode.SIMPLE; if (protocol != null) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -180,7 +180,7 @@ getModel().setValid(false); EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class); - parent.getHandler().setSelectedCard(EditCatchesUIHandler.MAIN_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.MAIN_CARD); } 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-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -232,7 +232,7 @@ getModel().setValid(false); EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class); - parent.getHandler().setSelectedCard(EditCatchesUIHandler.MAIN_CARD); + parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.MAIN_CARD); } //------------------------------------------------------------------------// Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -221,7 +221,6 @@ if (mustClone != null && mustClone) { ui.setContextValue(false, MainUIHandler.CLONE_PROTOCOL); model.setId(null); - model.setName(null); } } else { @@ -265,12 +264,13 @@ addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.WEIGHT_ENABLED, table); addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.COUNT_IF_NO_FREQUENCY_ENABLED, table); - addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.SIZE_ENABLED, table); addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.SEX_ENABLED, table); addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.MATURITY_ENABLED, table); addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.AGE_ENABLED, table); + + addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); EditProtocolSpeciesTableModel tableModel = new EditProtocolSpeciesTableModel(columnModel); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-02-05 14:07:43 UTC (rev 333) @@ -47,7 +47,6 @@ import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.jdesktop.swingx.decorator.ComponentAdapter; -import org.jdesktop.swingx.decorator.HighlightPredicate; import org.jdesktop.swingx.decorator.Highlighter; import org.jdesktop.swingx.table.TableColumnExt; import org.nuiton.util.decorator.Decorator; @@ -75,6 +74,7 @@ import java.util.Enumeration; import java.util.List; import java.util.Set; +import org.jdesktop.swingx.decorator.HighlightPredicate; import static org.nuiton.i18n.I18n._; @@ -298,25 +298,15 @@ Highlighter commentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( new HighlightPredicate.AndHighlightPredicate( new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT), - new HighlightPredicate() { - @Override - public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { - boolean result = adapter.getValue() != null; - return result; - } - }), cellWithValueColor); + new HighlightPredicate.NotHighlightPredicate(new HighlightPredicate.EqualsHighlightPredicate()) + ), cellWithValueColor); table.addHighlighter(commentHighlighter); Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( new HighlightPredicate.AndHighlightPredicate( new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.ATTACHMENTS), - new HighlightPredicate() { - @Override - public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { - boolean result = adapter.getValue() != null; - return result; - } - }), cellWithValueColor); + new HighlightPredicate.NotHighlightPredicate(new HighlightPredicate.EqualsHighlightPredicate()) + ), cellWithValueColor); table.addHighlighter(attachmentHighlighter); // paint in a special color inValid rows Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-05 14:01:13 UTC (rev 332) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-02-05 14:07:43 UTC (rev 333) @@ -174,8 +174,8 @@ tutti.label.fishingOperation.fishingOperationValid=Trait valide tutti.label.fishingOperation.gear=Engin tutti.label.fishingOperation.gearDate=Date -tutti.label.fishingOperation.gearLatitude=Latitude -tutti.label.fishingOperation.gearLongitude=Longitude +tutti.label.fishingOperation.gearLatitude=Latitude (%s) +tutti.label.fishingOperation.gearLongitude=Longitude (%s) tutti.label.fishingOperation.gearShootingEnd=Fin de traine tutti.label.fishingOperation.gearShootingStart=Début de traine tutti.label.fishingOperation.gearTime=Heure @@ -185,7 +185,7 @@ tutti.label.fishingOperation.stationNumber=Code Station tutti.label.fishingOperation.strata=Strate tutti.label.fishingOperation.subStrata=Sous strate -tutti.label.fishingOperation.trawlDistance=Distance chalutée +tutti.label.fishingOperation.trawlDistance=Distance chalutée (m) tutti.label.fishingOperation.vessel=Navire tutti.label.frequencyConfiguration.lengthStepCaracteristic=Type de mesure tutti.label.frequencyConfiguration.maxStep=Classe max @@ -273,6 +273,7 @@ tutti.option.ui.color.cellWithValue.description=Couleur d'une cellule avec des données tutti.option.ui.color.rowInvalid.description=Ligne invalide tutti.option.ui.color.rowReadOnly.description=Cellule non éditable +tutti.option.ui.color.rowToConfirm.description=Ligne à confirmer tutti.option.ui.config.file.description=Chemin du fichier de configuration des interfaces graphiques tutti.option.ui.coordinateEditorType.description=Type de l'éditeur de coordonnées tutti.option.ui.dateFormat.description=Format de dates @@ -370,11 +371,12 @@ tutti.title.create.cruise=Créer une nouvelle campagne tutti.title.create.program=Créer une nouvelle série de campagne tutti.title.create.protocol=Créer un nouveau protocol de saisie -tutti.title.createBatch=Créer un lot pour une nouvelle espèce +tutti.title.createBatch=Création d'un lot tutti.title.edit.cruise=Éditer une campagne existante tutti.title.edit.operations=Saisie des opérations de pêches (%s) tutti.title.edit.program=Éditer une série de campagne existante tutti.title.edit.protocol=Éditer un protocol de saisie existant +tutti.title.editFrequency=Mensuration tutti.title.home=Sélection de la campagne tutti.title.noSelectedCruise=Pas de campagne sélectionné tutti.title.noSelectedProgram=Pas de série de campagne sélectionné @@ -382,6 +384,7 @@ tutti.title.selectedCruise=Campagne %s tutti.title.selectedProgram=Série de campagne %s tutti.title.selectedProtocol=Protocole %s +tutti.title.splitBatch=Catégorisation du lot tutti.title.validate.operations=Validation des opérations de pêches (%s) tutti.to.be.done=< A FAIRE > tutti.tooltip.attachment.none=Pas de pièce-jointes
participants (1)
-
kmorin@users.forge.codelutin.com