Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

14 changed files:

Changes:

  • application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties
    ... ... @@ -139,7 +139,7 @@ observe.type.maturityStatuses=Maturidades
    139 139
     observe.type.mitigationType=Tipo de medida de atenuación
    
    140 140
     observe.type.mitigationTypes=Tipos de medida de atenuación
    
    141 141
     observe.type.nonTargetCatch=Fauna accesoria conservada o descartada
    
    142
    -observe.type.nonTargetCatchRelease=Faune accessoire libérée \#TODO
    
    142
    +observe.type.nonTargetCatchRelease=Faune accessoire sensible libérée \#TODO
    
    143 143
     observe.type.nonTargetCatchReleaseStatus=État d'une faune accessoire libérée \#TODO
    
    144 144
     observe.type.nonTargetCatchReleaseStatuses=États d'une faune accessoire libérée \#TODO
    
    145 145
     observe.type.nonTargetCatchReleases=Faunes accessoires libérées \#TODO
    
    ... ... @@ -203,7 +203,7 @@ observe.type.setLonglineTdrs=Registradores
    203 203
     observe.type.setLonglines=Operaciones de pesca
    
    204 204
     observe.type.setSeine=Lance
    
    205 205
     observe.type.setSeineNonTargetCatch=Captura de fauna accesoria
    
    206
    -observe.type.setSeineNonTargetCatchRelease=Faune accessoire libérée \#TODO
    
    206
    +observe.type.setSeineNonTargetCatchRelease=Faune accessoire sensible libérée \#TODO
    
    207 207
     observe.type.setSeineNonTargetCatchReleases=Faunes accessoires libérées \#TODO
    
    208 208
     observe.type.setSeineNonTargetCatches=Capturas de fauna accesoria
    
    209 209
     observe.type.setSeineSchoolEstimate=Estimación de banco
    

  • application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties
    ... ... @@ -139,7 +139,7 @@ observe.type.maturityStatuses=Maturités
    139 139
     observe.type.mitigationType=Type de mesure d'atténuation
    
    140 140
     observe.type.mitigationTypes=Types de mesure d'atténuation
    
    141 141
     observe.type.nonTargetCatch=Faune accessoire conservée ou rejetée
    
    142
    -observe.type.nonTargetCatchRelease=Faune accessoire libérée
    
    142
    +observe.type.nonTargetCatchRelease=Faune accessoire sensible libérée
    
    143 143
     observe.type.nonTargetCatchReleaseStatus=État d'une faune accessoire libérée
    
    144 144
     observe.type.nonTargetCatchReleaseStatuses=États d'une faune accessoire libérée
    
    145 145
     observe.type.nonTargetCatchReleases=Faunes accessoires libérées
    
    ... ... @@ -203,7 +203,7 @@ observe.type.setLonglineTdrs=Enregistreurs
    203 203
     observe.type.setLonglines=Opérations de pêche
    
    204 204
     observe.type.setSeine=Calée
    
    205 205
     observe.type.setSeineNonTargetCatch=Capture de faune accessoire
    
    206
    -observe.type.setSeineNonTargetCatchRelease=Faune accessoire libérée
    
    206
    +observe.type.setSeineNonTargetCatchRelease=Faune accessoire sensible libérée
    
    207 207
     observe.type.setSeineNonTargetCatchReleases=Faunes accessoires libérées
    
    208 208
     observe.type.setSeineNonTargetCatches=Captures de faune accessoire
    
    209 209
     observe.type.setSeineSchoolEstimate=Estimation de banc
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveKeyStrokes.java
    ... ... @@ -94,6 +94,8 @@ public abstract class ObserveKeyStrokes {
    94 94
         public static final KeyStroke KEY_STROKE_GO_TAB_4 = KeyStroke.getKeyStroke("ctrl pressed F8");
    
    95 95
         public static final KeyStroke KEY_STROKE_GO_TAB_5 = KeyStroke.getKeyStroke("ctrl pressed F9");
    
    96 96
         public static final KeyStroke KEY_STROKE_GO_TAB_6 = KeyStroke.getKeyStroke("ctrl pressed F10");
    
    97
    +    public static final KeyStroke KEY_STROKE_COPY_FLOATING_OBJECT_PART_TO_RIGHT = KeyStroke.getKeyStroke("ctrl R");
    
    98
    +    public static final KeyStroke KEY_STROKE_COPY_FLOATING_OBJECT_PART_TO_LEFT = KeyStroke.getKeyStroke("ctrl L");
    
    97 99
     
    
    98 100
         public static final KeyStroke KEY_STROKE_GO_SUB_TAB_1 = KeyStroke.getKeyStroke("shift ctrl pressed F5");
    
    99 101
         public static final KeyStroke KEY_STROKE_GO_SUB_TAB_2 = KeyStroke.getKeyStroke("shift ctrl pressed F6");
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/CopyFloatingObjectPartToLeftAction.java
    1
    +package fr.ird.observe.application.swing.ui.actions.content;
    
    2
    +
    
    3
    +import fr.ird.observe.application.swing.ui.ObserveKeyStrokes;
    
    4
    +import fr.ird.observe.application.swing.ui.ObserveMainUI;
    
    5
    +import fr.ird.observe.application.swing.ui.content.ContentUI;
    
    6
    +import fr.ird.observe.application.swing.ui.content.impl.seine.FloatingObjectPartsTreeNode;
    
    7
    +import fr.ird.observe.application.swing.ui.content.impl.seine.FloatingObjectUI;
    
    8
    +import java.util.Enumeration;
    
    9
    +import javax.swing.SwingUtilities;
    
    10
    +import org.apache.commons.logging.Log;
    
    11
    +import org.apache.commons.logging.LogFactory;
    
    12
    +import org.jdesktop.swingx.JXTreeTable;
    
    13
    +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
    
    14
    +import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
    
    15
    +import org.jdesktop.swingx.treetable.MutableTreeTableNode;
    
    16
    +
    
    17
    +
    
    18
    +import static org.nuiton.i18n.I18n.t;
    
    19
    +
    
    20
    +/**
    
    21
    + * Created by tchemit on 20/06/17.
    
    22
    + *
    
    23
    + * @author Tony Chemit - dev@tchemit.fr
    
    24
    + */
    
    25
    +public class CopyFloatingObjectPartToLeftAction extends AbstractContentUIAction {
    
    26
    +
    
    27
    +    public static final String ACTION_NAME = CopyFloatingObjectPartToLeftAction.class.getSimpleName();
    
    28
    +
    
    29
    +    /** Logger. */
    
    30
    +    private static final Log log = LogFactory.getLog(CopyFloatingObjectPartToLeftAction.class);
    
    31
    +
    
    32
    +    public CopyFloatingObjectPartToLeftAction(ObserveMainUI mainUI) {
    
    33
    +        super(mainUI, ACTION_NAME, t("observe.action.copyFloatingObjectPartToLeft"),
    
    34
    +              t("observe.action.copyFloatingObjectPartToLeft.tip"), "copyToLeft", ObserveKeyStrokes.KEY_STROKE_COPY_FLOATING_OBJECT_PART_TO_LEFT);
    
    35
    +    }
    
    36
    +
    
    37
    +    @Override
    
    38
    +    protected void actionPerformed(ContentUI<?, ?> contentUI) {
    
    39
    +
    
    40
    +        FloatingObjectUI ui = (FloatingObjectUI) contentUI;
    
    41
    +        JXTreeTable table = ui.getSubTabbedPane().getModel().getSelectedIndex() == 0 ? ui.getSimpleTable() : ui.getDetailedTable();
    
    42
    +        log.info("Start action from " + table);
    
    43
    +        DefaultTreeTableModel treeTableModel = (DefaultTreeTableModel) table.getTreeTableModel();
    
    44
    +        DefaultMutableTreeTableNode root = (DefaultMutableTreeTableNode) treeTableModel.getRoot();
    
    45
    +        Enumeration<? extends MutableTreeTableNode> children = root.children();
    
    46
    +        while (children.hasMoreElements()) {
    
    47
    +            FloatingObjectPartsTreeNode mutableTreeTableNode = (FloatingObjectPartsTreeNode) children.nextElement();
    
    48
    +            move(treeTableModel, mutableTreeTableNode);
    
    49
    +        }
    
    50
    +    }
    
    51
    +
    
    52
    +    private void move(DefaultTreeTableModel treeTableModel, FloatingObjectPartsTreeNode node) {
    
    53
    +
    
    54
    +        boolean newValue = (boolean) node.getValueAt(2);
    
    55
    +        treeTableModel.setValueAt(newValue, node, 1);
    
    56
    +
    
    57
    +        for (FloatingObjectPartsTreeNode childNode : node) {
    
    58
    +            move(treeTableModel, childNode);
    
    59
    +        }
    
    60
    +
    
    61
    +    }
    
    62
    +}

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/CopyFloatingObjectPartToRightAction.java
    1
    +package fr.ird.observe.application.swing.ui.actions.content;
    
    2
    +
    
    3
    +import fr.ird.observe.application.swing.ui.ObserveKeyStrokes;
    
    4
    +import fr.ird.observe.application.swing.ui.ObserveMainUI;
    
    5
    +import fr.ird.observe.application.swing.ui.content.ContentUI;
    
    6
    +import fr.ird.observe.application.swing.ui.content.impl.seine.FloatingObjectPartsTreeNode;
    
    7
    +import fr.ird.observe.application.swing.ui.content.impl.seine.FloatingObjectUI;
    
    8
    +import java.util.Enumeration;
    
    9
    +import org.apache.commons.logging.Log;
    
    10
    +import org.apache.commons.logging.LogFactory;
    
    11
    +import org.jdesktop.swingx.JXTreeTable;
    
    12
    +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
    
    13
    +import org.jdesktop.swingx.treetable.DefaultTreeTableModel;
    
    14
    +import org.jdesktop.swingx.treetable.MutableTreeTableNode;
    
    15
    +
    
    16
    +
    
    17
    +import static org.nuiton.i18n.I18n.t;
    
    18
    +
    
    19
    +/**
    
    20
    + * Created by tchemit on 20/06/17.
    
    21
    + *
    
    22
    + * @author Tony Chemit - dev@tchemit.fr
    
    23
    + */
    
    24
    +public class CopyFloatingObjectPartToRightAction extends AbstractContentUIAction {
    
    25
    +
    
    26
    +    public static final String ACTION_NAME = CopyFloatingObjectPartToRightAction.class.getSimpleName();
    
    27
    +
    
    28
    +    /** Logger. */
    
    29
    +    private static final Log log = LogFactory.getLog(CopyFloatingObjectPartToRightAction.class);
    
    30
    +
    
    31
    +    public CopyFloatingObjectPartToRightAction(ObserveMainUI mainUI) {
    
    32
    +        super(mainUI, ACTION_NAME, t("observe.action.copyFloatingObjectPartToRight"),
    
    33
    +              t("observe.action.copyFloatingObjectPartToRight.tip"), "copyToRight", ObserveKeyStrokes.KEY_STROKE_COPY_FLOATING_OBJECT_PART_TO_RIGHT);
    
    34
    +    }
    
    35
    +
    
    36
    +    @Override
    
    37
    +    protected void actionPerformed(ContentUI<?, ?> contentUI) {
    
    38
    +
    
    39
    +        FloatingObjectUI ui = (FloatingObjectUI) contentUI;
    
    40
    +        JXTreeTable table = ui.getSubTabbedPane().getModel().getSelectedIndex() == 0 ? ui.getSimpleTable() : ui.getDetailedTable();
    
    41
    +        log.info("Start action from " + table);
    
    42
    +
    
    43
    +        DefaultTreeTableModel treeTableModel = (DefaultTreeTableModel) table.getTreeTableModel();
    
    44
    +        DefaultMutableTreeTableNode root = (DefaultMutableTreeTableNode) treeTableModel.getRoot();
    
    45
    +        Enumeration<? extends MutableTreeTableNode> children = root.children();
    
    46
    +        while (children.hasMoreElements()) {
    
    47
    +            FloatingObjectPartsTreeNode mutableTreeTableNode = (FloatingObjectPartsTreeNode) children.nextElement();
    
    48
    +            move(treeTableModel, mutableTreeTableNode);
    
    49
    +        }
    
    50
    +        table.revalidate();
    
    51
    +    }
    
    52
    +
    
    53
    +    private void move(DefaultTreeTableModel treeTableModel, FloatingObjectPartsTreeNode node) {
    
    54
    +
    
    55
    +        boolean newValue = (boolean) node.getValueAt(1);
    
    56
    +        treeTableModel.setValueAt(newValue, node, 2);
    
    57
    +
    
    58
    +        for (FloatingObjectPartsTreeNode childNode : node) {
    
    59
    +            move(treeTableModel, childNode);
    
    60
    +        }
    
    61
    +
    
    62
    +    }
    
    63
    +}

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/navigation/GotoActionSupport.java
    ... ... @@ -76,9 +76,7 @@ public abstract class GotoActionSupport extends AbstractUIAction {
    76 76
     
    
    77 77
             DataContext dataContext = ObserveSwingApplicationContext.get().getDataContext();
    
    78 78
             boolean open = computeIsOpen(dataContext);
    
    79
    -        if (log.isInfoEnabled()) {
    
    80
    -            log.info("Action [" + getValue(ACTION_COMMAND_KEY) + "] - open? " + open);
    
    81
    -        }
    
    79
    +        log.debug("Action [" + getValue(ACTION_COMMAND_KEY) + "] - open? " + open);
    
    82 80
             setEnabled(open);
    
    83 81
     
    
    84 82
         }
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java
    ... ... @@ -88,7 +88,7 @@ public class ObserveActionMap extends ActionMap {
    88 88
                     // action globale
    
    89 89
                     Class<AbstractGlobalUIAction> globalActionType = (Class) actionType;
    
    90 90
                     if (log.isInfoEnabled()) {
    
    91
    -                    log.info("Register global action: " + actionId + " - type: " + globalActionType.getName());
    
    91
    +                    log.debug("Register global action: " + actionId + " - type: " + globalActionType.getName());
    
    92 92
                     }
    
    93 93
                     Optional<AbstractGlobalUIAction> globalUIAction = newAction(actionId, globalActionType);
    
    94 94
                     if (globalUIAction.isPresent()) {
    
    ... ... @@ -101,7 +101,7 @@ public class ObserveActionMap extends ActionMap {
    101 101
     
    
    102 102
                     // action simple
    
    103 103
                     if (log.isInfoEnabled()) {
    
    104
    -                    log.info("Register action: " + actionId + " - type: " + actionType.getName());
    
    104
    +                    log.debug("Register simple action: " + actionId + " - type: " + actionType.getName());
    
    105 105
                     }
    
    106 106
                     mappingBuilder.put(actionId, actionType);
    
    107 107
     
    
    ... ... @@ -112,6 +112,8 @@ public class ObserveActionMap extends ActionMap {
    112 112
             mapping = mappingBuilder.build();
    
    113 113
             globalActions = globalActionsBuilder.build();
    
    114 114
     
    
    115
    +        log.info(String.format("Load %d simple action(s).", mapping.size()));
    
    116
    +        log.info(String.format("Load %d global action(s).", globalActions.size()));
    
    115 117
         }
    
    116 118
     
    
    117 119
     
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectPartsTreeNode.java
    ... ... @@ -24,6 +24,7 @@ package fr.ird.observe.application.swing.ui.content.impl.seine;
    24 24
     
    
    25 25
     import fr.ird.observe.services.dto.referential.seine.ObjectMaterialDto;
    
    26 26
     import fr.ird.observe.services.dto.seine.ObjectMaterialHierarchyDto;
    
    27
    +import java.util.Iterator;
    
    27 28
     import org.jdesktop.swingx.treetable.AbstractMutableTreeTableNode;
    
    28 29
     import org.nuiton.decorator.Decorator;
    
    29 30
     
    
    ... ... @@ -32,7 +33,7 @@ import org.nuiton.decorator.Decorator;
    32 33
      *
    
    33 34
      * @author Tony Chemit - dev@tchemit.fr
    
    34 35
      */
    
    35
    -public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode {
    
    36
    +public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode implements Iterable<FloatingObjectPartsTreeNode> {
    
    36 37
     
    
    37 38
         private final FloatingObjectUIModel model;
    
    38 39
         private final Decorator<ObjectMaterialDto> decorator;
    
    ... ... @@ -85,4 +86,9 @@ public class FloatingObjectPartsTreeNode extends AbstractMutableTreeTableNode {
    85 86
         public int getColumnCount() {
    
    86 87
             return 3;
    
    87 88
         }
    
    89
    +
    
    90
    +    @Override
    
    91
    +    public Iterator<FloatingObjectPartsTreeNode> iterator() {
    
    92
    +        return (Iterator) children.iterator();
    
    93
    +    }
    
    88 94
     }

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx
    ... ... @@ -28,6 +28,8 @@
    28 28
         fr.ird.observe.services.dto.reference.ReferentialReference
    
    29 29
         fr.ird.observe.services.dto.referential.seine.ObjectOperationDto
    
    30 30
         fr.ird.observe.services.dto.referential.seine.ObjectTypeDto
    
    31
    +    fr.ird.observe.application.swing.ui.actions.content.CopyFloatingObjectPartToLeftAction
    
    32
    +    fr.ird.observe.application.swing.ui.actions.content.CopyFloatingObjectPartToRightAction
    
    31 33
         fr.ird.observe.application.swing.ui.actions.content.DeleteDataUIAction
    
    32 34
         fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction
    
    33 35
         fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction
    
    ... ... @@ -62,60 +64,69 @@
    62 64
       <!-- formulaire -->
    
    63 65
       <JPanel id="body" layout='{new BorderLayout()}'>
    
    64 66
         <Table insets="0" fill="both" constraints='BorderLayout.CENTER'>
    
    65
    -        <row>
    
    66
    -          <cell anchor="north" weightx="1" weighty="1">
    
    67
    -            <JTabbedPane id='mainTabbedPane'>
    
    68
    -              <tab id='generalTab'>
    
    69
    -                <Table fill='both'>
    
    70
    -                  <row>
    
    71
    -                    <cell anchor='west'>
    
    72
    -                      <JLabel id='objectOperationLabel'/>
    
    73
    -                    </cell>
    
    74
    -                    <cell anchor='east' weightx="1" fill="both">
    
    75
    -                      <BeanComboBox id='objectOperation' constructorParams='this' _entityClass='ObjectOperationDto.class'
    
    76
    -                                    genericType='ReferentialReference&lt;ObjectOperationDto&gt;'/>
    
    77
    -                    </cell>
    
    78
    -                  </row>
    
    79
    -                  <row>
    
    80
    -                    <cell anchor='west'>
    
    81
    -                      <JLabel id='objectTypeLabel'/>
    
    82
    -                    </cell>
    
    83
    -                    <cell anchor='east' weightx="1" fill="both">
    
    84
    -                      <BeanComboBox id='objectType' constructorParams='this' genericType='ReferentialReference&lt;ObjectTypeDto&gt;'
    
    85
    -                                    _entityClass='ObjectTypeDto.class'/>
    
    86
    -                    </cell>
    
    87
    -                  </row>
    
    88
    -                  <row>
    
    89
    -                    <cell columns='2' fill="both" weighty="0.7">
    
    90
    -                      <JComment id="comment"/>
    
    91
    -                    </cell>
    
    92
    -                  </row>
    
    93
    -                </Table>
    
    94
    -                </tab>
    
    95
    -                <tab id='materialsTab'>
    
    96
    -                    <Table insets="0" fill="both">
    
    97
    -                            <row>
    
    98
    -                              <cell anchor="north" weightx="1" weighty="1">
    
    99
    -                                <JTabbedPane id='subTabbedPane'>
    
    100
    -                                  <tab id='simpleFormTab'>
    
    101
    -                                  <JScrollPane id='simpleTableScroll'>
    
    102
    -                                    <JXTreeTable id='simpleTable'/>
    
    103
    -                                  </JScrollPane>
    
    104
    -                                  </tab>
    
    105
    -                                  <tab id='detailedFormTab'>
    
    106
    -                                  <JScrollPane id='detailedTableScroll'>
    
    107
    -                                     <JXTreeTable id='detailedTable'/>
    
    108
    -                                  </JScrollPane>
    
    109
    -                                  </tab>
    
    110
    -                                  </JTabbedPane>
    
    111
    -                                </cell>
    
    112
    -                              </row>
    
    113
    -                          </Table>
    
    114
    -                </tab>
    
    115
    -              </JTabbedPane>
    
    116
    -            </cell>
    
    117
    -          </row>
    
    118
    -      </Table>
    
    67
    +      <row>
    
    68
    +        <cell anchor="north" weightx="1" weighty="1">
    
    69
    +          <JTabbedPane id='mainTabbedPane'>
    
    70
    +            <tab id='generalTab'>
    
    71
    +              <Table fill='both'>
    
    72
    +                <row>
    
    73
    +                  <cell anchor='west'>
    
    74
    +                    <JLabel id='objectOperationLabel'/>
    
    75
    +                  </cell>
    
    76
    +                  <cell anchor='east' weightx="1" fill="both">
    
    77
    +                    <BeanComboBox id='objectOperation' constructorParams='this' _entityClass='ObjectOperationDto.class'
    
    78
    +                                  genericType='ReferentialReference&lt;ObjectOperationDto&gt;'/>
    
    79
    +                  </cell>
    
    80
    +                </row>
    
    81
    +                <row>
    
    82
    +                  <cell anchor='west'>
    
    83
    +                    <JLabel id='objectTypeLabel'/>
    
    84
    +                  </cell>
    
    85
    +                  <cell anchor='east' weightx="1" fill="both">
    
    86
    +                    <BeanComboBox id='objectType' constructorParams='this'
    
    87
    +                                  genericType='ReferentialReference&lt;ObjectTypeDto&gt;'
    
    88
    +                                  _entityClass='ObjectTypeDto.class'/>
    
    89
    +                  </cell>
    
    90
    +                </row>
    
    91
    +                <row>
    
    92
    +                  <cell columns='2' fill="both" weighty="0.7">
    
    93
    +                    <JComment id="comment"/>
    
    94
    +                  </cell>
    
    95
    +                </row>
    
    96
    +              </Table>
    
    97
    +            </tab>
    
    98
    +            <tab id='materialsTab'>
    
    99
    +              <Table insets="0" fill="both">
    
    100
    +                <row>
    
    101
    +                  <cell anchor="north" weightx="1" weighty="1">
    
    102
    +                    <JTabbedPane id='subTabbedPane'>
    
    103
    +                      <tab id='simpleFormTab'>
    
    104
    +                        <JScrollPane id='simpleTableScroll'>
    
    105
    +                          <JXTreeTable id='simpleTable'/>
    
    106
    +                        </JScrollPane>
    
    107
    +                      </tab>
    
    108
    +                      <tab id='detailedFormTab'>
    
    109
    +                        <JScrollPane id='detailedTableScroll'>
    
    110
    +                          <JXTreeTable id='detailedTable'/>
    
    111
    +                        </JScrollPane>
    
    112
    +                      </tab>
    
    113
    +                    </JTabbedPane>
    
    114
    +                  </cell>
    
    115
    +                </row>
    
    116
    +                <row>
    
    117
    +                  <cell>
    
    118
    +                    <JPanel layout="{new GridLayout(1,0)}">
    
    119
    +                      <JButton id="fromLeftToRight"/>
    
    120
    +                      <JButton id="fromRightToLeft"/>
    
    121
    +                    </JPanel>
    
    122
    +                  </cell>
    
    123
    +                </row>
    
    124
    +              </Table>
    
    125
    +            </tab>
    
    126
    +          </JTabbedPane>
    
    127
    +        </cell>
    
    128
    +      </row>
    
    129
    +    </Table>
    
    119 130
       </JPanel>
    
    120 131
     
    
    121 132
       <!-- actions -->
    

  • application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss
    ... ... @@ -47,6 +47,16 @@ BeanComboBox {
    47 47
       icon:{getHandler().getErrorIconIfFalse(model.isSimpleFormTabValid())};
    
    48 48
     }
    
    49 49
     
    
    50
    +#fromLeftToRight {
    
    51
    +  _observeAction:{CopyFloatingObjectPartToRightAction.ACTION_NAME};
    
    52
    +  focusable:false;
    
    53
    +}
    
    54
    +
    
    55
    +#fromRightToLeft {
    
    56
    +  _observeAction:{CopyFloatingObjectPartToLeftAction.ACTION_NAME};
    
    57
    +  focusable:false;
    
    58
    +}
    
    59
    +
    
    50 60
     #detailedFormTab {
    
    51 61
       title:{t("observe.content.floatingObject.tab.detailedForm")};
    
    52 62
       icon:{getHandler().getErrorIconIfFalse(model.isDetailedFormTabValid())};
    

  • application-swing/src/main/resources/i18n/application-swing_en_GB.properties
    ... ... @@ -60,6 +60,10 @@ observe.action.copy.column.headers.tip=Add in result column headers
    60 60
     observe.action.copy.row.headers=Copy row header
    
    61 61
     observe.action.copy.row.headers.tip=Add in result row headers
    
    62 62
     observe.action.copy.to.clipBoard=Copy in clipboard
    
    63
    +observe.action.copyFloatingObjectPartToLeft=Copy values from leaving to arriving
    
    64
    +observe.action.copyFloatingObjectPartToLeft.tip=Copy values from leaving to arriving
    
    65
    +observe.action.copyFloatingObjectPartToRight=Copy values from arriving to leaving
    
    66
    +observe.action.copyFloatingObjectPartToRight.tip=Copy values from arriving to leaving
    
    63 67
     observe.action.create=Create
    
    64 68
     observe.action.delete=Delete
    
    65 69
     observe.action.delete.activity.tip=Delete activity
    

  • application-swing/src/main/resources/i18n/application-swing_es_ES.properties
    ... ... @@ -60,6 +60,10 @@ observe.action.copy.column.headers.tip=Añadir al resultado las cabeceras de col
    60 60
     observe.action.copy.row.headers=Copiar las cabeceras de linea
    
    61 61
     observe.action.copy.row.headers.tip=Añadir al resultado las cabeceras de linea (ej. la primera columna)
    
    62 62
     observe.action.copy.to.clipBoard=Copiar el contenido en el portapapeles
    
    63
    +observe.action.copyFloatingObjectPartToLeft=Copy values from leaving to arriving \#TODO
    
    64
    +observe.action.copyFloatingObjectPartToLeft.tip=Copy values from leaving to arriving \#TODO
    
    65
    +observe.action.copyFloatingObjectPartToRight=Copy values from arriving to leaving \#TODO
    
    66
    +observe.action.copyFloatingObjectPartToRight.tip=Copy values from arriving to leaving \#TODO
    
    63 67
     observe.action.create=Crear
    
    64 68
     observe.action.delete=Eliminar
    
    65 69
     observe.action.delete.activity.tip=Eliminar la actividad
    

  • application-swing/src/main/resources/i18n/application-swing_fr_FR.properties
    ... ... @@ -61,6 +61,10 @@ observe.action.copy.column.headers.tip=Ajoute dans le résultat les entêtes de
    61 61
     observe.action.copy.row.headers=Copier les entêtes de ligne
    
    62 62
     observe.action.copy.row.headers.tip=Ajoute dans le résultat les entêtes de ligne (i.e la première colonne)
    
    63 63
     observe.action.copy.to.clipBoard=Copier le contenu dans le presse-papier
    
    64
    +observe.action.copyFloatingObjectPartToLeft=Recopier les valeurs du départ vers l'arrivée
    
    65
    +observe.action.copyFloatingObjectPartToLeft.tip=Recopier les valeurs du départ vers l'arrivée
    
    66
    +observe.action.copyFloatingObjectPartToRight=Recopier les valeurs de l'arrivée vers de départ
    
    67
    +observe.action.copyFloatingObjectPartToRight.tip=Recopier les valeurs de l'arrivée vers de départ
    
    64 68
     observe.action.create=Créer
    
    65 69
     observe.action.db.locale.es.tip=Changer la langue du référentiel en espagnol
    
    66 70
     observe.action.db.locale.fr.tip=Changer la langue du référentiel en français
    
    ... ... @@ -474,7 +478,7 @@ observe.common.nextFpaZone=Zone FPA pénétrée
    474 478
     observe.common.no.balise=Aucune balise lue
    
    475 479
     observe.common.nonCoupSenne=Non coup de senne
    
    476 480
     observe.common.nonTargetCatch=Faune accessoire conservée ou rejetée
    
    477
    -observe.common.nonTargetCatchRelease=Faune accessoire libérée
    
    481
    +observe.common.nonTargetCatchRelease=Faune accessoire sensible libérée
    
    478 482
     observe.common.nonTargetObservation=Faune associée
    
    479 483
     observe.common.nonTargetSample=Echantillon faune accessoire
    
    480 484
     observe.common.objectFate=Devenir de l'objet
    

  • services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java
    ... ... @@ -246,7 +246,7 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F
    246 246
     
    
    247 247
         private ObjectMaterialHierarchyDto fillHierarchyDtos(Multimap<String, ObjectMaterial> childrenByParent, ReferentialLocale referentialLocale, ReferentialBinderSupport<ObserveReferentialEntity, ObjectMaterialDto> referentialBinder, ObjectMaterialDto topLevelMaterial, Set<String> idsDone) {
    
    248 248
     
    
    249
    -        Collection<ObjectMaterial> childrenEntities = childrenByParent.get(topLevelMaterial.getCode());
    
    249
    +        Collection<ObjectMaterial> childrenEntities = childrenByParent.get(topLevelMaterial.getId());
    
    250 250
     
    
    251 251
             List<ObjectMaterialDto> children = childrenEntities.stream().map(d -> referentialBinder.toDto(referentialLocale, d)).collect(Collectors.toList());
    
    252 252