Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
cf893a62
by Tony CHEMIT at 2017-06-20T12:09:14+02:00
14 changed files:
- application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties
- application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveKeyStrokes.java
- + application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/CopyFloatingObjectPartToLeftAction.java
- + application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/CopyFloatingObjectPartToRightAction.java
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/navigation/GotoActionSupport.java
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ObserveActionMap.java
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectPartsTreeNode.java
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx
- application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss
- application-swing/src/main/resources/i18n/application-swing_en_GB.properties
- application-swing/src/main/resources/i18n/application-swing_es_ES.properties
- application-swing/src/main/resources/i18n/application-swing_fr_FR.properties
- services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java
Changes:
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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");
|
| 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 |
+}
|
| 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 |
+}
|
| ... | ... | @@ -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 |
}
|
| ... | ... | @@ -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 |
|
| ... | ... | @@ -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 |
}
|
| ... | ... | @@ -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<ObjectOperationDto>'/>
|
|
| 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<ObjectTypeDto>'
|
|
| 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<ObjectOperationDto>'/>
|
|
| 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<ObjectTypeDto>'
|
|
| 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 -->
|
| ... | ... | @@ -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())};
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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 |
|