Author: kmorin Date: 2013-01-11 18:47:58 +0100 (Fri, 11 Jan 2013) New Revision: 178 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/178 Log: [Trait] Mise en page [PMFM] ajout des unit?\195?\169s et des lignes par d?\195?\169faut du protocole [Captures] mise en page 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.jaxx 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/fishing/environment/EnvironmentTabUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.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/TuttiUIUtil.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/content/operation/EditFishingOperationUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-01-11 17:47:58 UTC (rev 178) @@ -21,7 +21,7 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ - + JToolBar { floatable: false; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-11 17:47:58 UTC (rev 178) @@ -121,20 +121,30 @@ <!-- Numero station / Numéro trait / Date --> <row> - <cell anchor='west'> - <JLabel id='stationNumberLabel'/> + <cell columns='6'> + <Table fill="both" weightx='1'> + <row> + <cell> + <JPanel layout="{new BorderLayout()}"> + <JLabel id='stationNumberLabel' + constraints='BorderLayout.WEST'/> + <JTextField id='stationNumberField' + constraints='BorderLayout.CENTER' + onKeyReleased='handler.setText(event, "stationNumber")'/> + </JPanel> + </cell> + <cell> + <JPanel layout="{new BorderLayout()}"> + <JLabel id='fishingOperationNumberLabel' + constraints='BorderLayout.WEST'/> + <NumberEditor id='fishingOperationNumberField' + constraints='BorderLayout.CENTER' + constructorParams='this'/> + </JPanel> + </cell> + </row> + </Table> </cell> - <cell weightx='0.3'> - <JTextField id='stationNumberField' - onKeyReleased='handler.setText(event, "stationNumber")'/> - </cell> - <cell> - <JLabel id='fishingOperationNumberLabel'/> - </cell> - <cell weightx='0.3'> - <NumberEditor id='fishingOperationNumberField' - constructorParams='this'/> - </cell> </row> <!-- Strate d'association / Sous Strate / Localité --> @@ -360,7 +370,7 @@ </row> <!-- Commentaire --> - <row weighty='0.3'> + <row weighty='0.3' fill='both'> <cell columns='6' fill='both'> <JScrollPane id='commentPane' onFocusGained='commentField.requestFocus()'> 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-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-01-11 17:47:58 UTC (rev 178) @@ -34,7 +34,7 @@ } #catchTotalWeightLabel { - text: "tutti.label.catches.catchTotalWeight"; + text: { "<html><strong>" + _("tutti.label.catches.catchTotalWeight") + "</strong></html>" }; labelFor: {catchTotalWeightField}; } @@ -45,8 +45,12 @@ numberPattern: {INT_6_DIGITS_PATTERN}; } +#catchTotalSortedWeightLabel { + text: "tutti.label.catches.catchTotalSortedWeight"; +} + #catchTotalSortedTremisWeightLabel { - text: "tutti.label.catches.catchTotalSortedTremisWeight"; + text: { _("tutti.label.catches.catchTotalSortedTremisWeight") + "*" }; labelFor: {catchTotalSortedTremisWeightField}; } @@ -58,7 +62,7 @@ } #catchTotalSortedCarousselWeightLabel { - text: "tutti.label.catches.catchTotalSortedCarousselWeight"; + text: { _("tutti.label.catches.catchTotalSortedCarousselWeight") + "*" }; labelFor: {catchTotalSortedCarousselWeightField}; } @@ -91,12 +95,16 @@ text: {getStringValue(model.getCatchTotalUnsortedWeight())}; } +#catchThalassaLabel { + text: { "* " + _("tutti.label.catches.catchThalassa")}; +} + #speciesTable { border: {BorderFactory.createTitledBorder(_("tutti.legend.catch.species"))}; } #speciesTotalWeightLabel { - text: "tutti.label.catches.speciesTotalWeight"; + text: { "<html><strong>" + _("tutti.label.catches.speciesTotalWeight") + "</strong></html>" }; labelFor: {speciesTotalWeightField}; } @@ -120,7 +128,7 @@ } #speciesTotalSampleSortedWeightLabel { - text: "tutti.label.catches.speciesTotalSampleSortedWeight"; + text: { "<html><em>" + _("tutti.label.catches.speciesTotalSampleSortedWeight") + "</em></html>" }; labelFor: {speciesTotalSampleSortedWeightField}; } @@ -146,7 +154,7 @@ } #benthosTotalWeightLabel { - text: "tutti.label.catches.benthosTotalWeight"; + text: { "<html><strong>" + _("tutti.label.catches.benthosTotalWeight") + "</strong></html>" }; labelFor: {benthosTotalWeightField}; } @@ -170,7 +178,7 @@ } #benthosTotalSampleSortedWeightLabel { - text: "tutti.label.catches.benthosTotalSampleSortedWeight"; + text: { "<html><em>" + _("tutti.label.catches.benthosTotalSampleSortedWeight") + "</em></html>" }; labelFor: {benthosTotalSampleSortedWeightField}; } @@ -196,7 +204,7 @@ } #macroWasteTotalWeightLabel { - text: "tutti.label.catches.macroWasteTotalWeight"; + text: { "<html><strong>" + _("tutti.label.catches.macroWasteTotalWeight") + "</strong></html>" }; labelFor: {macroWasteTotalWeightField}; } 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-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-01-11 17:47:58 UTC (rev 178) @@ -101,7 +101,7 @@ <Table id="catchesForm" fill='both' weightx='1' constraints='BorderLayout.NORTH'> <row> - <cell columns='2'> + <cell> <Table id='catchTable' fill='both'> <!-- Poids total capture --> @@ -109,51 +109,59 @@ <cell anchor='west'> <JLabel id='catchTotalWeightLabel'/> </cell> - <cell weightx='1.0'> + <cell columns='4'> <NumberEditor id='catchTotalWeightField' constructorParams='this'/> </cell> - <cell columns="2"> - </cell> </row> <!-- Poids total trié balance tremis / caroussel--> <row> <cell anchor='west'> - <JLabel id='catchTotalSortedTremisWeightLabel'/> + <JLabel id='catchTotalSortedWeightLabel'/> </cell> + <cell anchor='west'> + <JLabel id='catchTotalSortedCarousselWeightLabel'/> + </cell> <cell weightx='1.0'> - <NumberEditor id='catchTotalSortedTremisWeightField' + <NumberEditor id='catchTotalSortedCarousselWeightField' constructorParams='this'/> </cell> <cell anchor='west'> - <JLabel id='catchTotalSortedCarousselWeightLabel'/> + <JLabel id='catchTotalSortedTremisWeightLabel'/> </cell> <cell weightx='1.0'> - <NumberEditor id='catchTotalSortedCarousselWeightField' + <NumberEditor id='catchTotalSortedTremisWeightField' constructorParams='this'/> </cell> </row> - - <!-- Poids total rejeté / Poids total hors vrac --> + <!--Poids total hors vrac--> <row> <cell> + <JLabel id='catchTotalUnsortedWeightLabel'/> + </cell> + <cell columns='4'> + <JTextField id='catchTotalUnsortedWeightField'/> + </cell> + </row> + <!-- Poids total rejeté --> + <row> + <cell> <JLabel id='catchTotalRejectedWeightLabel'/> </cell> - <cell> + <cell columns='4'> <NumberEditor id='catchTotalRejectedWeightField' constructorParams='this'/> </cell> - <cell> - <JLabel id='catchTotalUnsortedWeightLabel'/> - </cell> - <cell> - <JTextField id='catchTotalUnsortedWeightField'/> - </cell> </row> </Table> </cell> </row> <row> + <cell anchor='west' insets='0, 20, 3, 0'> + <JLabel id='catchThalassaLabel'/> + </cell> + </row> + <row> <cell> <Table id='speciesTable' fill='both'> @@ -199,6 +207,8 @@ </row> </Table> </cell> + </row> + <row> <cell> <Table id='benthosTable' fill='both'> <!-- Poids total capture --> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178) @@ -67,6 +67,7 @@ <script><![CDATA[ public EnvironmentTabUI(EditFishingOperationUI parentUI) { + JAXXUtil.initContext(this, parentUI); EnvironmentTabUIHandler handler = new EnvironmentTabUIHandler(parentUI, this); setContextValue(handler); handler.beforeInitUI(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178) @@ -29,13 +29,14 @@ import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor; import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; -import java.util.Collection; import java.util.List; import jaxx.runtime.swing.editor.bean.BeanComboBox; import org.apache.commons.logging.Log; @@ -153,7 +154,7 @@ addColumnToModel(columnModel, null, - newTableCellRender(Caracteristic.class), + newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT), EnvironmentTableModel.KEY); } @@ -227,21 +228,35 @@ environmentCaracteristics = new CaracteristicMap(); } + TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class); + List<String> environmentPmfmIds = Lists.newArrayList(); + if (protocol != null) { + environmentPmfmIds.addAll(protocol.getEnvironmentPmfmId()); + } + List<EnvironmentRowModel> rows = Lists.newArrayList(); - Collection<Caracteristic> caracteristics = environmentCaracteristics.keySet(); + List<Caracteristic> caracteristics = Lists.newArrayList(environmentCaracteristics.keySet()); + List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics(); + for (String id : environmentPmfmIds) { + Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id); + if (!caracteristics.contains(caracteristic)) { + caracteristics.add(caracteristic); + } + } + for (Caracteristic key : caracteristics) { EnvironmentRowModel newRow = tableModel.createNewRow(); newRow.setKey(key); newRow.setValue(environmentCaracteristics.get(key)); rows.add(newRow); } - + model.setRows(rows); List<Caracteristic> caracteristicList = Lists.newArrayList(); - for (Caracteristic caracteristic : model.getAvailableCaracteristics()) { + for (Caracteristic caracteristic : availableCaracteristics) { if (!caracteristics.contains(caracteristic)) { caracteristicList.add(caracteristic); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178) @@ -66,6 +66,7 @@ <script><![CDATA[ public GearShootingTabUI(EditFishingOperationUI parentUI) { + JAXXUtil.initContext(this, parentUI); GearShootingTabUIHandler handler = new GearShootingTabUIHandler(parentUI, this); setContextValue(handler); handler.beforeInitUI(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178) @@ -29,21 +29,21 @@ import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor; import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; +import java.util.List; import jaxx.runtime.swing.editor.bean.BeanComboBox; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; -import java.util.Collection; -import java.util.List; - /** * @author kmorin * @since 0.3 @@ -156,7 +156,7 @@ addColumnToModel(columnModel, null, - newTableCellRender(Caracteristic.class), + newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT), GearShootingTableModel.KEY); } @@ -231,9 +231,23 @@ gearShootingCaracteristics = new CaracteristicMap(); } + TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class); + List<String> gearPmfmIds = Lists.newArrayList(); + if (protocol != null) { + gearPmfmIds.addAll(protocol.getGearPmfmId()); + } + List<GearShootingRowModel> rows = Lists.newArrayList(); - Collection<Caracteristic> caracteristics = gearShootingCaracteristics.keySet(); + List<Caracteristic> caracteristics = Lists.newArrayList(gearShootingCaracteristics.keySet()); + List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics(); + for (String id : gearPmfmIds) { + Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id); + if (!caracteristics.contains(caracteristic)) { + caracteristics.add(caracteristic); + } + } + for (Caracteristic key : caracteristics) { GearShootingRowModel newRow = tableModel.createNewRow(); newRow.setKey(key); @@ -244,7 +258,7 @@ List<Caracteristic> caracteristicList = Lists.newArrayList(); - for (Caracteristic caracteristic : model.getAvailableCaracteristics()) { + for (Caracteristic caracteristic : availableCaracteristics) { if (!caracteristics.contains(caracteristic)) { caracteristicList.add(caracteristic); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178) @@ -67,6 +67,7 @@ <script><![CDATA[ public HydrologyTabUI(EditFishingOperationUI parentUI) { + JAXXUtil.initContext(this, parentUI); HydrologyTabUIHandler handler = new HydrologyTabUIHandler(parentUI, this); setContextValue(handler); handler.beforeInitUI(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178) @@ -30,7 +30,9 @@ import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil; import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil.Type; @@ -38,19 +40,17 @@ import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor; import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; -import jaxx.runtime.swing.editor.bean.BeanComboBox; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.jdesktop.swingx.JXTable; -import org.jdesktop.swingx.table.DefaultTableColumnModelExt; - import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; +import jaxx.runtime.swing.editor.bean.BeanComboBox; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXTable; +import org.jdesktop.swingx.table.DefaultTableColumnModelExt; /** * @author kmorin @@ -68,7 +68,7 @@ */ protected final HydrologyTabUI ui; - protected Map<Caracteristic, Map<Type, Caracteristic>> availableCaracteristics; + protected Map<Caracteristic, Map<Type, Caracteristic>> availableGlobalCaracteristics; public HydrologyTabUIHandler(EditFishingOperationUI parentUi, HydrologyTabUI ui) { @@ -158,15 +158,15 @@ public void propertyChange(PropertyChangeEvent evt) { List<Caracteristic> hydrologyPmfm = (List<Caracteristic>) evt.getNewValue(); - availableCaracteristics = Maps.newHashMap(); + availableGlobalCaracteristics = Maps.newHashMap(); if (hydrologyPmfm != null) { for (Caracteristic caracteristic : hydrologyPmfm) { String name = HydrologicCaracteristicUtil.getGlobalName(caracteristic.getName()); Caracteristic globalCaracteristic = HydrologicCaracteristicUtil.createGlobalCaracteristic(name, caracteristic); - Map<Type, Caracteristic> values = availableCaracteristics.get(globalCaracteristic); + Map<Type, Caracteristic> values = availableGlobalCaracteristics.get(globalCaracteristic); if (values == null) { values = Maps.newHashMap(); - availableCaracteristics.put(globalCaracteristic, values); + availableGlobalCaracteristics.put(globalCaracteristic, values); } Type type = HydrologicCaracteristicUtil.getTypeOfCaracteristic(caracteristic); values.put(type, caracteristic); @@ -193,7 +193,7 @@ addColumnToModel(columnModel, null, - newTableCellRender(Caracteristic.class), + newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT), HydrologyTableModel.KEY); } @@ -283,13 +283,28 @@ hydrologyCaracteristics = new CaracteristicMap(); } + TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class); + List<String> gearPmfmIds = Lists.newArrayList(); + if (protocol != null) { + gearPmfmIds.addAll(protocol.getHydrologyPmfmId()); + } + List<HydrologyRowModel> rows = Lists.newArrayList(); List<Caracteristic> caracteristicList = Lists.newArrayList(); - Collection<Caracteristic> selectedCaracteristics = hydrologyCaracteristics.keySet(); - Set<Caracteristic> globalCaracteristics = availableCaracteristics.keySet(); + List<Caracteristic> selectedCaracteristics = Lists.newArrayList(hydrologyCaracteristics.keySet()); + + List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics(); + for (String id : gearPmfmIds) { + Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id); + if (!selectedCaracteristics.contains(caracteristic)) { + selectedCaracteristics.add(caracteristic); + } + } + + Set<Caracteristic> globalCaracteristics = availableGlobalCaracteristics.keySet(); for (Caracteristic availableCaracteristic : globalCaracteristics) { - Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(availableCaracteristic); + Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(availableCaracteristic); //should add the global caracteristic to the combo or to the table? boolean selectedCaracteristic = false; @@ -328,7 +343,7 @@ FishingOperation fishingOperation = getModel().getFishingOperation(); Preconditions.checkNotNull(fishingOperation); - Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(row.getKey()); + Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(row.getKey()); for (Type type : caracteristics.keySet()) { Caracteristic caracteristic = caracteristics.get(type); fishingOperation.getHydrologyCaracteristics().remove(caracteristic); @@ -366,7 +381,7 @@ if (fishingOperation.getHydrologyCaracteristics() == null) { fishingOperation.setHydrologyCaracteristics(new CaracteristicMap()); } - Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(row.getKey()); + Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(row.getKey()); CaracteristicMap map = new CaracteristicMap(); for (Type type : caracteristics.keySet()) { Serializable value = null; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-01-11 17:47:58 UTC (rev 178) @@ -50,6 +50,8 @@ public static final String PROPERTY_AGE_ENABLED = "ageEnabled"; public static final String PROPERTY_LENGTH_STEP_PMFM = "lengthStepPmfm"; + + public static final String PROPERTY_SORTED_UNSORTED = "sortedUnsorted"; protected Species species; @@ -60,6 +62,8 @@ protected boolean maturityEnabled; protected boolean ageEnabled; + + protected boolean sortedUnsorted; protected Caracteristic lengthStepPmfm; @@ -129,6 +133,16 @@ firePropertyChange(PROPERTY_AGE_ENABLED, oldValue, ageEnabled); } + public boolean isSortedUnsorted() { + return sortedUnsorted; + } + + public void setSortedUnsorted(boolean sortedUnsorted) { + Object oldValue = isSortedUnsorted(); + this.sortedUnsorted = sortedUnsorted; + firePropertyChange(PROPERTY_SORTED_UNSORTED, oldValue, sortedUnsorted); + } + public String getLengthStepPmfmId() { return lengthStepPmfm != null ? lengthStepPmfm.getId() : null; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-01-11 17:47:58 UTC (rev 178) @@ -66,6 +66,11 @@ EditProtocolSpeciesRowModel.PROPERTY_LENGTH_STEP_PMFM, n_("tutti.table.protocol.species.header.lengthStep"), n_("tutti.table.protocol.species.header.lengthStep")); + + public static final ColumnIdentifier<EditProtocolSpeciesRowModel> SORTED_UNSORTED = ColumnIdentifier.newId( + EditProtocolSpeciesRowModel.PROPERTY_SORTED_UNSORTED, + n_("tutti.table.protocol.species.header.sortedUnsorted"), + n_("tutti.table.protocol.species.header.sortedUnsorted")); private static final long serialVersionUID = 1L; 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-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-11 17:47:58 UTC (rev 178) @@ -104,6 +104,7 @@ columToSampleCategory.put(EditProtocolSpeciesTableModel.SEX_ENABLED, SampleCategoryEnum.sex); columToSampleCategory.put(EditProtocolSpeciesTableModel.MATURITY_ENABLED, SampleCategoryEnum.maturity); columToSampleCategory.put(EditProtocolSpeciesTableModel.AGE_ENABLED, SampleCategoryEnum.age); + columToSampleCategory.put(EditProtocolSpeciesTableModel.SORTED_UNSORTED, SampleCategoryEnum.sortedUnsorted); } //------------------------------------------------------------------------// Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-01-11 17:47:58 UTC (rev 178) @@ -251,9 +251,7 @@ public static String getDuration(Date startDate, Date endDate, String format) { String duration = ""; - DateFormat df = DateFormat.getTimeInstance(); if (startDate != null && endDate != null) { - log.info(df.format(startDate) + " " + df.format(endDate)); duration = DurationFormatUtils.formatPeriod( startDate.getTime(), endDate.getTime() + 60000, _(format)); } 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-01-11 17:42:37 UTC (rev 177) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-11 17:47:58 UTC (rev 178) @@ -59,22 +59,24 @@ tutti.label.attachmentEditor.file=Fichier tutti.label.attachmentEditor.fileComment=Commentaire tutti.label.attachmentEditor.fileName=Nom -tutti.label.catches.benthosTotalSampleSortedWeight=Poids total vrac échantillonné -tutti.label.catches.benthosTotalSortedWeight=Poids total vrac -tutti.label.catches.benthosTotalUnsortedWeight=Poids total hors vrac -tutti.label.catches.benthosTotalWeight=Poids total -tutti.label.catches.catchTotalRejectedWeight=Poids total rejeté -tutti.label.catches.catchTotalSortedCarousselWeight=Poids total vrac (Caroussel) -tutti.label.catches.catchTotalSortedTremisWeight=Poids total vrac (Tremis) -tutti.label.catches.catchTotalUnsortedWeight=Poids total hors vrac -tutti.label.catches.catchTotalWeight=Poids total -tutti.label.catches.macroWasteTotalWeight=Poids total +tutti.label.catches.benthosTotalSampleSortedWeight=Poids VRAC trié (kg) +tutti.label.catches.benthosTotalSortedWeight=Poids total VRAC (kg) +tutti.label.catches.benthosTotalUnsortedWeight=Poids total HORS VRAC (kg) +tutti.label.catches.benthosTotalWeight=Poids TOTAL (kg) +tutti.label.catches.catchThalassa=sur Thalassa +tutti.label.catches.catchTotalRejectedWeight=Poids total REJETÉ (kg) +tutti.label.catches.catchTotalSortedCarousselWeight=Caroussel Observé +tutti.label.catches.catchTotalSortedTremisWeight=Tremis +tutti.label.catches.catchTotalSortedWeight=Poids total VRAC (kg) +tutti.label.catches.catchTotalUnsortedWeight=Poids total HORS VRAC (kg) +tutti.label.catches.catchTotalWeight=Poids TOTAL (kg) +tutti.label.catches.macroWasteTotalWeight=Poids TOTAL (kg) tutti.label.catches.planktonTotalSampleWeight=Poids total échantillonné tutti.label.catches.planktonTotalWeight=Poids total -tutti.label.catches.speciesTotalSampleSortedWeight=Poids total vrac échantillonné -tutti.label.catches.speciesTotalSortedWeight=Poids total vrac -tutti.label.catches.speciesTotalUnsortedWeight=Poids total hors vrac -tutti.label.catches.speciesTotalWeight=Poids total +tutti.label.catches.speciesTotalSampleSortedWeight=Poids VRAC trié (kg) +tutti.label.catches.speciesTotalSortedWeight=Poids total VRAC (kg) +tutti.label.catches.speciesTotalUnsortedWeight=Poids total HORS VRAC (kg) +tutti.label.catches.speciesTotalWeight=Poids TOTAL (kg) tutti.label.comment=Commentaire tutti.label.createSpeciesBatch.batchWeight=Poids du lot tutti.label.createSpeciesBatch.species=Espèce du lot