This is an automated email from the git hooks/post-receive script. New commit to branch feature/5823 in repository tutti. See http://git.codelutin.com/tutti.git commit fe05bc22bea443ae00a87093ad4bfffbb38f3cc9 Merge: 0a15155 36bc899 Author: Kevin Morin <morin@codelutin.com> Date: Thu Jan 15 18:17:16 2015 +0100 - popup de saisie des poids - i18n pour les labels pom.xml | 4 +- .../adagio/core/dao/referential/pmfm/PmfmId2.java | 190 --------- .../tutti/persistence/TuttiPersistenceImpl.java | 431 +++++++++++++-------- .../persistence/TuttiPersistenceNoDbImpl.java | 15 +- .../TuttiPersistenceServiceImplementor.java | 2 + .../service/AbstractPersistenceService.java | 27 +- .../AccidentalBatchPersistenceServiceImpl.java | 5 +- .../service/ReferentialPersistenceServiceImpl.java | 5 +- .../service/TechnicalPersistenceService.java | 18 +- .../service/TechnicalPersistenceServiceImpl.java | 18 +- .../service/UpdateSchemaContextSupport.java | 111 ++++++ .../CaracteristicPersistenceServiceImpl.java | 5 +- .../tutti/persistence/test/DatabaseFixtures.java | 10 - .../i18n/tutti-persistence_en_GB.properties | 25 -- .../i18n/tutti-persistence_fr_FR.properties | 25 -- .../resources/tutti-db-enumerations.properties | 3 - .../persistence/TuttiPersistenceWriteTest.java | 68 ---- .../ifremer/tutti/service/PersistenceService.java | 19 +- .../fr/ifremer/tutti/service/TuttiDataContext.java | 15 +- .../ifremer/tutti/service/ServiceDbResource.java | 4 +- .../fr/ifremer/tutti/service/UpdateSchemaTest.java | 69 ---- .../catches/WeightComputingServiceTest.java | 3 +- tutti-ui-swing/src/license/THIRD-PARTY.properties | 4 +- tutti-ui-swing/src/main/help/fr/dbMapping.html | 20 +- .../fr/ifremer/tutti/ui/swing/TuttiUIContext.java | 9 +- .../tutti/ui/swing/action/ExportDbAction.java | 15 +- .../tutti/ui/swing/action/ImportDbAction.java | 184 ++++----- .../tutti/ui/swing/action/OpenDbAction.java | 207 +++++----- .../ui/swing/content/db/DbManagerUIHandler.java | 2 +- .../content/operation/catches/EditCatchesUI.jaxx | 2 +- .../operation/catches/EditCatchesUIHandler.java | 185 +++++---- .../benthos/frequency/BenthosFrequencyUI.css | 3 +- .../create/CreateMarineLitterBatchUI.css | 3 +- .../species/frequency/SpeciesFrequencyUI.css | 3 +- .../tutti/ui/swing/util/catches/EnterWeightUI.css | 50 +++ .../tutti/ui/swing/util/catches/EnterWeightUI.jaxx | 64 +++ .../swing/util/catches/EnterWeightUIHandler.java | 99 +++++ .../computable/ComputableDataEditorHandler.java | 2 +- .../ui/swing/util/species/EnterMelagWeightUI.css | 72 +--- tutti-ui-swing/src/main/resources/EcranResume.svg | 278 ++++++------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 15 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 25 +- 42 files changed, 1235 insertions(+), 1079 deletions(-) diff --cc tutti-ui-swing/src/license/THIRD-PARTY.properties index 6f0e075,35a4659..98174e1 --- a/tutti-ui-swing/src/license/THIRD-PARTY.properties +++ b/tutti-ui-swing/src/license/THIRD-PARTY.properties @@@ -39,7 -40,20 +41,7 @@@ # Please fill the missing licenses for dependencies : # # - #Wed Jan 14 16:32:28 CET 2015 -#Mon Jan 12 10:25:47 CET 2015 -batik--batik-awt-util--1.6=The Apache Software License, Version 2.0 -batik--batik-bridge--1.6=The Apache Software License, Version 2.0 -batik--batik-css--1.6=The Apache Software License, Version 2.0 -batik--batik-dom--1.6=The Apache Software License, Version 2.0 -batik--batik-ext--1.6=The Apache Software License, Version 2.0 -batik--batik-gvt--1.6=The Apache Software License, Version 2.0 -batik--batik-parser--1.6=The Apache Software License, Version 2.0 -batik--batik-script--1.6=The Apache Software License, Version 2.0 -batik--batik-svg-dom--1.6=The Apache Software License, Version 2.0 -batik--batik-svggen--1.6=The Apache Software License, Version 2.0 -batik--batik-transcoder--1.6=The Apache Software License, Version 2.0 -batik--batik-util--1.6=The Apache Software License, Version 2.0 -batik--batik-xml--1.6=The Apache Software License, Version 2.0 ++#Thu Jan 15 14:23:58 CET 2015 commons-codec--commons-codec--1.2=The Apache Software License, Version 2.0 commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1=BSD License diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx index d0c7010,f1449ce..e550e19 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx @@@ -109,15 -109,6 +109,15 @@@ public EditCatchesUI(FishingOperationsU </JToolBar> <JTabbedPane id='tabPane' constraints='BorderLayout.CENTER'> + <tab id='svgTab'> + <JXTitledPanel id='svgTabPane'> + <JScrollPane id='svgTabScrollPane'> - <JPanel layout='{new BorderLayout()}' id="testSvg"> ++ <JPanel layout='{new BorderLayout()}' id='svgCanvasPanel'> + </JPanel> + </JScrollPane> + </JXTitledPanel> + </tab> + <tab id='catchesCaracteristicsTab'> <JXTitledPanel id='catchesCaracteristicsTabPane'> <JScrollPane id='catchesCaracteristicsTabScrollPane'> diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java index ef6a7fc,93ef048..3e6aaeb --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java @@@ -23,10 -23,6 +23,12 @@@ package fr.ifremer.tutti.ui.swing.conte */ import com.google.common.collect.Sets; +import fr.ifremer.tutti.TuttiConfiguration; +import fr.ifremer.tutti.persistence.entities.data.CatchBatch; +import fr.ifremer.tutti.type.WeightUnit; ++import fr.ifremer.tutti.ui.swing.util.catches.EnterWeightUI; +import fr.ifremer.tutti.ui.swing.util.computable.ComputableData; ++import fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor; import fr.ifremer.tutti.util.Weights; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchRowModel; @@@ -42,35 -38,22 +44,33 @@@ import fr.ifremer.tutti.ui.swing.util.T import fr.ifremer.tutti.ui.swing.util.TuttiUI; import jaxx.runtime.swing.CardLayout2Ext; import jaxx.runtime.validator.swing.SwingValidator; ++import org.apache.batik.bridge.UpdateManagerAdapter; +import org.apache.batik.dom.svg.SAXSVGDocumentFactory; +import org.apache.batik.swing.JSVGCanvas; ++import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter; ++import org.apache.batik.swing.svg.SVGDocumentLoaderEvent; +import org.apache.batik.util.XMLResourceDescriptor; - import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTitledPanel; import org.nuiton.jaxx.application.swing.tab.TabHandler; - -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; +import org.nuiton.util.Resource; - import org.nuiton.util.beans.BeanUtil; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.css.CSSStyleDeclaration; +import org.w3c.dom.events.EventListener; +import org.w3c.dom.events.EventTarget; +import org.w3c.dom.svg.SVGStylable; + - import javax.swing.JComponent; - import javax.swing.JLabel; - import javax.swing.JOptionPane; - import javax.swing.JPanel; - import javax.swing.JTabbedPane; ++import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import java.awt.Color; -import java.awt.Component; +import java.awt.*; ++import java.awt.event.MouseAdapter; ++import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; - import java.lang.reflect.InvocationTargetException; +import java.net.URL; import java.util.Set; import static org.nuiton.i18n.I18n.n; @@@ -99,6 -82,6 +99,25 @@@ public class EditCatchesUIHandler exten public static final String CLASSIC_VESSEL = "classicVessel"; ++ static { ++ n("tutti.editCatchBatch.field.catchTotalWeight"); ++ n("tutti.editCatchBatch.field.catchTotalRejectedWeight"); ++ n("tutti.editCatchBatch.field.speciesTotalSortedWeight"); ++ n("tutti.editCatchBatch.field.benthosTotalSortedWeight"); ++ n("tutti.editCatchBatch.field.marineLitterTotalWeight"); ++ ++ n("tutti.editCatchBatch.field.catchTotalSortedComputedWeight"); ++ n("tutti.editCatchBatch.field.catchTotalUnsortedComputedWeight"); ++ n("tutti.editCatchBatch.field.speciesTotalComputedWeight"); ++ n("tutti.editCatchBatch.field.speciesTotalUnsortedComputedWeight"); ++ n("tutti.editCatchBatch.field.speciesTotalSampleSortedComputedWeight"); ++ n("tutti.editCatchBatch.field.benthosTotalComputedWeight"); ++ n("tutti.editCatchBatch.field.benthosTotalUnsortedComputedWeight"); ++ n("tutti.editCatchBatch.field.benthosTotalSampleSortedComputedWeight"); ++ ++ // initSvgField("value_vrac_trie", getModel().getCatchTotalComputedOrNotWeight()); ++ } ++ /** Logger. */ private static final Log log = LogFactory.getLog(EditCatchesUIHandler.class); @@@ -132,6 -115,6 +151,10 @@@ } }; ++ protected JSVGCanvas canvas; ++ ++ protected Document svgDocument; ++ //------------------------------------------------------------------------// //-- AbstractTuttiUIHandler methods --// //------------------------------------------------------------------------// @@@ -196,127 -172,6 +213,131 @@@ closeAttachments(); } }); + - canvas = new JSVGCanvas(); - ui.getTestSvg().add(canvas, BorderLayout.CENTER); ++ TuttiConfiguration config = getConfig(); ++ WeightUnit catchWeightUnit = WeightUnit.KG; ++ WeightUnit speciesWeightUnit = config.getSpeciesWeightUnit(); ++ WeightUnit benthosWeightUnit = config.getBenthosWeightUnit(); ++ WeightUnit marineLitterWeightUnit = config.getMarineLitterWeightUnit(); + + try { + // Parse the barChart.svg file into a Document. + String parser = XMLResourceDescriptor.getXMLParserClassName(); + SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); + URL url = Resource.getURL("EcranResume.svg"); - doc = f.createDocument(url.toString()); ++ svgDocument = f.createDocument(url.toString()); ++ ++ initSvgField(CatchBatch.PROPERTY_CATCH_TOTAL_WEIGHT, getModel().getCatchTotalComputedOrNotWeight(), catchWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_CATCH_TOTAL_REJECTED_WEIGHT, getModel().getCatchTotalRejectedComputedOrNotWeight(), catchWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_SPECIES_TOTAL_SORTED_WEIGHT, getModel().getSpeciesTotalSortedComputedOrNotWeight(), speciesWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_BENTHOS_TOTAL_SORTED_WEIGHT, getModel().getBenthosTotalSortedComputedOrNotWeight(), benthosWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_MARINE_LITTER_TOTAL_WEIGHT, getModel().getMarineLitterTotalComputedOrNotWeight(), marineLitterWeightUnit); + - svg = doc.getDocumentElement(); ++ initSvgField(CatchBatch.PROPERTY_CATCH_TOTAL_SORTED_COMPUTED_WEIGHT, catchWeightUnit); ++ // initSvgField("value_vrac_trie", getModel().getCatchTotalComputedOrNotWeight()); ++ initSvgField(CatchBatch.PROPERTY_CATCH_TOTAL_UNSORTED_COMPUTED_WEIGHT, catchWeightUnit); + - initSvgField("value_capture_totale", getModel().getCatchTotalComputedOrNotWeight()); - initSvgField("value_vrac_non_trie", getModel().getCatchTotalRejectedComputedOrNotWeight()); - initSvgField("value_espece_vrac_observe", getModel().getSpeciesTotalSortedComputedOrNotWeight()); - initSvgField("value_benthos_vrac_observe", getModel().getBenthosTotalSortedComputedOrNotWeight()); - initSvgField("value_total_macrodechets", getModel().getMarineLitterTotalComputedOrNotWeight()); ++ initSvgField(CatchBatch.PROPERTY_SPECIES_TOTAL_COMPUTED_WEIGHT, speciesWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_SPECIES_TOTAL_UNSORTED_COMPUTED_WEIGHT, speciesWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_SPECIES_TOTAL_SAMPLE_SORTED_COMPUTED_WEIGHT, speciesWeightUnit); ++ ++ initSvgField(CatchBatch.PROPERTY_BENTHOS_TOTAL_COMPUTED_WEIGHT, benthosWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_BENTHOS_TOTAL_UNSORTED_COMPUTED_WEIGHT, benthosWeightUnit); ++ initSvgField(CatchBatch.PROPERTY_BENTHOS_TOTAL_SAMPLE_SORTED_COMPUTED_WEIGHT, benthosWeightUnit); ++ ++ canvas = new JSVGCanvas(); ++ ui.getSvgCanvasPanel().add(canvas, BorderLayout.CENTER); ++ canvas.setRecenterOnResize(true); + + canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); - canvas.setDocument(doc); ++ canvas.setDocument(svgDocument); + + } catch (Exception e) { + if (log.isErrorEnabled()) { - log.error("", e); ++ log.error("error while initializing the resume background", e); + } + } + - TuttiConfiguration config = getConfig(); - WeightUnit catchWeightUnit = WeightUnit.KG; - WeightUnit speciesWeightUnit = config.getSpeciesWeightUnit(); - WeightUnit benthosWeightUnit = config.getBenthosWeightUnit(); - WeightUnit marineLitterWeightUnit = config.getMarineLitterWeightUnit(); - - addWeightPropertyChangeListener("value_capture_totale", getModel().getCatchTotalComputedOrNotWeight(), catchWeightUnit); - addWeightPropertyChangeListener("value_vrac_non_trie", getModel().getCatchTotalRejectedComputedOrNotWeight(), catchWeightUnit); - addWeightPropertyChangeListener("value_vrac", CatchBatch.PROPERTY_CATCH_TOTAL_SORTED_COMPUTED_WEIGHT, catchWeightUnit); - // addWeightPropertyChangeListener("value_vrac_trie", getModel().getCatchTotalComputedOrNotWeight()); - addWeightPropertyChangeListener("value_hors_vrac", CatchBatch.PROPERTY_CATCH_TOTAL_UNSORTED_COMPUTED_WEIGHT, catchWeightUnit); - - addWeightPropertyChangeListener("value_total_especes", CatchBatch.PROPERTY_SPECIES_TOTAL_COMPUTED_WEIGHT, speciesWeightUnit); - addWeightPropertyChangeListener("value_espece_observe", CatchBatch.PROPERTY_SPECIES_TOTAL_UNSORTED_COMPUTED_WEIGHT, speciesWeightUnit); - addWeightPropertyChangeListener("value_espece_trie", CatchBatch.PROPERTY_SPECIES_TOTAL_SAMPLE_SORTED_COMPUTED_WEIGHT, speciesWeightUnit); - addWeightPropertyChangeListener("value_espece_vrac_observe", getModel().getSpeciesTotalSortedComputedOrNotWeight(), speciesWeightUnit); - - addWeightPropertyChangeListener("value_total_benthos", CatchBatch.PROPERTY_BENTHOS_TOTAL_COMPUTED_WEIGHT, benthosWeightUnit); - addWeightPropertyChangeListener("value_benthos_observe", CatchBatch.PROPERTY_BENTHOS_TOTAL_UNSORTED_COMPUTED_WEIGHT, benthosWeightUnit); - addWeightPropertyChangeListener("value_benthos_isole", CatchBatch.PROPERTY_BENTHOS_TOTAL_SAMPLE_SORTED_COMPUTED_WEIGHT, benthosWeightUnit); - addWeightPropertyChangeListener("value_benthos_vrac_observe", getModel().getBenthosTotalSortedComputedOrNotWeight(), benthosWeightUnit); - - addWeightPropertyChangeListener("value_total_macrodechets", getModel().getMarineLitterTotalComputedOrNotWeight(), marineLitterWeightUnit); - } - - protected void addWeightPropertyChangeListener(final String fieldId, - ComputableData<Float> computableData, - final WeightUnit unit) { - computableData.addPropertyChangeListener(new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - ComputableData<Float> computableData = (ComputableData<Float>) evt.getSource(); - - if (computableData.getData() != null) { - updateValue(fieldId, computableData.getData(), unit, false); - - } else { - updateValue(fieldId, computableData.getComputedData(), unit, true); - } - } - }); + } + - protected void addWeightPropertyChangeListener(final String fieldId, - final String property, - final WeightUnit unit) { - getModel().addPropertyChangeListener(property, new PropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent evt) { - Float data = (Float) evt.getNewValue(); - updateValue(fieldId, data, unit, true); - } - }); ++ protected void initSvgField(String property, WeightUnit weightUnit) { ++ initSvgField(property, null, weightUnit); + } + - protected void initSvgField(String fieldId, - final ComputableData<Float> computableData) { - Element el = doc.getElementById(fieldId); - EventTarget target = (EventTarget) el; - target.addEventListener("click", - new EventListener() { - public void handleEvent(org.w3c.dom.events.Event evt) { - computableData.setData(123456789.123f); - } - }, false); ++ protected void initSvgField(final String property, ++ final ComputableData<Float> computableData, ++ final WeightUnit weightUnit) { ++ ++ ++ Element labelElement = svgDocument.getElementById(property + "Label"); ++ labelElement.setTextContent(t("tutti.editCatchBatch.field." + property)); ++ ++ if (computableData != null) { ++ Element element = svgDocument.getElementById(property); ++ EventTarget target = (EventTarget) element; ++ target.addEventListener("click", ++ new EventListener() { ++ public void handleEvent(org.w3c.dom.events.Event evt) { ++ log.info("element clicked"); ++ EnterWeightUI dialog = new EnterWeightUI(getContext()); ++ Float weight = dialog.openAndGetWeightValue(t("tutti.editCatchBatch.field." + property), ++ computableData.getData(), ++ weightUnit); ++ computableData.setData(weight); ++ } ++ }, false); ++ ++ computableData.addPropertyChangeListener(new PropertyChangeListener() { ++ @Override ++ public void propertyChange(PropertyChangeEvent evt) { ++ ComputableData<Float> computableData = (ComputableData<Float>) evt.getSource(); ++ ++ if (computableData.getData() != null) { ++ updateValue(property, computableData.getData(), weightUnit, false); ++ ++ } else { ++ updateValue(property, computableData.getComputedData(), weightUnit, true); ++ } ++ } ++ }); ++ ++ } else { ++ getModel().addPropertyChangeListener(property, new PropertyChangeListener() { ++ @Override ++ public void propertyChange(PropertyChangeEvent evt) { ++ Float data = (Float) evt.getNewValue(); ++ updateValue(property, data, weightUnit, true); ++ } ++ }); ++ } + } + + public void updateValue(final String id, final Float value, final WeightUnit unit, final boolean computed) { + canvas.getUpdateManager().getUpdateRunnableQueue().invokeLater + (new Runnable() { + public void run() { - Element element = doc.getElementById(id); ++ Element element = svgDocument.getElementById(id + "Value"); + if (element == null) { + return; + } + //TODO i18n ? + String textContent; + if (value != null) { + textContent = Weights.getWeightStringValue(value) + " " + unit.getShortLabel(); + } else { + textContent = ""; + } + element.setTextContent(textContent); + + SVGStylable field = (SVGStylable) element; + CSSStyleDeclaration style = field.getStyle(); + + Color colorComputedWeights = getConfig().getColorComputedWeights(); + String computedColor = "#"+Integer.toHexString(colorComputedWeights.getRGB()).substring(2); + style.setProperty("fill", computed ? computedColor : "#000000", null); + style.setProperty("font-style", computed ? "italic" : "normal", null); + } + }); } public void closeAttachments() { diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.css index 0000000,0000000..de94738 new file mode 100644 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.css @@@ -1,0 -1,0 +1,50 @@@ ++/* ++ * #%L ++ * Tutti :: UI ++ * %% ++ * Copyright (C) 2012 - 2014 Ifremer ++ * %% ++ * This program is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation, either version 3 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public ++ * License along with this program. If not, see ++ * <http://www.gnu.org/licenses/gpl-3.0.html>. ++ * #L% ++ */ ++ ++#dialog { ++ title: {handler.getTitle(getWeightLabel(), getWeightUnit())}; ++} ++ ++#editor { ++ numberType: {Float.class}; ++ useSign: false; ++ autoPopup: false; ++ showPopupButton: false; ++ showReset: true; ++ numberPattern: {getWeightUnit().getNumberEditorPattern()}; ++ numberValue: {getOriginalWeight()}; ++} ++ ++#cancelButton { ++ actionIcon: cancel; ++ text: "tutti.catches.enterWeight.action.cancel"; ++ toolTipText: "tutti.catches.enterWeight.action.cancel.tip"; ++ i18nMnemonic: "tutti.catches.enterWeight.action.cancel.mnemonic"; ++} ++ ++#validateButton { ++ actionIcon: accept; ++ text: "tutti.catches.enterWeight.action.validate"; ++ toolTipText: "tutti.catches.enterWeight.action.validate.tip"; ++ i18nMnemonic: "tutti.catches.enterWeight.action.validate.mnemonic"; ++ enabled: {editor.getModel() != null}; ++} diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx index 0000000,0000000..ad2593a new file mode 100644 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx @@@ -1,0 -1,0 +1,64 @@@ ++<!-- ++ #%L ++ Tutti :: UI ++ %% ++ Copyright (C) 2012 - 2014 Ifremer ++ %% ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as ++ published by the Free Software Foundation, either version 3 of the ++ License, or (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public ++ License along with this program. If not, see ++ <http://www.gnu.org/licenses/gpl-3.0.html>. ++ #L% ++ --> ++<JDialog id='dialog' layout='{new BorderLayout()}' ++ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, EnterWeightUIHandler>'> ++ <import> ++ fr.ifremer.tutti.type.WeightUnit; ++ fr.ifremer.tutti.ui.swing.TuttiUIContext ++ fr.ifremer.tutti.ui.swing.util.TuttiUIUtil ++ ++ org.nuiton.jaxx.widgets.number.NumberEditor ++ </import> ++ ++ <script><![CDATA[ ++ ++public EnterWeightUI(TuttiUIContext context) { ++ super(context.getMainUI(), true); ++ TuttiUIUtil.setApplicationContext(this, context); ++} ++ ++public Float openAndGetWeightValue(String weightLabel, Float originalWeight, WeightUnit weightUnit) { ++ return handler.openAndGetWeightValue(weightLabel, originalWeight, weightUnit); ++} ++ ++ ]]></script> ++ ++ <TuttiUIContext id='model' initializer='getContextValue(TuttiUIContext.class)'/> ++ ++ <String id="weightLabel" javaBean="null"/> ++ ++ <Float id='originalWeight' javaBean='null'/> ++ ++ <WeightUnit id='weightUnit' javaBean='WeightUnit.KG'/> ++ ++ <Table id='table' fill='both' constraints='BorderLayout.CENTER'> ++ <row> ++ <cell insets='5, 10, 10, 10'> ++ <NumberEditor id='editor'/> ++ </cell> ++ </row> ++ </Table> ++ <JPanel layout='{new GridLayout(1,0)}' constraints='BorderLayout.SOUTH'> ++ <JButton id='cancelButton' onActionPerformed='editor.getModel().setNumberValue(originalWeight); dispose();'/> ++ <JButton id='validateButton' onActionPerformed='dispose();'/> ++ </JPanel> ++</JDialog> diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java index 0000000,0000000..c28c88d new file mode 100644 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java @@@ -1,0 -1,0 +1,99 @@@ ++package fr.ifremer.tutti.ui.swing.util.catches; ++ ++/* ++ * #%L ++ * Tutti :: UI ++ * %% ++ * Copyright (C) 2012 - 2014 Ifremer ++ * %% ++ * This program is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation, either version 3 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public ++ * License along with this program. If not, see ++ * <http://www.gnu.org/licenses/gpl-3.0.html>. ++ * #L% ++ */ ++ ++import fr.ifremer.tutti.type.WeightUnit; ++import fr.ifremer.tutti.ui.swing.TuttiUIContext; ++import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; ++import fr.ifremer.tutti.ui.swing.util.species.EnterMelagWeightUI; ++import jaxx.runtime.JAXXUtil; ++import jaxx.runtime.SwingUtil; ++import jaxx.runtime.validator.swing.SwingValidator; ++ ++import javax.swing.*; ++import java.awt.*; ++import java.awt.event.WindowAdapter; ++import java.awt.event.WindowEvent; ++ ++import static org.nuiton.i18n.I18n.t; ++ ++/** ++ * Created on 2/8/14. ++ * ++ * @author Tony Chemit <chemit@codelutin.com> ++ * @since 3.2 ++ */ ++public class EnterWeightUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, EnterWeightUI> { ++ ++ @Override ++ public void onCloseUI() { ++ } ++ ++ @Override ++ public SwingValidator<TuttiUIContext> getValidator() { ++ return null; ++ } ++ ++ @Override ++ protected JComponent getComponentToFocus() { ++ return null; ++ } ++ ++ @Override ++ public void afterInit(EnterWeightUI ui) { ++ ++ // add a auto-close action ++ ui.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put( ++ getConfig().getShortcutClosePopup(), "close"); ++ ++ ui.addWindowListener(new WindowAdapter() { ++ ++ @Override ++ public void windowClosed(WindowEvent e) { ++ Component ui = (Component) e.getSource(); ++ JAXXUtil.destroy(ui); ++ } ++ }); ++ initUI(ui); ++ ++ ++ } ++ ++ protected Float openAndGetWeightValue(String weightLabel, Float weight, WeightUnit weightUnit) { ++ ui.setWeightLabel(weightLabel); ++ ui.setOriginalWeight(weight); ++ ui.setWeightUnit(weightUnit); ++ SwingUtil.center(getContext().getMainUI(), ui); ++ ui.pack(); ++ ui.getEditor().requestFocusInWindow(); ++ ui.setVisible(true); ++ Number enteredWeight = ui.getEditor().getModel().getNumberValue(); ++ return enteredWeight == null ? null : enteredWeight.floatValue(); ++ ++ } ++ ++ protected String getTitle(String weightLabel, WeightUnit weightUnit) { ++ return weightUnit.decorateLabel(t("tutti.catches.enterWeight.title", weightLabel)); ++ } ++ ++} diff --cc tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightUI.css index d74c584,d74c584..a3e303e --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightUI.css @@@ -21,70 -21,70 +21,34 @@@ */ #dialog { -- --title: { -- handler . getTile(getWeightUnit()) --} -- --; ++ title: {handler.getTile(getWeightUnit())}; } #message { -- --text: { -- handler . getMessage(getWeightUnit()) --} -- --; --horizontalAlignment: { -- JLabel . CENTER --} -- --; ++ text: {handler.getMessage(getWeightUnit())}; ++ horizontalAlignment: {JLabel.CENTER}; } #editor { -- --numberType: { -- Float . class --} -- --; --useSign: false -- --; --autoPopup: false -- --; --showPopupButton: true -- --; --showReset: true -- --; --numberPattern: { --getWeightUnit() . getNumberEditorPattern() --} -- --; ++ numberType: {Float.class}; ++ useSign: false; ++ autoPopup: false; ++ showPopupButton: true; ++ showReset: true; ++ numberPattern: {getWeightUnit().getNumberEditorPattern()}; } #cancelButton { -- actionIcon: cancel; -- text: "tutti.createSpeciesMelag.action.cancel"; -- toolTipText: "tutti.createSpeciesMelag.action.cancel.tip"; -- i18nMnemonic: "tutti.createSpeciesMelag.action.cancel.mnemonic"; ++ actionIcon: cancel; ++ text: "tutti.createSpeciesMelag.action.cancel"; ++ toolTipText: "tutti.createSpeciesMelag.action.cancel.tip"; ++ i18nMnemonic: "tutti.createSpeciesMelag.action.cancel.mnemonic"; } #validateButton { -- actionIcon: accept; -- text: "tutti.createSpeciesMelag.action.validate"; -- toolTipText: "tutti.createSpeciesMelag.action.validate.tip"; -- i18nMnemonic: "tutti.createSpeciesMelag.action.validate.mnemonic"; -- --enabled: { -- editor . getModel() != null --} -- --; ++ actionIcon: accept; ++ text: "tutti.createSpeciesMelag.action.validate"; ++ toolTipText: "tutti.createSpeciesMelag.action.validate.tip"; ++ i18nMnemonic: "tutti.createSpeciesMelag.action.validate.mnemonic"; ++ enabled: {editor.getModel() != null}; } diff --cc tutti-ui-swing/src/main/resources/EcranResume.svg index 54a5fa7,0000000..8db5f77 mode 100644,000000..100644 --- a/tutti-ui-swing/src/main/resources/EcranResume.svg +++ b/tutti-ui-swing/src/main/resources/EcranResume.svg @@@ -1,1456 -1,0 +1,1456 @@@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="700" + height="350" ++ viewport="0 0 700 350" + id="svg2985" ++ preserveAspectRatio="xMidYMid" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="EcranResume.svg"> + <defs + id="defs2987"> + <filter + id="filter4065" + inkscape:label="Drop Shadow" + color-interpolation-filters="sRGB"> + <feFlood + id="feFlood4067" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4069" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4071" + stdDeviation="0.5" + result="blur" /> + <feOffset + id="feOffset4073" + dx="1" + dy="1" + result="offset" /> + <feComposite + id="feComposite4075" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4077" + inkscape:label="Drop Shadow" + color-interpolation-filters="sRGB"> + <feFlood + id="feFlood4079" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4081" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4083" + stdDeviation="0.5" + result="blur" /> + <feOffset + id="feOffset4085" + dx="1" + dy="1" + result="offset" /> + <feComposite + id="feComposite4087" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4278" + inkscape:label="Drop Shadow" + color-interpolation-filters="sRGB"> + <feFlood + id="feFlood4280" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4282" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4284" + stdDeviation="0.5" + result="blur" /> + <feOffset + id="feOffset4286" + dx="1" + dy="1" + result="offset" /> + <feComposite + id="feComposite4288" + in2="offset" + in="SourceGraphic" + operator="over" + result="fbSourceGraphic" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4326" /> + <feFlood + id="feFlood4328" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" + in="fbSourceGraphic" /> + <feComposite + id="feComposite4330" + in2="fbSourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4332" + stdDeviation="0.5" + result="blur" /> + <feOffset + id="feOffset4334" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4336" + in2="offset" + in="fbSourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4536" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4538" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4540" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4542" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4544" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4546" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4556" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4558" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4560" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4562" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4564" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4566" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4576" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4578" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4580" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4582" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4584" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4586" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4597" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4599" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4601" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4603" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4605" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4607" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4619" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4621" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4623" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4625" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4627" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4629" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4640" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4642" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4644" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4646" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4648" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4650" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4661" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4663" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4665" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4667" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4669" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4671" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4683" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4685" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4687" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4689" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4691" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4693" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4705" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4707" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4709" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4711" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4713" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4715" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4726" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4728" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4730" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4732" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4734" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4736" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4748" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4750" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4752" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4754" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4756" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4758" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + <filter + id="filter4770" + inkscape:label="Drop Shadow" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4772" + flood-opacity="0.2" + flood-color="rgb(0,0,0)" + result="flood" /> + <feComposite + id="feComposite4774" + in2="SourceGraphic" + in="flood" + operator="in" + result="composite1" /> + <feGaussianBlur + id="feGaussianBlur4776" + stdDeviation="1" + result="blur" + in="composite" /> + <feOffset + id="feOffset4778" + dx="2" + dy="1" + result="offset" /> + <feComposite + id="feComposite4780" + in2="offset" + in="SourceGraphic" + operator="over" + result="composite2" /> + </filter> + </defs> + <sodipodi:namedview + inkscape:document-units="mm" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4142136" + inkscape:cx="362.42753" + inkscape:cy="189.00224" + inkscape:current-layer="svg2985" + id="namedview2989" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="741" + inkscape:window-x="0" + inkscape:window-y="307" + inkscape:window-maximized="1" + units="px" + showguides="false" + inkscape:guide-bbox="true" + fit-margin-top="10" + fit-margin-left="10" + fit-margin-right="10" + fit-margin-bottom="10"> + <sodipodi:guide + orientation="1,0" + position="214.34461,373.83805" + id="guide4091" /> + <sodipodi:guide + orientation="1,0" + position="475.97412,346.96802" + id="guide4093" /> + </sodipodi:namedview> + <metadata + id="metadata2991"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="BG" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-254.46719,246.05856)" + style="display:inline" + sodipodi:insensitive="true"> + <rect + style="opacity:0.8;fill:#d6d9df;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3782" + width="700" + height="350" + x="254.46719" + y="-246.05853" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="Arbre" + transform="translate(-254.46719,246.05856)"> + <rect + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter4278)" + id="rect4276" + width="1.2082677" + height="31.414213" + x="403.35995" + y="32.215076" /> + <path + style="fill:none;stroke:#006bba;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4077)" + d="m 469.25,-168.90552 0,-29.5 131.3125,0 -0.1875,-15 0.1875,14.98614 130.1875,-0.48614 0,31" + id="path3976" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" + transform="matrix(1.4580208,0,0,0.99343887,-279.712,37.283896)" /> + <g - id="g4548" ++ id="catchTotalWeight" + style="filter:url(#filter4556)"> + <rect + y="-206.33543" + x="480.88577" + height="30.929434" + width="228.42943" + id="rect4007" + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.77922755;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="" + y="-186.02356" + x="556.13354" + style="font-size:13.53369236px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_capture_totale" ++ id="catchTotalWeightLabel" + y="-186.02356" + x="556.13354" + sodipodi:role="line">CAPTURE TOTALE</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.44218841;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4011" ++ id="catchTotalWeightRect" + width="72.766464" + height="31.266474" + x="636.71722" + y="-206.50395" /> + <text + xml:space="preserve" + style="font-size:14.31538868px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="671.99567" + y="-186.02356" + id="text3822" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="671.99567" + y="-186.02356" - id="value_capture_totale" ++ id="catchTotalWeightValue" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + <g + id="g4760" + style="filter:url(#filter4770)"> + <g + transform="translate(-82.899508,38.534812)" + id="g4095"> + <g + id="g4041"> + <rect + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4023" + width="154.08636" + height="26.614988" + x="409.6925" + y="-168.96303" /> + <text + xml:space="preserve" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="453.71802" + y="-151.49626" + id="text4025" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="453.71802" + y="-151.49626" - id="label_vrac" ++ id="catchTotalSortedComputedWeightLabel" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">VRAC</tspan></text> + <rect + y="-169.07013" + x="501.44632" + height="26.829227" + width="62.439663" + id="rect4029" + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4031" + y="-151.49626" + x="531.71814" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="value_vrac" ++ id="catchTotalSortedComputedWeightValue" + y="-151.49626" + x="531.71814" + sodipodi:role="line">00.00 kg</tspan></text> + </g> + </g> + </g> + <g + id="g4568" + style="filter:url(#filter4576)"> + <rect + y="-130.42822" + x="708.43945" + height="26.614988" + width="154.08636" + id="rect4051" + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4053" + y="-112.96145" + x="754.46497" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_hors_vrac" ++ id="catchTotalUnsortedComputedWeightLabel" + y="-112.96145" + x="754.46497" + sodipodi:role="line">HORS VRAC</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4057" + width="62.439663" + height="26.829227" + x="800.19324" + y="-130.53532" /> + <text + xml:space="preserve" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="830.46509" + y="-112.96145" + id="text4059" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="830.46509" + y="-112.96145" - id="value_hors_vrac" ++ id="catchTotalUnsortedComputedWeightValue" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + <path + sodipodi:type="star" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + id="path4063" + sodipodi:sides="3" + sodipodi:cx="444.23984" + sodipodi:cy="82.906738" + sodipodi:r1="6.4031243" + sodipodi:r2="3.2015622" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="-0.013302361" + inkscape:randomized="0" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + transform="translate(-40.015625,-216.71906)" + inkscape:transform-center-y="1.6001575" /> + <path + inkscape:transform-center-y="1.6001575" + transform="translate(341.2428,-216.71906)" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + inkscape:randomized="0" + inkscape:rounded="-0.013302361" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="3.2015622" + sodipodi:r1="6.4031243" + sodipodi:cy="82.906738" + sodipodi:cx="444.23984" + sodipodi:sides="3" + id="path4089" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + sodipodi:type="star" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="772.21082" + y="-146.5679" + id="text4116" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4118" + x="772.21082" + y="-146.5679" /></text> + <rect + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter4619)" + id="rect4126" + width="154.08636" + height="26.614988" + x="409.6925" + y="-168.96303" + transform="matrix(0.87388867,0,0,0.84621998,278.48772,84.686693)" /> + <g + id="g4803"> + <text + transform="matrix(0.84647606,0,0,0.84647606,294.30529,84.726553)" + sodipodi:linespacing="125%" + id="text4128" + y="-151.49626" + x="453.71802" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter4619);font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_especes_observees" ++ id="speciesTotalUnsortedComputedWeightLabel" + y="-151.49626" + x="453.71802" + sodipodi:role="line">Espèces observées</tspan></text> + <rect + transform="matrix(0.84647606,0,0,0.84647606,294.30529,84.726553)" + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter4619)" + id="rect4132" + width="62.439663" + height="26.829227" + x="501.44632" + y="-169.07013" /> + <text + transform="matrix(0.84647606,0,0,0.84647606,294.30529,84.726553)" + xml:space="preserve" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter4619);font-family:Sans;-inkscape-font-specification:Arial" + x="531.71814" + y="-151.49626" + id="text4134" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="531.71814" + y="-151.49626" - id="value_espece_observe" ++ id="speciesTotalUnsortedComputedWeightValue" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + <g + id="g4588" + style="filter:url(#filter4597)"> + <g + transform="matrix(0.84647606,0,0,0.84647606,135.37037,23.780278)" + id="g4154"> + <rect + y="-96.963028" + x="783.69177" + height="26.614988" + width="154.08636" + id="rect4138" + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4140" + y="-79.496262" + x="829.71729" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_benthos_observe" ++ id="benthosTotalUnsortedComputedWeightLabel" + y="-79.496262" + x="829.71729" + sodipodi:role="line">Benthos observés</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4144" + width="62.439663" + height="26.829227" + x="875.44556" + y="-97.070129" /> + <text + xml:space="preserve" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="905.71741" + y="-79.496262" + id="text4146" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="905.71741" + y="-79.496262" - id="value_benthos_observe" ++ id="benthosTotalUnsortedComputedWeightValue" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + </g> + <path + sodipodi:nodetypes="ccccccc" + inkscape:connector-curvature="0" + id="path4120" + d="m 599.60276,-96.90552 0,-29.5 131.3125,0 -0.1875,-15 0.1875,14.98614 130.1875,-0.48614 0,31" + style="fill:none;stroke:#006bba;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4077)" + transform="matrix(0.59793466,0,0,1,348.75002,38.534812)" /> + <path + inkscape:transform-center-y="1.576596" + transform="matrix(1.045689,0,0,0.98527645,242.71754,-143.47482)" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + inkscape:randomized="0" + inkscape:rounded="-0.013302361" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="3.2015622" + sodipodi:r1="6.4031243" + sodipodi:cy="82.906738" + sodipodi:cx="444.23984" + sodipodi:sides="3" + id="path4150" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + sodipodi:type="star" + inkscape:transform-center-x="1.1708959e-05" /> + <path + sodipodi:type="star" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + id="path4152" + sodipodi:sides="3" + sodipodi:cx="444.23984" + sodipodi:cy="82.906738" + sodipodi:r1="6.4031243" + sodipodi:r2="3.2015622" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="-0.013302361" + inkscape:randomized="0" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + transform="matrix(1.045689,0,0,0.98527645,399.05887,-143.47482)" + inkscape:transform-center-y="1.576596" + inkscape:transform-center-x="1.1708959e-05" /> + <g + id="g4738" + style="filter:url(#filter4748)"> + <g + transform="matrix(0.84647606,0,0,0.84647606,-86.984873,84.726553)" - id="g4170"> - <g - id="g4172"> - <rect - style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4174" - width="154.08636" - height="26.614988" - x="409.6925" - y="-168.96303" /> - <text - xml:space="preserve" - style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" ++ id="catchTotalRejectedWeight"> ++ <rect ++ style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" ++ id="rect4174" ++ width="154.08636" ++ height="26.614988" ++ x="409.6925" ++ y="-168.96303" /> ++ <text ++ xml:space="preserve" ++ style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" ++ x="453.71802" ++ y="-151.49626" ++ id="text4176" ++ sodipodi:linespacing="125%"><tspan ++ sodipodi:role="line" + x="453.71802" + y="-151.49626" - id="text4176" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="453.71802" - y="-151.49626" - id="label_vrac_non_trie" - style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac non trié</tspan></text> - <rect - y="-169.07013" - x="501.44632" - height="26.829227" - width="62.439663" - id="rect4180" - style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - <text - sodipodi:linespacing="125%" - id="text4182" ++ id="catchTotalRejectedWeightLabel" ++ style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac non trié</tspan></text> ++ <rect ++ y="-169.07013" ++ x="501.44632" ++ height="26.829227" ++ width="62.439663" ++ id="catchTotalRejectedWeightRect" ++ style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> ++ <text ++ sodipodi:linespacing="125%" ++ id="text4182" ++ y="-151.49626" ++ x="531.71814" ++ style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" ++ xml:space="preserve"><tspan ++ style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" ++ id="catchTotalRejectedWeightValue" + y="-151.49626" + x="531.71814" - style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" - xml:space="preserve"><tspan - style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="value_vrac_non_trie" - y="-151.49626" - x="531.71814" - sodipodi:role="line">00.00 kg</tspan></text> - </g> ++ sodipodi:role="line">00.00 kg</tspan></text> + </g> + </g> + <g + id="g4717" + style="filter:url(#filter4726)"> + <g + id="g4186" + transform="matrix(0.84647606,0,0,0.84647606,-245.9198,23.780278)"> + <rect + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4188" + width="154.08636" + height="26.614988" + x="783.69177" + y="-96.963028" /> + <text + xml:space="preserve" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="829.71729" + y="-79.496262" + id="text4190" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="829.71729" + y="-79.496262" + id="label_vrac_trie" + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac trié</tspan></text> + <rect + y="-97.070129" + x="875.44556" + height="26.829227" + width="62.439663" + id="rect4194" + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4196" + y="-79.496262" + x="905.71741" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" + id="value_vrac_trie" + y="-79.496262" + x="905.71741" + sodipodi:role="line">00.00 kg</tspan></text> + </g> + </g> + <path + transform="matrix(0.59793466,0,0,1,-32.540143,38.534812)" + style="fill:none;stroke:#006bba;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4077)" + d="m 599.60276,-96.90552 0,-29.5 131.3125,0 -0.1875,-15 0.1875,14.98614 130.1875,-0.48614 0,31" + id="path4200" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + inkscape:transform-center-x="1.1708959e-05" + sodipodi:type="star" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + id="path4202" + sodipodi:sides="3" + sodipodi:cx="444.23984" + sodipodi:cy="82.906738" + sodipodi:r1="6.4031243" + sodipodi:r2="3.2015622" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="-0.013302361" + inkscape:randomized="0" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + transform="matrix(1.045689,0,0,0.98527645,-138.57263,-143.47482)" + inkscape:transform-center-y="1.576596" /> + <path + inkscape:transform-center-x="1.1708959e-05" + inkscape:transform-center-y="1.576596" + transform="matrix(1.045689,0,0,0.98527645,17.768707,-143.47482)" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + inkscape:randomized="0" + inkscape:rounded="-0.013302361" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="3.2015622" + sodipodi:r1="6.4031243" + sodipodi:cy="82.906738" + sodipodi:cx="444.23984" + sodipodi:sides="3" + id="path4204" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + sodipodi:type="star" /> + <g + id="g4695" + style="filter:url(#filter4705)"> + <g + id="g4206" + transform="matrix(0.84647606,0,0,0.84647606,-8.9848728,152.72655)"> + <g - id="g4208"> ++ id="speciesTotalSortedWeight"> + <rect + y="-168.96303" + x="409.6925" + height="26.614988" + width="154.08636" + id="rect4210" + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4212" + y="-151.49626" + x="453.71802" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_espece_trie" ++ id="speciesTotalSortedWeightLabel" + y="-151.49626" + x="453.71802" + sodipodi:role="line">Espèce trié</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4216" ++ id="speciesTotalSortedWeightRect" + width="62.439663" + height="26.829227" + x="501.44632" + y="-169.07013" /> + <text + xml:space="preserve" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="531.71814" + y="-151.49626" + id="text4218" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="531.71814" + y="-151.49626" - id="value_espece_trie" ++ id="speciesTotalSortedWeightValue" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + </g> + </g> + <rect + y="32.215076" + x="559.70123" + height="31.414213" + width="1.2082677" + id="rect4338" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter4278)" /> + <g + id="g4652" + style="filter:url(#filter4661)"> + <g + transform="matrix(0.84647606,0,0,0.84647606,-167.9198,91.780282)" - id="g4222"> ++ id="benthosTotalSortedWeight"> + <rect + y="-96.963028" + x="783.69177" + height="26.614988" + width="154.08636" + id="rect4224" + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4226" + y="-79.496262" + x="829.71729" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_benthos_isole" ++ id="benthosTotalSortedWeightLabel" + y="-79.496262" + x="829.71729" + sodipodi:role="line">Benthos isolé</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4230" ++ id="benthosTotalSortedWeightLabel" + width="62.439663" + height="26.829227" + x="875.44556" + y="-97.070129" /> + <text + xml:space="preserve" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="905.71741" + y="-79.496262" + id="text4232" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="905.71741" + y="-79.496262" - id="value_benthos_isole" ++ id="benthosTotalSortedWeightValue" + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + </g> + <path + sodipodi:nodetypes="ccccccc" + inkscape:connector-curvature="0" + id="path4236" + d="m 599.60276,-96.90552 0,-29.5 131.3125,0 -0.1875,-15 0.1875,14.98614 130.1875,-0.48614 0,31" + style="fill:none;stroke:#006bba;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4077)" + transform="matrix(0.59793466,0,0,1,45.459857,106.53481)" /> + <path + inkscape:transform-center-y="1.576596" + transform="matrix(1.045689,0,0,0.98527645,-60.572628,-75.474818)" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + inkscape:randomized="0" + inkscape:rounded="-0.013302361" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="3.2015622" + sodipodi:r1="6.4031243" + sodipodi:cy="82.906738" + sodipodi:cx="444.23984" + sodipodi:sides="3" + id="path4238" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + sodipodi:type="star" + inkscape:transform-center-x="1.1708959e-05" /> + <path + sodipodi:type="star" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + id="path4240" + sodipodi:sides="3" + sodipodi:cx="444.23984" + sodipodi:cy="82.906738" + sodipodi:r1="6.4031243" + sodipodi:r2="3.2015622" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="-0.013302361" + inkscape:randomized="0" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + transform="matrix(1.045689,0,0,0.98527645,95.768712,-75.474818)" + inkscape:transform-center-y="1.576596" + inkscape:transform-center-x="1.1708959e-05" /> + <g + id="g4631" + style="filter:url(#filter4640)"> + <g + id="g4242" + transform="matrix(0.84647606,0,0,0.84647606,-167.9198,151.78028)"> + <rect + style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4244" + width="154.08636" + height="26.614988" + x="783.69177" + y="-96.963028" /> + <text + xml:space="preserve" + style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="829.71729" + y="-79.496262" + id="text4246" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="829.71729" + y="-79.496262" - id="label_benthos_vrac_observe" ++ id="benthosTotalSampleSortedComputedWeightLabel" + style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac observé</tspan></text> + <rect + y="-97.070129" + x="875.44556" + height="26.829227" + width="62.439663" + id="rect4250" + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4252" + y="-79.496262" + x="905.71741" + style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="value_benthos_vrac_observe" ++ id="benthosTotalSampleSortedComputedWeightValue" + y="-79.496262" + x="905.71741" + sodipodi:role="line">00.00 kg</tspan></text> + </g> + </g> + <path + inkscape:transform-center-x="1.1708959e-05" + inkscape:transform-center-y="1.576596" + transform="matrix(1.045689,0,0,0.98527645,95.768712,-15.474818)" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + inkscape:randomized="0" + inkscape:rounded="-0.013302361" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="3.2015622" + sodipodi:r1="6.4031243" + sodipodi:cy="82.906738" + sodipodi:cx="444.23984" + sodipodi:sides="3" + id="path4256" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + sodipodi:type="star" /> + <g + id="g4673" + style="filter:url(#filter4683)"> + <g + transform="matrix(0.84647606,0,0,0.84647606,-8.9848728,212.72655)" + id="g4258"> - <g - id="g4260"> - <rect - style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4262" - width="154.08636" - height="26.614988" - x="409.6925" - y="-168.96303" /> - <text - xml:space="preserve" - style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" ++ <rect ++ style="fill:#006bba;fill-opacity:1;stroke:#444444;stroke-width:0.59367329;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" ++ id="rect4262" ++ width="154.08636" ++ height="26.614988" ++ x="409.6925" ++ y="-168.96303" /> ++ <text ++ xml:space="preserve" ++ style="font-size:11.61303043px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" ++ x="453.71802" ++ y="-151.49626" ++ id="text4264" ++ sodipodi:linespacing="125%"><tspan ++ sodipodi:role="line" + x="453.71802" + y="-151.49626" - id="text4264" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="453.71802" - y="-151.49626" - id="label_espece_vrac_observe" - style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac observé</tspan></text> - <rect - y="-169.07013" - x="501.44632" - height="26.829227" - width="62.439663" - id="rect4268" - style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - <text - sodipodi:linespacing="125%" - id="text4270" ++ id="speciesTotalSampleSortedComputedWeightLabel" ++ style="font-size:10.63231468px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Vrac observé</tspan></text> ++ <rect ++ y="-169.07013" ++ x="501.44632" ++ height="26.829227" ++ width="62.439663" ++ id="rect4258" ++ style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.37943435;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> ++ <text ++ sodipodi:linespacing="125%" ++ id="text4270" ++ y="-151.49626" ++ x="531.71814" ++ style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" ++ xml:space="preserve"><tspan ++ style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" ++ id="speciesTotalSampleSortedComputedWeightValue" + y="-151.49626" + x="531.71814" - style="font-size:12.28379059px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" - xml:space="preserve"><tspan - style="font-size:12.01316166px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="value_espece_vrac_observe" - y="-151.49626" - x="531.71814" - sodipodi:role="line">00.00 kg</tspan></text> - </g> ++ sodipodi:role="line">00.00 kg</tspan></text> + </g> + </g> + <path + inkscape:transform-center-x="1.1708959e-05" + sodipodi:type="star" + style="fill:#006bba;fill-opacity:1;fill-rule:nonzero;stroke:#004a81;stroke-width:0.70866144;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4065)" + id="path4274" + sodipodi:sides="3" + sodipodi:cx="444.23984" + sodipodi:cy="82.906738" + sodipodi:r1="6.4031243" + sodipodi:r2="3.2015622" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="-0.013302361" + inkscape:randomized="0" + d="m 444.23984,89.309863 c 0.14753,0 -5.47151,-9.732452 -5.54527,-9.604687 -0.0738,0.127765 11.1643,0.127765 11.09054,0 -0.0738,-0.127765 -5.6928,9.604687 -5.54527,9.604687 z" + transform="matrix(1.045689,0,0,0.98527645,-60.572628,-15.474818)" + inkscape:transform-center-y="1.576596" /> + <g + id="g4456" + transform="matrix(0.88820049,0,0,0.88820049,117.42009,18.212699)" + style="filter:url(#filter4536)"> - <rect - style="fill:#555555;fill-opacity:1;stroke:#444444;stroke-width:0.58228976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect4340" - width="170.6974" - height="23.112495" - x="765.68683" - y="-240.95483" /> - <text - xml:space="preserve" - style="font-size:10.11326027px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" - x="821.91687" - y="-225.77646" - id="text4342" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="821.91687" - y="-225.77646" - id="label_total_macrodechets" - style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Total macrodéchets</tspan></text> - <rect - y="-241.08076" - x="882.13428" - height="23.364353" - width="54.375862" - id="rect4346" - style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.33043209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - <text - sodipodi:linespacing="125%" - id="text4348" - y="-225.77646" - x="908.49664" - style="font-size:10.69739437px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" - xml:space="preserve"><tspan - style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="value_total_macrodechets" - y="-225.77646" - x="908.49664" - sodipodi:role="line">00.00 kg</tspan></text> ++ ++ <g id="marineLitterTotalWeight"> ++ <rect ++ style="fill:#555555;fill-opacity:1;stroke:#444444;stroke-width:0.58228976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" ++ id="rect4340" ++ width="170.6974" ++ height="23.112495" ++ x="765.68683" ++ y="-240.95483" /> ++ <text ++ xml:space="preserve" ++ style="font-size:10.11326027px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" ++ x="821.91687" ++ y="-225.77646" ++ id="text4342" ++ sodipodi:linespacing="125%"><tspan ++ sodipodi:role="line" ++ x="821.91687" ++ y="-225.77646" ++ id="marineLitterTotalWeightLabel" ++ style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Total macrodéchets</tspan></text> ++ <rect ++ y="-241.08076" ++ x="882.13428" ++ height="23.364353" ++ width="54.375862" ++ id="marineLitterTotalWeightRect" ++ style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.33043209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> ++ <text ++ sodipodi:linespacing="125%" ++ id="text4348" ++ y="-225.77646" ++ x="908.49664" ++ style="font-size:10.69739437px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" ++ xml:space="preserve"><tspan ++ style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" ++ id="marineLitterTotalWeightValue" ++ y="-225.77646" ++ x="908.49664" ++ sodipodi:role="line">00.00 kg</tspan></text> ++ </g> ++ + <rect + y="-262.64963" + x="765.68683" + height="23.112495" + width="170.6974" + id="rect4352" + style="fill:#555555;fill-opacity:1;stroke:#444444;stroke-width:0.58228976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4354" + y="-247.47125" + x="821.91687" + style="font-size:10.11326027px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_total_benthos" ++ id="benthosTotalComputedWeightLabel" + y="-247.47125" + x="821.91687" + sodipodi:role="line">Total Benthos</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.33043209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4358" + width="54.375862" + height="23.364353" + x="882.13428" + y="-262.77554" /> + <text + xml:space="preserve" + style="font-size:10.69739437px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="908.49664" + y="-247.47125" + id="text4360" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="908.49664" + y="-247.47125" - id="value_total_benthos" ++ id="benthosTotalComputedWeightValue" + style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + <rect + y="-284.34442" + x="765.68683" + height="23.112495" + width="170.6974" + id="rect4382" + style="fill:#555555;fill-opacity:1;stroke:#444444;stroke-width:0.58228976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text4384" + y="-269.16605" + x="821.91687" + style="font-size:10.11326027px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" - id="label_total_especes" ++ id="speciesTotalComputedWeightLabel" + y="-269.16605" + x="821.91687" + sodipodi:role="line">Total Espèces</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#444444;stroke-width:0.33043209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4388" + width="54.375862" + height="23.364353" + x="882.13428" + y="-284.47034" /> + <text + xml:space="preserve" + style="font-size:10.69739437px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial" + x="908.49664" + y="-269.16605" + id="text4390" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="908.49664" + y="-269.16605" - id="value_total_especes" ++ id="speciesTotalComputedWeightValue" + style="font-size:10.4617157px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">00.00 kg</tspan></text> + </g> + </g> +</svg> diff --cc tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index e6507bb,e6507bb..748d3dd --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@@ -66,6 -66,6 +66,13 @@@ tutti.caracteristicMapEditor.none.tip tutti.caracteristicMapEditorTable.table.header.key= tutti.caracteristicMapEditorTable.table.header.value= tutti.catches.action.cancel= ++tutti.catches.enterWeight.action.cancel= ++tutti.catches.enterWeight.action.cancel.mnemonic= ++tutti.catches.enterWeight.action.cancel.tip= ++tutti.catches.enterWeight.action.validate= ++tutti.catches.enterWeight.action.validate.mnemonic= ++tutti.catches.enterWeight.action.validate.tip= ++tutti.catches.enterWeight.title= tutti.catches.sortSpecies.action.accept= tutti.catches.sortSpecies.action.accept.mnemonic= tutti.catches.sortSpecies.action.accept.tip= @@@ -597,10 -597,10 +604,13 @@@ tutti.editCatchBatch.action.saveCatchBa tutti.editCatchBatch.action.saveCatchBatch.tip= tutti.editCatchBatch.askCancelEditBeforeLeaving.cancelEditCatchBatch= tutti.editCatchBatch.askSaveBeforeLeaving.saveCatchBatch= ++tutti.editCatchBatch.field.benthosTotalComputedWeight= ++tutti.editCatchBatch.field.benthosTotalSampleSortedComputedWeight= tutti.editCatchBatch.field.benthosTotalSampleSortedWeight= tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.tip= tutti.editCatchBatch.field.benthosTotalSortedWeight= tutti.editCatchBatch.field.benthosTotalSortedWeight.tip= ++tutti.editCatchBatch.field.benthosTotalUnsortedComputedWeight= tutti.editCatchBatch.field.benthosTotalUnsortedWeight= tutti.editCatchBatch.field.benthosTotalUnsortedWeight.tip= tutti.editCatchBatch.field.benthosTotalWeight= @@@ -609,10 -609,10 +619,12 @@@ tutti.editCatchBatch.field.catchTotalRe tutti.editCatchBatch.field.catchTotalRejectedWeight.tip= tutti.editCatchBatch.field.catchTotalSortedCarousselWeight= tutti.editCatchBatch.field.catchTotalSortedCarousselWeight.tip= ++tutti.editCatchBatch.field.catchTotalSortedComputedWeight= tutti.editCatchBatch.field.catchTotalSortedTremisWeight= tutti.editCatchBatch.field.catchTotalSortedTremisWeight.tip= tutti.editCatchBatch.field.catchTotalSortedWeight= tutti.editCatchBatch.field.catchTotalSortedWeight.tip= ++tutti.editCatchBatch.field.catchTotalUnsortedComputedWeight= tutti.editCatchBatch.field.catchTotalUnsortedWeight= tutti.editCatchBatch.field.catchTotalUnsortedWeight.tip= tutti.editCatchBatch.field.catchTotalWeight= @@@ -620,10 -620,10 +632,13 @@@ tutti.editCatchBatch.field.catchTotalWe tutti.editCatchBatch.field.marineLitterTotalWeight= tutti.editCatchBatch.field.marineLitterTotalWeight.tip= tutti.editCatchBatch.field.speciesOrBenthosTotalWeight.not.computed= ++tutti.editCatchBatch.field.speciesTotalComputedWeight= ++tutti.editCatchBatch.field.speciesTotalSampleSortedComputedWeight= tutti.editCatchBatch.field.speciesTotalSampleSortedWeight= tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.tip= tutti.editCatchBatch.field.speciesTotalSortedWeight= tutti.editCatchBatch.field.speciesTotalSortedWeight.tip= ++tutti.editCatchBatch.field.speciesTotalUnsortedComputedWeight= tutti.editCatchBatch.field.speciesTotalUnsortedWeight= tutti.editCatchBatch.field.speciesTotalUnsortedWeight.tip= tutti.editCatchBatch.field.speciesTotalWeight= diff --cc tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 3d2b2cd,3d2b2cd..9b5c4c8 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@@ -63,6 -63,6 +63,13 @@@ tutti.attachmentEditor.title=Pièces jo tutti.caracteristicMapEditor.none.tip=Pas de caractéristiques tutti.caracteristicMapEditorTable.table.header.key=Caractéristique tutti.caracteristicMapEditorTable.table.header.value=Valeur ++tutti.catches.enterWeight.action.cancel=Annuler ++tutti.catches.enterWeight.action.cancel.mnemonic=A ++tutti.catches.enterWeight.action.cancel.tip=Annuler la saisie du poids ++tutti.catches.enterWeight.action.validate=Valider ++tutti.catches.enterWeight.action.validate.mnemonic=V ++tutti.catches.enterWeight.action.validate.tip=Valider la saisie du poids ++tutti.catches.enterWeight.title=Poids %s tutti.commentEditor.action.close.tip=Fermer la fenêtre des commentaires tutti.commentEditor.action.tip=Commentaire tutti.commentEditor.none.tip=Pas de commentaire @@@ -582,33 -582,33 +589,41 @@@ tutti.editCatchBatch.action.saveCatchBa tutti.editCatchBatch.action.saveCatchBatch.tip=Enregistrer la capture tutti.editCatchBatch.askCancelEditBeforeLeaving.cancelEditCatchBatch=La capture n'est pas valide et ne peut pas être enregistrée tutti.editCatchBatch.askSaveBeforeLeaving.saveCatchBatch=Des modifications sur la capture n'ont pas été enregistrées ++tutti.editCatchBatch.field.benthosTotalComputedWeight=Total Benthos ++tutti.editCatchBatch.field.benthosTotalSampleSortedComputedWeight=Vrac observé tutti.editCatchBatch.field.benthosTotalSampleSortedWeight=Poids VRAC trié tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.tip=Poids du VRAC trié dans le benthos --tutti.editCatchBatch.field.benthosTotalSortedWeight=Poids total VRAC ++tutti.editCatchBatch.field.benthosTotalSortedWeight=Benthos isolé tutti.editCatchBatch.field.benthosTotalSortedWeight.tip=Poids total du VRAC benthos ++tutti.editCatchBatch.field.benthosTotalUnsortedComputedWeight=Benthos observé tutti.editCatchBatch.field.benthosTotalUnsortedWeight=Poids total HORS VRAC tutti.editCatchBatch.field.benthosTotalUnsortedWeight.tip=Poids total du HORS VRAC benthos tutti.editCatchBatch.field.benthosTotalWeight=Poids TOTAL tutti.editCatchBatch.field.benthosTotalWeight.tip=Poids total du benthos dans la capture (\= poids total Vrac + poids total Hors Vrac) --tutti.editCatchBatch.field.catchTotalRejectedWeight=Poids total NON TRIÉ ++tutti.editCatchBatch.field.catchTotalRejectedWeight=Vrac non trié tutti.editCatchBatch.field.catchTotalRejectedWeight.tip=Poids de la fraction non triée à bord tutti.editCatchBatch.field.catchTotalSortedCarousselWeight=Carrousel observé tutti.editCatchBatch.field.catchTotalSortedCarousselWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance carrousel ++tutti.editCatchBatch.field.catchTotalSortedComputedWeight=VRAC tutti.editCatchBatch.field.catchTotalSortedTremisWeight=Trémie vers carrousel tutti.editCatchBatch.field.catchTotalSortedTremisWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance trémie et envoyée sur la chaîne de tri tutti.editCatchBatch.field.catchTotalSortedWeight=Poids total VRAC TRIÉ tutti.editCatchBatch.field.catchTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (sans les captures accidentelles) ++tutti.editCatchBatch.field.catchTotalUnsortedComputedWeight=HORS VRAC tutti.editCatchBatch.field.catchTotalUnsortedWeight=Poids total HORS VRAC tutti.editCatchBatch.field.catchTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (sans les captures accidentelles) --tutti.editCatchBatch.field.catchTotalWeight=Poids TOTAL ++tutti.editCatchBatch.field.catchTotalWeight=CAPTURE TOTALE tutti.editCatchBatch.field.catchTotalWeight.tip=Poids total de la capture (sauf macro déchets et captures accidentelles) --tutti.editCatchBatch.field.marineLitterTotalWeight=Poids TOTAL ++tutti.editCatchBatch.field.marineLitterTotalWeight=Total macrodéchets tutti.editCatchBatch.field.marineLitterTotalWeight.tip=Poids total des macro déchets dans la capture tutti.editCatchBatch.field.speciesOrBenthosTotalWeight.not.computed=poids non calculable dans ce contexte ++tutti.editCatchBatch.field.speciesTotalComputedWeight=Total Espèces ++tutti.editCatchBatch.field.speciesTotalSampleSortedComputedWeight=Vrac observé tutti.editCatchBatch.field.speciesTotalSampleSortedWeight=Poids VRAC trié tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.) --tutti.editCatchBatch.field.speciesTotalSortedWeight=Poids total VRAC ++tutti.editCatchBatch.field.speciesTotalSortedWeight=Espèces trié tutti.editCatchBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.) ++tutti.editCatchBatch.field.speciesTotalUnsortedComputedWeight=Espèces observé tutti.editCatchBatch.field.speciesTotalUnsortedWeight=Poids total HORS VRAC tutti.editCatchBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (poissons, crustacés etc.) tutti.editCatchBatch.field.speciesTotalWeight=Poids TOTAL -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.