Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- 7199 discussions
[Git][ultreiaio/ird-observe][feature/v8_maquette] Refactor move api (first step)
by Tony CHEMIT 09 Apr '18
by Tony CHEMIT 09 Apr '18
09 Apr '18
Tony CHEMIT pushed to branch feature/v8_maquette at ultreiaio / ird-observe
Commits:
27bcb0df by Tony CHEMIT at 2018-04-09T13:42:52Z
Refactor move api (first step)
- - - - -
16 changed files:
- client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/longline/TripLonglineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/ActivitySeineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/data/seine/TripSeineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ActivitiesLonglineNavigationTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ProgramLonglineNavigationTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ActivitiesSeineNavigationTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ProgramSeineNavigationTreeNode.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/RoutesSeineNavigationTreeNode.java
- services-client/src/main/java/fr/ird/observe/services/client/ObserveServiceFactoryClient.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
+++ b/client/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
@@ -2,19 +2,19 @@
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* 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
+ * 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
+ *
+ * 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%
@@ -23,7 +23,6 @@ package fr.ird.observe.client;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
-import fr.ird.observe.spi.DtoModelHelper;
import fr.ird.observe.client.backup.AtCloseApplicationLocalDatabaseBackupTask;
import fr.ird.observe.client.backup.BackupsManager;
import fr.ird.observe.client.configuration.ClientConfig;
@@ -34,12 +33,20 @@ import fr.ird.observe.client.ui.content.ContentUIManager;
import fr.ird.observe.client.ui.content.ObserveActionMap;
import fr.ird.observe.client.ui.content.ObserveFocusManager;
import fr.ird.observe.client.validation.ClientValidationContext;
-import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.dto.decoration.DecoratorService;
+import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.services.ObserveDataSourceConfigurationMainFactory;
import fr.ird.observe.services.ObserveServiceMainFactory;
import fr.ird.observe.services.validation.ValidatorDto;
import fr.ird.observe.services.validation.ValidatorsManager;
+import fr.ird.observe.spi.DtoModelHelper;
+import org.apache.commons.lang3.SystemUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.h2.tools.Server;
+import org.nuiton.jaxx.runtime.context.DefaultApplicationContext;
+import org.nuiton.jaxx.runtime.context.JAXXContextEntryDef;
+
import java.io.Closeable;
import java.io.IOException;
import java.util.Arrays;
@@ -49,13 +56,6 @@ import java.util.List;
import java.util.Objects;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
-import org.apache.commons.lang3.SystemUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.h2.tools.Server;
-import org.nuiton.jaxx.runtime.context.DefaultApplicationContext;
-import org.nuiton.jaxx.runtime.context.JAXXContextEntryDef;
-
import static fr.ird.observe.client.ObserveSwingApplicationContext.Entries.ACTIONS;
import static fr.ird.observe.client.ObserveSwingApplicationContext.Entries.ACTION_MAP;
@@ -97,91 +97,12 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
/** Logger */
private static final Log log = LogFactory.getLog(ObserveSwingApplicationContext.class);
-
- enum Entries {
-
- CONFIG("Config", ClientConfig.class),
- DECORATOR_SERVICE("Decorator service", DecoratorService.class),
- TEXT_GENERATOR("Text generator", ObserveTextGenerator.class),
- DATA_SOURCE_CONFIGURATION_FACTORY("Data source configuration main factory", ObserveDataSourceConfigurationMainFactory.class),
- OPEN_DATA_MANAGER("Open data manager", ObserveOpenDataManager.class),
- DATA_CONTEXT("Data context", ClientDataContext.class),
- CONTENT_UI_MANAGER("Content UI manager", ContentUIManager.class),
- DATA_SOURCES_MANAGER("Data sources manager", ObserveDataSourcesManager.class),
- FLOATING_OBJECT_REFERENCES_MANAGER("Floating object referenfences manager", FloatingObjectPresetsManager.class),
- OBSERVE_SWING_SESSION_HELPER("Swing session Helper", ObserveSwingSessionHelper.class),
- VALIDATION_CONTEXT("Validation context", ClientValidationContext.class),
- MAIN_UI("Main UI", ObserveMainUI.class),
- ACTIONS("Command line Actions", ObserveCLAction.class),
- ACTION_MAP("UI Actions", ObserveActionMap.class),
- H2_SERVER_MODE("H2 Server mode", Boolean.class),
- H2_SERVER("H2 Server", Server.class),
- H2_WEBSERVER("H2 Web server", Server.class),
- FOCUS_MANAGER("Focus manager", ObserveFocusManager.class),
- VALIDATORS_MANAGER("Validators manager", ValidatorsManager.class),
- BACKUP_MANAGER("Backup manager", BackupsManager.class),
- LOCAL_DATABASE_BACKUP_TIMER("Local database backup task", ScheduledThreadPoolExecutor.class),
- NODE_TO_RESELECT("Node to reselect");
-
- private final String objectName;
- private final JAXXContextEntryDef entryDef;
-
- <O> Entries(String objectName, Class<O> entryType) {
- this.objectName = objectName;
- this.entryDef = newContextEntryDef(objectName, entryType);
- }
-
- Entries(String objectName) {
- this.objectName = objectName;
- this.entryDef = newListContextEntryDef(objectName);
- }
-
- @SuppressWarnings("unchecked")
- public <O> O get() {
- return (O) entryDef.getContextValue(ObserveSwingApplicationContext.get());
- }
-
- @SuppressWarnings("unchecked")
- private <O> void set(O instance) {
- entryDef.setContextValue(ObserveSwingApplicationContext.get(), instance);
- if (log.isInfoEnabled()) {
- log.info("Add to application context " + objectName + ": " + (instance instanceof Collection ? ((Collection) instance).size() + " element(s)" : instance));
- }
- }
-
- private <O> void remove() {
- O instance = get();
- entryDef.removeContextValue(ObserveSwingApplicationContext.get());
- if (log.isInfoEnabled()) {
- log.info("Remove from application context " + objectName + ": " + (instance instanceof Collection ? ((Collection) instance).size() + " element(s)" : instance));
- }
- }
- }
-
private static ObserveSwingApplicationContext INSTANCE;
-
/** Un objet pour bloquer le context */
private final Object lock;
-
/** Un drapeau pour savoir quand l'application est en cours de fermeture. */
private boolean closed;
- /**
- * Récupération du contexte applicatif.
- *
- * @return l'instance partagé du contexte.
- * @throws IllegalStateException si le contexte n'a pas été initialisé
- */
- public static ObserveSwingApplicationContext get() throws IllegalStateException {
- Objects.requireNonNull(INSTANCE, "no application context initialized.");
- return INSTANCE;
- }
-
- /** @return {@code true} si le context a été initialisé */
- public static boolean isInit() {
- return INSTANCE != null;
- }
-
public ObserveSwingApplicationContext(ClientConfig config) {
Preconditions.checkState(INSTANCE == null, "application context already registred.");
@@ -216,9 +137,21 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
lock = new Object();
}
- //-------------------------------------------
- // - Read
- //-------------------------------------------
+ /**
+ * Récupération du contexte applicatif.
+ *
+ * @return l'instance partagé du contexte.
+ * @throws IllegalStateException si le contexte n'a pas été initialisé
+ */
+ public static ObserveSwingApplicationContext get() throws IllegalStateException {
+ Objects.requireNonNull(INSTANCE, "no application context initialized.");
+ return INSTANCE;
+ }
+
+ /** @return {@code true} si le context a été initialisé */
+ public static boolean isInit() {
+ return INSTANCE != null;
+ }
/**
* @return {@code true} si le context applicatif a été fermé (et est donc
@@ -228,6 +161,10 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
return closed;
}
+ //-------------------------------------------
+ // - Read
+ //-------------------------------------------
+
public ClientConfig getConfig() {
return CONFIG.get();
}
@@ -276,10 +213,29 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
return MAIN_UI.get();
}
+ public void setMainUI(ObserveMainUI ui) {
+ MAIN_UI.set(ui);
+
+ ObserveActionMap actionMap = ui.getObserveActionMap();
+ ui.getRootPane().setActionMap(actionMap);
+
+ ACTION_MAP.set(actionMap);
+
+ }
+
public List<Object> getNodesToReselect() {
return NODE_TO_RESELECT.get();
}
+ public void setNodesToReselect(Object[] paths) {
+ if (paths == null) {
+ NODE_TO_RESELECT.remove();
+
+ } else {
+ NODE_TO_RESELECT.set(Arrays.asList(paths));
+ }
+ }
+
public ObserveActionMap getActionMap() {
return ACTION_MAP.get();
}
@@ -288,14 +244,26 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
return H2_SERVER.get();
}
+ public void setH2Server(Server server) {
+ H2_SERVER.set(server);
+ }
+
public Server getH2WebServer() {
return H2_WEBSERVER.get();
}
+ public void setH2WebServer(Server server) {
+ H2_WEBSERVER.set(server);
+ }
+
private ScheduledThreadPoolExecutor getLocalDatabaseBackupTimer() {
return LOCAL_DATABASE_BACKUP_TIMER.get();
}
+ //-------------------------------------------
+ // - Write
+ //-------------------------------------------
+
public ObserveSwingSessionHelper getSwingSessionHelper() {
return OBSERVE_SWING_SESSION_HELPER.get();
}
@@ -308,37 +276,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
return BACKUP_MANAGER.get();
}
- //-------------------------------------------
- // - Write
- //-------------------------------------------
-
- public void setNodesToReselect(Object[] paths) {
- if (paths == null) {
- NODE_TO_RESELECT.remove();
-
- } else {
- NODE_TO_RESELECT.set(Arrays.asList(paths));
- }
- }
-
- public void setH2Server(Server server) {
- H2_SERVER.set(server);
- }
-
- public void setH2WebServer(Server server) {
- H2_WEBSERVER.set(server);
- }
-
- public void setMainUI(ObserveMainUI ui) {
- MAIN_UI.set(ui);
-
- ObserveActionMap actionMap = ui.getObserveActionMap();
- ui.getRootPane().setActionMap(actionMap);
-
- ACTION_MAP.set(actionMap);
-
- }
-
public void removeMainUI() {
MAIN_UI.remove();
}
@@ -347,16 +284,16 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
H2_SERVER_MODE.remove();
}
- //-------------------------------------------
- // - Locks
- //-------------------------------------------
-
void lock() throws InterruptedException {
synchronized (lock) {
lock.wait();
}
}
+ //-------------------------------------------
+ // - Locks
+ //-------------------------------------------
+
public void releaseLock() {
synchronized (lock) {
lock.notifyAll();
@@ -364,7 +301,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
}
@Override
- public void close() throws IOException {
+ public void close() {
if (log.isInfoEnabled()) {
log.info("Closing swing application context " + this);
}
@@ -398,11 +335,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
log.error("Could not close", e);
}
}
- try {
- ObserveServiceMainFactory.get().close();
- } catch (IOException e) {
- log.error("Could not close", e);
- }
+ ObserveServiceMainFactory.get().close();
// fermeture du context principal
clear();
@@ -421,12 +354,63 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im
super.finalize();
}
-// private void registerMainAction(ActionMap actionMap, UIActionSupport action) {
-// String actionId = action.getActionId();
-// if (log.isInfoEnabled()) {
-// log.info("Register UI action " + actionId);
-// }
-// actionMap.put(actionId, action);
-// }
+ enum Entries {
+
+ CONFIG("Config", ClientConfig.class),
+ DECORATOR_SERVICE("Decorator service", DecoratorService.class),
+ TEXT_GENERATOR("Text generator", ObserveTextGenerator.class),
+ DATA_SOURCE_CONFIGURATION_FACTORY("Data source configuration main factory", ObserveDataSourceConfigurationMainFactory.class),
+ OPEN_DATA_MANAGER("Open data manager", ObserveOpenDataManager.class),
+ DATA_CONTEXT("Data context", ClientDataContext.class),
+ CONTENT_UI_MANAGER("Content UI manager", ContentUIManager.class),
+ DATA_SOURCES_MANAGER("Data sources manager", ObserveDataSourcesManager.class),
+ FLOATING_OBJECT_REFERENCES_MANAGER("Floating object referenfences manager", FloatingObjectPresetsManager.class),
+ OBSERVE_SWING_SESSION_HELPER("Swing session Helper", ObserveSwingSessionHelper.class),
+ VALIDATION_CONTEXT("Validation context", ClientValidationContext.class),
+ MAIN_UI("Main UI", ObserveMainUI.class),
+ ACTIONS("Command line Actions", ObserveCLAction.class),
+ ACTION_MAP("UI Actions", ObserveActionMap.class),
+ H2_SERVER_MODE("H2 Server mode", Boolean.class),
+ H2_SERVER("H2 Server", Server.class),
+ H2_WEBSERVER("H2 Web server", Server.class),
+ FOCUS_MANAGER("Focus manager", ObserveFocusManager.class),
+ VALIDATORS_MANAGER("Validators manager", ValidatorsManager.class),
+ BACKUP_MANAGER("Backup manager", BackupsManager.class),
+ LOCAL_DATABASE_BACKUP_TIMER("Local database backup task", ScheduledThreadPoolExecutor.class),
+ NODE_TO_RESELECT("Node to reselect");
+
+ private final String objectName;
+ private final JAXXContextEntryDef entryDef;
+
+ <O> Entries(String objectName, Class<O> entryType) {
+ this.objectName = objectName;
+ this.entryDef = newContextEntryDef(objectName, entryType);
+ }
+
+ Entries(String objectName) {
+ this.objectName = objectName;
+ this.entryDef = newListContextEntryDef(objectName);
+ }
+
+ @SuppressWarnings("unchecked")
+ public <O> O get() {
+ return (O) entryDef.getContextValue(ObserveSwingApplicationContext.get());
+ }
+ @SuppressWarnings("unchecked")
+ private <O> void set(O instance) {
+ entryDef.setContextValue(ObserveSwingApplicationContext.get(), instance);
+ if (log.isInfoEnabled()) {
+ log.info("Add to application context " + objectName + ": " + (instance instanceof Collection ? ((Collection) instance).size() + " element(s)" : instance));
+ }
+ }
+
+ private <O> void remove() {
+ O instance = get();
+ entryDef.removeContextValue(ObserveSwingApplicationContext.get());
+ if (log.isInfoEnabled()) {
+ log.info("Remove from application context " + objectName + ": " + (instance instanceof Collection ? ((Collection) instance).size() + " element(s)" : instance));
+ }
+ }
+ }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIHandler.java
@@ -28,13 +28,18 @@ import fr.ird.observe.client.db.constants.DataContextType;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.ContentUIModel;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
+import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
+import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.longline.ActivitiesLonglineNavigationTreeNode;
import fr.ird.observe.client.validation.ClientValidationContext;
import fr.ird.observe.dto.data.longline.ActivityLonglineDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineHelper;
+import fr.ird.observe.dto.data.longline.ActivityLonglineReference;
import fr.ird.observe.dto.data.longline.TripLonglineDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.result.TripChildSaveResultDto;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
@@ -241,8 +246,6 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated());
- obtainChildPosition(bean);
-
if (notPersisted) {
// ouverture de l'activité après création
getOpenDataManager().openActivityLongline(getSelectedParentId(), bean.getId(), null);
@@ -257,9 +260,15 @@ class ActivityLonglineLogbookUIHandler extends ContentOpenableUIHandler<Activity
return true;
}
+
@Override
- protected int getOpenablePosition(String parentId, ActivityLonglineDto bean) {
- return getActivityLonglineService().getActivityLonglinePositionInTripLongline(parentId, bean.getId());
+ protected int getOpenablePosition() {
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ ActivitiesLonglineNavigationTreeNode parentNode = (ActivitiesLonglineNavigationTreeNode) node.getParent();
+ ActivityLonglineReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return ActivitiesLonglineNavigationTreeNode.sortReferences(parentNode, node, reference, ActivityLonglineReference::getTimeStamp);
+// return getActivityLonglineService().getActivityLonglinePositionInTripLongline(parentId, bean.getId());
}
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineUIHandler.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.content.data.longline;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -28,20 +28,25 @@ import fr.ird.observe.client.db.constants.DataContextType;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.ContentUIModel;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
+import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
+import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.longline.ActivitiesLonglineNavigationTreeNode;
import fr.ird.observe.client.validation.ClientValidationContext;
-import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.data.longline.ActivityLonglineDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineHelper;
+import fr.ird.observe.dto.data.longline.ActivityLonglineReference;
import fr.ird.observe.dto.data.longline.TripLonglineDto;
+import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.result.TripChildSaveResultDto;
-import java.util.Optional;
-import javax.swing.SwingUtilities;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
import org.nuiton.validator.NuitonValidatorScope;
+import javax.swing.*;
+import java.util.Optional;
import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
@@ -241,8 +246,6 @@ class ActivityLonglineUIHandler extends ContentOpenableUIHandler<ActivityLonglin
setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated());
- obtainChildPosition(bean);
-
if (notPersisted) {
// ouverture de l'activité après création
getOpenDataManager().openActivityLongline(getSelectedParentId(), bean.getId(), null);
@@ -258,8 +261,13 @@ class ActivityLonglineUIHandler extends ContentOpenableUIHandler<ActivityLonglin
}
@Override
- protected int getOpenablePosition(String parentId, ActivityLonglineDto bean) {
- return getActivityLonglineService().getActivityLonglinePositionInTripLongline(parentId, bean.getId());
+ protected int getOpenablePosition() {
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ ActivitiesLonglineNavigationTreeNode parentNode = (ActivitiesLonglineNavigationTreeNode) node.getParent();
+ ActivityLonglineReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return ActivitiesLonglineNavigationTreeNode.sortReferences(parentNode, node, reference, ActivityLonglineReference::getTimeStamp);
+// return getActivityLonglineService().getActivityLonglinePositionInTripLongline(parentId, bean.getId());
}
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/longline/TripLonglineUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/TripLonglineUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/longline/TripLonglineUIHandler.java
@@ -10,12 +10,12 @@ package fr.ird.observe.client.ui.content.data.longline;
* 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>.
@@ -29,8 +29,12 @@ import fr.ird.observe.client.db.constants.DataContextType;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIModel;
+import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
+import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode;
import fr.ird.observe.client.ui.util.tripMap.TripMapUI;
import fr.ird.observe.dto.data.TripMapDto;
+import fr.ird.observe.dto.data.longline.TripLonglineReference;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.data.longline.TripLonglineDto;
import fr.ird.observe.dto.data.longline.TripLonglineHelper;
@@ -51,6 +55,7 @@ import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.event.TableModelListener;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
@@ -245,18 +250,18 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr
}
super.startEditUI(TripLonglineUI.BINDING_VESSEL_SELECTED_ITEM,
- TripLonglineUI.BINDING_CAPTAIN_SELECTED_ITEM,
- TripLonglineUI.BINDING_OBSERVATION_OBSERVER_SELECTED_ITEM,
- TripLonglineUI.BINDING_OBSERVATION_TRIP_TYPE_SELECTED_ITEM,
- TripLonglineUI.BINDING_OBSERVATION_DATA_ENTRY_OPERATOR_SELECTED_ITEM,
- TripLonglineUI.BINDING_TOTAL_FISHING_OPERATIONS_NUMBER_NUMBER_VALUE,
- TripLonglineUI.BINDING_OCEAN_SELECTED_ITEM,
- TripLonglineUI.BINDING_START_DATE_DATE,
- TripLonglineUI.BINDING_END_DATE_DATE,
- TripLonglineUI.BINDING_COMMENT_MODEL,
- TripLonglineUI.BINDING_HOME_ID_TEXT,
- TripLonglineUI.BINDING_CLOSE_ENABLED,
- TripLonglineUI.BINDING_CLOSE_AND_CREATE_ENABLED);
+ TripLonglineUI.BINDING_CAPTAIN_SELECTED_ITEM,
+ TripLonglineUI.BINDING_OBSERVATION_OBSERVER_SELECTED_ITEM,
+ TripLonglineUI.BINDING_OBSERVATION_TRIP_TYPE_SELECTED_ITEM,
+ TripLonglineUI.BINDING_OBSERVATION_DATA_ENTRY_OPERATOR_SELECTED_ITEM,
+ TripLonglineUI.BINDING_TOTAL_FISHING_OPERATIONS_NUMBER_NUMBER_VALUE,
+ TripLonglineUI.BINDING_OCEAN_SELECTED_ITEM,
+ TripLonglineUI.BINDING_START_DATE_DATE,
+ TripLonglineUI.BINDING_END_DATE_DATE,
+ TripLonglineUI.BINDING_COMMENT_MODEL,
+ TripLonglineUI.BINDING_HOME_ID_TEXT,
+ TripLonglineUI.BINDING_CLOSE_ENABLED,
+ TripLonglineUI.BINDING_CLOSE_AND_CREATE_ENABLED);
model.setModified(create);
}
@@ -310,9 +315,6 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr
SaveResultDto saveResult = getTripLonglineService().save(bean);
saveResult.toDto(bean);
- // recuperation de la position de la maree dans le program
- obtainChildPosition(bean);
-
// ouverture de la marée
if (notPersisted) {
getOpenDataManager().openTripLongline(getSelectedParentId(), bean.getId());
@@ -321,12 +323,6 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr
}
@Override
- protected int getOpenablePosition(String parentId, TripLonglineDto bean) {
-
- return getTripLonglineService().getTripLonglinePositionInProgram(parentId, bean.getId());
- }
-
- @Override
protected boolean doDelete(TripLonglineDto bean) {
if (askToDelete(bean)) {
@@ -374,4 +370,14 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr
model.setObservationTabValid(observationTabValid);
}
+
+ @Override
+ protected int getOpenablePosition() {
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ ProgramLonglineNavigationTreeNode parentNode = (ProgramLonglineNavigationTreeNode) node.getParent();
+ TripLonglineReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return ProgramLonglineNavigationTreeNode.sortReferences(parentNode, node, reference, TripLonglineReference::getStartDate);
+ }
+
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/ActivitySeineUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/ActivitySeineUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/ActivitySeineUIHandler.java
@@ -2,7 +2,7 @@
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -27,22 +27,21 @@ import fr.ird.observe.client.db.constants.DataContextType;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.ContentUIModel;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
+import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
+import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.seine.ActivitiesSeineNavigationTreeNode;
import fr.ird.observe.client.validation.ClientValidationContext;
+import fr.ird.observe.dto.data.seine.ActivitySeineDto;
+import fr.ird.observe.dto.data.seine.ActivitySeineHelper;
+import fr.ird.observe.dto.data.seine.ActivitySeineReference;
+import fr.ird.observe.dto.data.seine.RouteDto;
+import fr.ird.observe.dto.data.seine.TripSeineDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.referential.seine.VesselActivitySeineHelper;
import fr.ird.observe.dto.referential.seine.VesselActivitySeineReference;
import fr.ird.observe.dto.result.SaveResultDto;
-import fr.ird.observe.dto.data.seine.ActivitySeineDto;
-import fr.ird.observe.dto.data.seine.ActivitySeineHelper;
-import fr.ird.observe.dto.data.seine.RouteDto;
-import fr.ird.observe.dto.data.seine.TripSeineDto;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-import javax.swing.SwingUtilities;
-import javax.swing.event.TableModelListener;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
@@ -50,6 +49,12 @@ import org.nuiton.jaxx.validator.swing.SwingValidatorMessage;
import org.nuiton.jaxx.validator.swing.SwingValidatorMessageTableModel;
import org.nuiton.validator.NuitonValidatorScope;
+import javax.swing.*;
+import javax.swing.event.TableModelListener;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
@@ -68,7 +73,7 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto,
ActivitySeineUIHandler() {
super(DataContextType.Route, DataContextType.ActivitySeine,
- n("observe.common.ActivitySeineDto.message.not.open"));
+ n("observe.common.ActivitySeineDto.message.not.open"));
computeTabValidStateListener = e -> {
SwingValidatorMessageTableModel source = (SwingValidatorMessageTableModel) e.getSource();
@@ -131,17 +136,17 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto,
// la route n'est pas ouverte
addMessage(ui,
- NuitonValidatorScope.INFO,
- getTypeI18nKey(RouteDto.class),
- t("observe.common.RouteDto.message.not.open"));
+ NuitonValidatorScope.INFO,
+ getTypeI18nKey(RouteDto.class),
+ t("observe.common.RouteDto.message.not.open"));
} else if (!getOpenDataManager().isOpenTripSeine(dataContext.getSelectedTripSeineId())) {
// la marée n'est past ouverte
addMessage(ui,
- NuitonValidatorScope.INFO,
- getTypeI18nKey(TripSeineDto.class),
- t("observe.common.TripSeineDto.message.not.open"));
+ NuitonValidatorScope.INFO,
+ getTypeI18nKey(TripSeineDto.class),
+ t("observe.common.TripSeineDto.message.not.open"));
if (getModel().isHistoricalData()) {
@@ -251,28 +256,28 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto,
ui.getValidator().setContext(contextName);
if (create) {
addMessage(ui,
- NuitonValidatorScope.INFO,
- getTypeI18nKey(ActivitySeineDto.class),
- t("observe.common.ActivitySeineDto.message.creating"));
+ NuitonValidatorScope.INFO,
+ getTypeI18nKey(ActivitySeineDto.class),
+ t("observe.common.ActivitySeineDto.message.creating"));
} else {
addMessage(ui,
- NuitonValidatorScope.INFO,
- getTypeI18nKey(ActivitySeineDto.class),
- t("observe.common.ActivitySeineDto.message.updating"));
+ NuitonValidatorScope.INFO,
+ getTypeI18nKey(ActivitySeineDto.class),
+ t("observe.common.ActivitySeineDto.message.updating"));
}
super.startEditUI(ActivitySeineUI.BINDING_TIME_TIME,
- ActivitySeineUI.BINDING_VESSEL_SPEED_NUMBER_VALUE,
- ActivitySeineUI.BINDING_SEA_SURFACE_TEMPERATURE_STORAGE_TEMPERATURE,
- ActivitySeineUI.BINDING_COMMENT_MODEL,
- ActivitySeineUI.BINDING_VESSEL_ACTIVITY_SEINE_SELECTED_ITEM,
- ActivitySeineUI.BINDING_PREVIOUS_FPA_ZONE_SELECTED_ITEM,
- ActivitySeineUI.BINDING_CURRENT_FPA_ZONE_SELECTED_ITEM,
- ActivitySeineUI.BINDING_NEXT_FPA_ZONE_SELECTED_ITEM,
- ActivitySeineUI.BINDING_SURROUNDING_ACTIVITY_SELECTED_ITEM,
- ActivitySeineUI.BINDING_CLOSE_ENABLED,
- ActivitySeineUI.BINDING_ADD_SET_ENABLED,
- ActivitySeineUI.BINDING_CLOSE_AND_CREATE_ENABLED);
+ ActivitySeineUI.BINDING_VESSEL_SPEED_NUMBER_VALUE,
+ ActivitySeineUI.BINDING_SEA_SURFACE_TEMPERATURE_STORAGE_TEMPERATURE,
+ ActivitySeineUI.BINDING_COMMENT_MODEL,
+ ActivitySeineUI.BINDING_VESSEL_ACTIVITY_SEINE_SELECTED_ITEM,
+ ActivitySeineUI.BINDING_PREVIOUS_FPA_ZONE_SELECTED_ITEM,
+ ActivitySeineUI.BINDING_CURRENT_FPA_ZONE_SELECTED_ITEM,
+ ActivitySeineUI.BINDING_NEXT_FPA_ZONE_SELECTED_ITEM,
+ ActivitySeineUI.BINDING_SURROUNDING_ACTIVITY_SELECTED_ITEM,
+ ActivitySeineUI.BINDING_CLOSE_ENABLED,
+ ActivitySeineUI.BINDING_ADD_SET_ENABLED,
+ ActivitySeineUI.BINDING_CLOSE_AND_CREATE_ENABLED);
model.setModified(create);
}
@@ -288,8 +293,6 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto,
SaveResultDto saveResult = getActivitySeineService().save(routeId, getModel().getBean());
saveResult.toDto(bean);
- obtainChildPosition(bean);
-
if (notPersisted) {
// ouverture de l'activité après création
getOpenDataManager().openActivitySeine(getSelectedParentId(), bean.getId(), null);
@@ -305,8 +308,13 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto,
}
@Override
- protected int getOpenablePosition(String parentId, ActivitySeineDto bean) {
- return getActivitySeineService().getActivitySeinePositionInRoute(parentId, bean.getId());
+ protected int getOpenablePosition() {
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ ActivitiesSeineNavigationTreeNode parentNode = (ActivitiesSeineNavigationTreeNode) node.getParent();
+ ActivitySeineReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return ActivitiesSeineNavigationTreeNode.sortReferences(parentNode, node, reference, ActivitySeineReference::getTime);
+// return getActivitySeineService().getActivitySeinePositionInRoute(parentId, bean.getId());
}
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java
@@ -2,7 +2,7 @@
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -24,28 +24,32 @@ package fr.ird.observe.client.ui.content.data.seine;
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.db.ClientDataContext;
import fr.ird.observe.client.db.constants.DataContextType;
-import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.seine.RouteSeineNavigationTreeNode;
+import fr.ird.observe.client.ui.tree.navigation.nodes.seine.RoutesSeineNavigationTreeNode;
+import fr.ird.observe.client.ui.util.UIHelper;
+import fr.ird.observe.dto.data.seine.ActivitySeineDto;
+import fr.ird.observe.dto.data.seine.RouteDto;
+import fr.ird.observe.dto.data.seine.RouteHelper;
+import fr.ird.observe.dto.data.seine.RouteReference;
+import fr.ird.observe.dto.data.seine.TripSeineDto;
import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.referential.seine.VesselActivitySeineHelper;
import fr.ird.observe.dto.referential.seine.VesselActivitySeineReference;
import fr.ird.observe.dto.result.TripChildSaveResultDto;
-import fr.ird.observe.dto.data.seine.ActivitySeineDto;
-import fr.ird.observe.dto.data.seine.RouteDto;
-import fr.ird.observe.dto.data.seine.RouteHelper;
-import fr.ird.observe.dto.data.seine.TripSeineDto;
-import java.util.Date;
-import javax.swing.JOptionPane;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
import org.nuiton.util.DateUtil;
import org.nuiton.validator.NuitonValidatorScope;
+import javax.swing.*;
+import java.util.Date;
import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
@@ -204,8 +208,6 @@ class RouteUIHandler extends ContentOpenableUIHandler<RouteDto, RouteUI> impleme
// on doit toujours recharger le nœud de la marée puisque le nombre de routes a changé
setUpdateMareeNodeTag(true);
- obtainChildPosition(bean);
-
// ouverture de la route
if (notPersisted) {
getOpenDataManager().openRoute(getSelectedParentId(), bean.getId());
@@ -215,8 +217,12 @@ class RouteUIHandler extends ContentOpenableUIHandler<RouteDto, RouteUI> impleme
}
@Override
- protected int getOpenablePosition(String parentId, RouteDto bean) {
- return getRouteService().getRoutePositionInTripSeine(parentId, bean.getId());
+ protected int getOpenablePosition() {
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ RoutesSeineNavigationTreeNode parentNode = (RoutesSeineNavigationTreeNode) node.getParent();
+ RouteReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return RouteSeineNavigationTreeNode.sortReferences(parentNode, node, reference, RouteReference::getDate);
}
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/data/seine/TripSeineUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/TripSeineUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/TripSeineUIHandler.java
@@ -2,7 +2,7 @@
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -28,8 +28,14 @@ import fr.ird.observe.client.db.constants.DataContextType;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIHandler;
import fr.ird.observe.client.ui.content.open.ContentOpenableUIModel;
+import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
+import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.seine.ProgramSeineNavigationTreeNode;
import fr.ird.observe.client.ui.util.tripMap.TripMapUI;
import fr.ird.observe.dto.data.TripMapDto;
+import fr.ird.observe.dto.data.seine.TripSeineDto;
+import fr.ird.observe.dto.data.seine.TripSeineHelper;
+import fr.ird.observe.dto.data.seine.TripSeineReference;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DtoReferenceCollection;
import fr.ird.observe.dto.referential.PersonDto;
@@ -39,18 +45,17 @@ import fr.ird.observe.dto.referential.VesselDto;
import fr.ird.observe.dto.referential.VesselHelper;
import fr.ird.observe.dto.referential.VesselReference;
import fr.ird.observe.dto.result.SaveResultDto;
-import fr.ird.observe.dto.data.seine.TripSeineDto;
-import fr.ird.observe.dto.data.seine.TripSeineHelper;
-import java.util.Date;
-import java.util.List;
-import javax.swing.JComponent;
-import javax.swing.JTabbedPane;
-import javax.swing.SwingUtilities;
+import fr.ird.observe.spi.DtoModelHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.spi.UIHandler;
import org.nuiton.util.DateUtil;
+import javax.swing.JComponent;
+import javax.swing.JTabbedPane;
+import javax.swing.SwingUtilities;
+import java.util.Date;
+import java.util.List;
import static org.nuiton.i18n.I18n.n;
import static org.nuiton.i18n.I18n.t;
@@ -289,9 +294,6 @@ class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto, TripSein
SaveResultDto saveResult = getTripSeineService().save(bean);
saveResult.toDto(bean);
- // recuperation de la position de la maree dans le program
- obtainChildPosition(bean);
-
// ouverture de la marée
if (notPersisted) {
getOpenDataManager().openTripSeine(getSelectedParentId(), bean.getId());
@@ -300,9 +302,14 @@ class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto, TripSein
return true;
}
- protected int getOpenablePosition(String parentId, TripSeineDto bean) {
+ protected int getOpenablePosition() {
- return getTripSeineService().getTripSeinePositionInProgram(parentId, bean.getId());
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
+ ProgramSeineNavigationTreeNode parentNode = (ProgramSeineNavigationTreeNode) node.getParent();
+ TripSeineReference reference = DtoModelHelper.fromDataDto(getBeanType()).toReference(getDecoratorService().getReferentialLocale(), getBean());
+ return ProgramSeineNavigationTreeNode.sortReferences(parentNode, node, reference, TripSeineReference::getStartDate);
+// return getTripSeineService().getTripSeinePositionInProgram(parentId, bean.getId());
}
@Override
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
@@ -48,10 +48,9 @@ import static org.nuiton.i18n.I18n.t;
*/
public abstract class ContentOpenableUIHandler<E extends DataDto, U extends ContentOpenableUI<E, U>> extends ContentUIHandler<E, U> {
- private static final String POSITION_OPENABLE = "positionOpenable";
+// private static final String POSITION_OPENABLE = "positionOpenable";
- /** Logger */
- static private final Log log = LogFactory.getLog(ContentOpenableUIHandler.class);
+ private static final Log log = LogFactory.getLog(ContentOpenableUIHandler.class);
private static final String UPDATE_TRIP_NODE = "updateTripNode";
protected final String closeMessage;
@@ -147,8 +146,7 @@ public abstract class ContentOpenableUIHandler<E extends DataDto, U extends Cont
model.setMode(ContentMode.READ);
removeAllMessages(ui);
- addMessage(ui, NuitonValidatorScope.INFO,
- getTypeI18nKey(bean.getClass()), t(closeMessage));
+ addMessage(ui, NuitonValidatorScope.INFO, getTypeI18nKey(bean.getClass()), t(closeMessage));
NavigationTree treeHelper = getNavigationTree();
treeHelper.reloadSelectedNode(bean instanceof TripSeineDto || bean instanceof TripLonglineDto, true);
@@ -162,9 +160,9 @@ public abstract class ContentOpenableUIHandler<E extends DataDto, U extends Cont
super.afterSave(refresh);
- U ui = getUi();
+ E bean = getBean();
+ int position = getOpenablePosition();
- int position = ui.getContextValue(Integer.class, POSITION_OPENABLE);
NavigationTree treeHelper = getNavigationTree();
NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
@@ -176,8 +174,6 @@ public abstract class ContentOpenableUIHandler<E extends DataDto, U extends Cont
boolean create = node.getId() == null;
- E bean = getBean();
-
int oldPosition;
if (create) {
oldPosition = parentNode.getChildCount();
@@ -258,20 +254,20 @@ public abstract class ContentOpenableUIHandler<E extends DataDto, U extends Cont
createDataUI();
}
- protected final void obtainChildPosition(E bean) {
-
- String containerId = getSelectedParentId();
-
- int position = getOpenablePosition(containerId, bean);
-
- if (log.isDebugEnabled()) {
- log.debug("Position of child : " + position);
- }
-
- getUi().setContextValue(position, POSITION_OPENABLE);
- }
-
- protected abstract int getOpenablePosition(String parentId, E bean);
+// protected final void obtainChildPosition(E bean) {
+//
+// String containerId = getSelectedParentId();
+//
+// int position = getOpenablePosition(containerId, bean);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Position of child : " + position);
+// }
+//
+// getUi().setContextValue(position, POSITION_OPENABLE);
+// }
+
+ protected abstract int getOpenablePosition();
protected final void finalizeOpenUI(ContentMode mode, boolean create) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/NavigationTreeNodeSupport.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -26,15 +26,22 @@ import fr.ird.observe.client.ui.ObserveKeyStrokes;
import fr.ird.observe.client.ui.actions.content.SelectNodeUIAction;
import fr.ird.observe.client.ui.content.ContentUI;
import fr.ird.observe.client.ui.tree.ObserveTreeNodeSupport;
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.util.Enumeration;
-import javax.swing.AbstractAction;
-import javax.swing.JMenuItem;
+import fr.ird.observe.dto.IdDto;
+import fr.ird.observe.dto.reference.DtoReference;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.JAXXObject;
+import javax.swing.AbstractAction;
+import javax.swing.JMenuItem;
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.function.Function;
+
/**
* Created on 14/11/16.
*
@@ -48,6 +55,21 @@ public abstract class NavigationTreeNodeSupport<O> extends ObserveTreeNodeSuppor
private boolean loaded;
+ public static <D extends IdDto, R extends DtoReference<D, R>, C extends Comparable> int sortReferences(Iterable<? extends ReferenceNavigationTreeNodeSupport<D, R>> childNodes, NavigationTreeNodeSupport selectedNode, R reference, Function<R, C> comparatorFunction) {
+ List<R> references = new ArrayList<>();
+ for (ReferenceNavigationTreeNodeSupport<D, R> childNode : childNodes) {
+ if (childNode == selectedNode) {
+ continue;
+ }
+ references.add(childNode.getData());
+ }
+ references.add(reference);
+ @SuppressWarnings("unchecked")
+ Comparator<R> comparing = Comparator.comparing(comparatorFunction);
+ references.sort(comparing);
+ return references.indexOf(reference);
+ }
+
public abstract Class<?> getDataType();
public abstract void reload();
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -26,9 +26,14 @@ import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.IdHelper;
import fr.ird.observe.dto.reference.DtoReference;
-import java.awt.Color;
import org.nuiton.decorator.Decorator;
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.function.Function;
+
/**
* Created on 14/11/16.
*
@@ -39,17 +44,17 @@ public abstract class ReferenceNavigationTreeNodeSupport<D extends IdDto, R exte
private final Decorator<R> decorator;
- @Override
- public String getId() {
- return getData().getId();
- }
-
protected ReferenceNavigationTreeNodeSupport(R data, boolean allowChildren) {
super(data, allowChildren && data.isPersisted());
this.decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(getDataType());
}
@Override
+ public String getId() {
+ return getData().getId();
+ }
+
+ @Override
public Color getColor() {
return isPersisted() ? super.getColor() : Color.RED;
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ActivitiesLonglineNavigationTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ActivitiesLonglineNavigationTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ActivitiesLonglineNavigationTreeNode.java
@@ -25,10 +25,15 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.longline;
import fr.ird.observe.client.ui.content.data.longline.ActivityLonglinesUI;
import fr.ird.observe.client.ui.tree.navigation.nodes.ClassNavigationTreeNode;
import fr.ird.observe.client.ui.tree.navigation.nodes.WithChildsToReload;
+import fr.ird.observe.client.ui.tree.navigation.nodes.seine.TripSeineNavigationTreeNode;
import fr.ird.observe.dto.IdHelper;
import fr.ird.observe.dto.data.longline.ActivityLonglineDto;
import fr.ird.observe.dto.data.longline.ActivityLonglineReference;
import fr.ird.observe.dto.reference.DataDtoReferenceSet;
+import org.apache.commons.collections4.EnumerationUtils;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Iterator;
import static org.nuiton.i18n.I18n.t;
@@ -39,7 +44,7 @@ import static org.nuiton.i18n.I18n.t;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 6.0
*/
-public class ActivitiesLonglineNavigationTreeNode extends ClassNavigationTreeNode<ActivityLonglineDto> implements WithChildsToReload {
+public class ActivitiesLonglineNavigationTreeNode extends ClassNavigationTreeNode<ActivityLonglineDto> implements WithChildsToReload, Iterable<ActivityLonglineNavigationTreeNode> {
ActivitiesLonglineNavigationTreeNode() {
super(ActivityLonglineDto.class, true, t("observe.ui.tree.activities"));
@@ -67,4 +72,11 @@ public class ActivitiesLonglineNavigationTreeNode extends ClassNavigationTreeNod
add(new ActivityLonglineNavigationTreeNode(reference));
}
}
+
+ @SuppressWarnings("unchecked")
+ @NotNull
+ @Override
+ public Iterator<ActivityLonglineNavigationTreeNode> iterator() {
+ return EnumerationUtils.toList(children()).iterator();
+ }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ProgramLonglineNavigationTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ProgramLonglineNavigationTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/longline/ProgramLonglineNavigationTreeNode.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.longline;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -27,9 +27,11 @@ import fr.ird.observe.client.ui.tree.navigation.nodes.ReferenceNavigationTreeNod
import fr.ird.observe.dto.data.longline.TripLonglineReference;
import fr.ird.observe.dto.referential.ProgramDto;
import fr.ird.observe.dto.referential.ProgramReference;
+import org.apache.commons.collections4.EnumerationUtils;
+import org.jetbrains.annotations.NotNull;
+
import java.util.Collection;
import java.util.Iterator;
-import org.apache.commons.collections4.EnumerationUtils;
/**
* Created on 14/11/16.
@@ -74,8 +76,11 @@ public class ProgramLonglineNavigationTreeNode extends ReferenceNavigationTreeNo
return TripLonglinesUI.class;
}
+ @SuppressWarnings("unchecked")
+ @NotNull
@Override
public Iterator<TripLonglineNavigationTreeNode> iterator() {
return EnumerationUtils.toList(children()).iterator();
}
+
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ActivitiesSeineNavigationTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ActivitiesSeineNavigationTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ActivitiesSeineNavigationTreeNode.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.seine;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -26,10 +26,13 @@ import fr.ird.observe.client.ui.content.data.seine.ActivitySeinesUI;
import fr.ird.observe.client.ui.tree.navigation.nodes.ClassNavigationTreeNode;
import fr.ird.observe.client.ui.tree.navigation.nodes.WithChildsToReload;
import fr.ird.observe.dto.IdHelper;
-import fr.ird.observe.dto.reference.DataDtoReferenceSet;
import fr.ird.observe.dto.data.seine.ActivitySeineDto;
import fr.ird.observe.dto.data.seine.ActivitySeineReference;
+import fr.ird.observe.dto.reference.DataDtoReferenceSet;
+import org.apache.commons.collections4.EnumerationUtils;
+import org.jetbrains.annotations.NotNull;
+import java.util.Iterator;
import static org.nuiton.i18n.I18n.t;
@@ -39,7 +42,7 @@ import static org.nuiton.i18n.I18n.t;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 6.0
*/
-public class ActivitiesSeineNavigationTreeNode extends ClassNavigationTreeNode<ActivitySeineDto> implements WithChildsToReload {
+public class ActivitiesSeineNavigationTreeNode extends ClassNavigationTreeNode<ActivitySeineDto> implements WithChildsToReload ,Iterable<ActivitySeineNavigationTreeNode> {
ActivitiesSeineNavigationTreeNode() {
super(ActivitySeineDto.class, true, t("observe.ui.tree.activities"));
@@ -67,4 +70,11 @@ public class ActivitiesSeineNavigationTreeNode extends ClassNavigationTreeNode<A
add(new ActivitySeineNavigationTreeNode(reference));
}
}
+
+ @SuppressWarnings("unchecked")
+ @NotNull
+ @Override
+ public Iterator<ActivitySeineNavigationTreeNode> iterator() {
+ return EnumerationUtils.toList(children()).iterator();
+ }
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ProgramSeineNavigationTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ProgramSeineNavigationTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/ProgramSeineNavigationTreeNode.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.seine;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -24,12 +24,14 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.seine;
import fr.ird.observe.client.ui.content.data.seine.TripSeinesUI;
import fr.ird.observe.client.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport;
+import fr.ird.observe.dto.data.seine.TripSeineReference;
import fr.ird.observe.dto.referential.ProgramDto;
import fr.ird.observe.dto.referential.ProgramReference;
-import fr.ird.observe.dto.data.seine.TripSeineReference;
+import org.apache.commons.collections4.EnumerationUtils;
+import org.jetbrains.annotations.NotNull;
+
import java.util.Collection;
import java.util.Iterator;
-import org.apache.commons.collections4.EnumerationUtils;
/**
* Created on 14/11/16.
@@ -61,7 +63,6 @@ public class ProgramSeineNavigationTreeNode extends ReferenceNavigationTreeNodeS
return TripSeinesUI.class;
}
-
@Override
public boolean isOpen() {
// le programme est ouvert si l'une de ses marées est ouverte
@@ -73,6 +74,8 @@ public class ProgramSeineNavigationTreeNode extends ReferenceNavigationTreeNodeS
return false;
}
+ @SuppressWarnings("unchecked")
+ @NotNull
@Override
public Iterator<TripSeineNavigationTreeNode> iterator() {
return EnumerationUtils.toList(children()).iterator();
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/RoutesSeineNavigationTreeNode.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/RoutesSeineNavigationTreeNode.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/nodes/seine/RoutesSeineNavigationTreeNode.java
@@ -4,7 +4,7 @@ package fr.ird.observe.client.ui.tree.navigation.nodes.seine;
* #%L
* ObServe :: Client
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -26,10 +26,13 @@ import fr.ird.observe.client.ui.content.data.seine.RoutesUI;
import fr.ird.observe.client.ui.tree.navigation.nodes.ClassNavigationTreeNode;
import fr.ird.observe.client.ui.tree.navigation.nodes.WithChildsToReload;
import fr.ird.observe.dto.IdHelper;
-import fr.ird.observe.dto.reference.DataDtoReferenceSet;
import fr.ird.observe.dto.data.seine.RouteDto;
import fr.ird.observe.dto.data.seine.RouteReference;
+import fr.ird.observe.dto.reference.DataDtoReferenceSet;
+import org.apache.commons.collections4.EnumerationUtils;
+import org.jetbrains.annotations.NotNull;
+import java.util.Iterator;
import static org.nuiton.i18n.I18n.t;
@@ -39,7 +42,7 @@ import static org.nuiton.i18n.I18n.t;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 6.0
*/
-public class RoutesSeineNavigationTreeNode extends ClassNavigationTreeNode<RouteDto> implements WithChildsToReload {
+public class RoutesSeineNavigationTreeNode extends ClassNavigationTreeNode<RouteDto> implements WithChildsToReload,Iterable<RouteSeineNavigationTreeNode> {
RoutesSeineNavigationTreeNode() {
super(RouteDto.class, true, t("observe.ui.tree.seine.routes"));
@@ -67,4 +70,12 @@ public class RoutesSeineNavigationTreeNode extends ClassNavigationTreeNode<Route
add(new RouteSeineNavigationTreeNode(reference));
}
}
+
+
+ @SuppressWarnings("unchecked")
+ @NotNull
+ @Override
+ public Iterator<RouteSeineNavigationTreeNode> iterator() {
+ return EnumerationUtils.toList(children()).iterator();
+ }
}
=====================================
services-client/src/main/java/fr/ird/observe/services/client/ObserveServiceFactoryClient.java
=====================================
--- a/services-client/src/main/java/fr/ird/observe/services/client/ObserveServiceFactoryClient.java
+++ b/services-client/src/main/java/fr/ird/observe/services/client/ObserveServiceFactoryClient.java
@@ -4,7 +4,7 @@ package fr.ird.observe.services.client;
* #%L
* ObServe :: Services client implementation
* %%
- * Copyright (C) 2008 - 2017 IRD, Code Lutin, Ultreia.io
+ * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -36,9 +36,11 @@ import fr.ird.observe.services.gson.ObserveDataSourceConnectionAdapter;
import fr.ird.observe.services.gson.ObserveDtoGsonSupplier;
import fr.ird.observe.services.service.ObserveService;
import io.ultreia.java4all.http.HResponseBuilder;
-import java.io.IOException;
-import java.util.Objects;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.Objects;
/**
* Created on 16/08/15.
@@ -47,8 +49,10 @@ import org.apache.commons.lang3.StringUtils;
*/
public class ObserveServiceFactoryClient extends ObserveServiceFactorySupport implements ObserveDataSourceConfigurationRestConstants {
+ private static final Log log = LogFactory.getLog(ObserveServiceFactoryClient.class);
+ private final static ClassMappingClient CLASS_MAPPING = ClassMappingClient.get();
+ private final static int LOCATE_PREFIX_LENGTH = ObserveServiceClientSupport.class.getPackage().getName().length();
private final ObserveRequestBuilderFactory requestBuilderFactory = new ObserveRequestBuilderFactory();
-
private final HResponseBuilder responseBuilder = HResponseBuilder.create(new ObserveDtoGsonSupplier() {
@Override
@@ -60,9 +64,6 @@ public class ObserveServiceFactoryClient extends ObserveServiceFactorySupport im
}
});
- private final static ClassMappingClient CLASS_MAPPING = ClassMappingClient.get();
-
- private final static int LOCATE_PREFIX_LENGTH = ObserveServiceClientSupport.class.getPackage().getName().length();
@Override
public <S extends ObserveService> boolean accept(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType) {
@@ -130,8 +131,12 @@ public class ObserveServiceFactoryClient extends ObserveServiceFactorySupport im
}
@Override
- public void close() throws IOException {
- responseBuilder.close();
+ public void close() {
+ try {
+ responseBuilder.close();
+ } catch (Exception e) {
+ log.error("Can't close response builder", e);
+ }
}
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/27bcb0df8d6b9e8bb4e938a1a79…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/27bcb0df8d6b9e8bb4e938a1a79…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Simplificiation du layout de content
by Tony CHEMIT 08 Apr '18
by Tony CHEMIT 08 Apr '18
08 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
16a46270 by Tony CHEMIT at 2018-04-08T09:48:52Z
Simplificiation du layout de content
- - - - -
5 changed files:
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jcss
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIManager.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationUI.jcss
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
@@ -121,8 +121,6 @@
<ClientDataContext id='dataContext' initializer='ObserveSwingApplicationContext.get().getDataContext()'/>
- <CardLayout2 id='contentLayout'/>
-
<CardLayout2Ext id='bodyLayout' constructorParams='this, "body"'/>
<ObserveBlockingLayerUI id='busyBlockLayerUI'/>
@@ -260,8 +258,8 @@ protected void finalize() throws Throwable {
<!-- right up : content -->
- <JPanel id="content">
- <JPanel id="emptySelection" constraints='"emptySelection"' layout="{new BorderLayout()}">
+ <JPanel id="content" layout="{new BorderLayout()}">
+ <JPanel id="emptySelection" layout="{new BorderLayout()}" constraints="BorderLayout.CENTER">
<JLabel id="emptySelectionLabel" constraints="BorderLayout.CENTER"/>
</JPanel>
</JPanel>
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jcss
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jcss
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jcss
@@ -328,10 +328,6 @@ JSplitPane {
resizeWeight: 0.80;
}
-#contentLayout {
- useOnlyVisibleComponentDimension: true;
-}
-
#navigationView {
title: "observe.view.navigation";
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
@@ -62,7 +62,6 @@ import javax.swing.border.Border;
import javax.swing.border.LineBorder;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.TreePath;
-import java.awt.Component;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.KeyEvent;
@@ -88,8 +87,6 @@ public class ObserveMainUIInitializer {
/** Logger */
private static final Log log = LogFactory.getLog(ObserveMainUIInitializer.class);
- private static final String EMPTY_SELECTION = "emptySelection";
-
private final ObserveMainUI ui;
private Border focusBorder;
private Border noFocusBorder;
@@ -183,25 +180,15 @@ public class ObserveMainUIInitializer {
}
if (ui.getNavigationUI().getTree().isSelectionEmpty()) {
log.debug("No selection, show empty panel...");
-
- boolean foundEmptySelection = false;
- for (Component component : ui.getContent().getComponents()) {
- if (component.getName().equals(EMPTY_SELECTION)) {
- foundEmptySelection = true;
- }
- }
- if (!foundEmptySelection) {
- ui.getContent().add(ui.getEmptySelection(), EMPTY_SELECTION);
- }
- ui.getContentLayout().show(ui.getContent(), EMPTY_SELECTION);
+ ui.getContentUIManager().removeSelectedContentUI();
return;
}
TreePath path = event.getPath();
NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) path.getLastPathComponent();
- ContentUIManager manager = ui.getContentUIManager();
// obtain the ui type to show
+ @SuppressWarnings("unchecked")
Class<? extends ContentUI<?, ?>> uiClass = node.getContentClass();
if (log.isDebugEnabled()) {
log.debug("new selected path = " + node + ", ui = " + uiClass);
@@ -525,7 +512,7 @@ public class ObserveMainUIInitializer {
public void cleanNavigationUI(ProgressModel progressModel) {
// reset content uis
- ui.getContentLayout().reset(ui.getContent());
+ ui.getContentUIManager().removeSelectedContentUI();
progressModel.incrementsCurrentStep();
// clean messages
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ContentUIManager.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIManager.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIManager.java
@@ -6,15 +6,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
@@ -26,14 +26,15 @@ import fr.ird.observe.client.ObserveSwingSessionHelper;
import fr.ird.observe.client.ui.ObserveMainUI;
import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.dto.AbstractObserveDto;
-import java.awt.Component;
-import java.lang.reflect.Constructor;
-import javax.swing.JPanel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.JAXXContext;
import org.nuiton.jaxx.runtime.context.JAXXInitialContext;
-import org.nuiton.jaxx.runtime.swing.CardLayout2;
+
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.lang.reflect.Constructor;
/**
* Manager des ecrans d'editions
@@ -46,30 +47,21 @@ public class ContentUIManager {
/** Logger */
private static final Log log = LogFactory.getLog(ContentUIManager.class);
- public <U extends ContentUI<?, ?>> U getContent(Class<U> uiClass) {
-
- CardLayout2 layout = getLayout();
+ public <U extends ContentUI<?, ?>> U getContent() {
JPanel layoutContent = getLayoutContent();
- String constraints = uiClass.getName();
-
- if (!layout.contains(constraints)) {
-
- // pas trouvé
+ Component currentContent = layoutContent.getComponent(0);
+ if (!(currentContent instanceof ContentUI)) {
return null;
}
-
- @SuppressWarnings("unchecked") U content = (U) layout.getComponent(layoutContent, constraints);
-
+ @SuppressWarnings("unchecked") U content = (U) currentContent;
if (log.isDebugEnabled()) {
- log.debug("Will use existing content [" + constraints + "] : " + content.getClass().getName());
+ log.debug(String.format("Will use existing content: %s", content.getClass().getName()));
}
return content;
}
public <U extends ContentUI<?, ?>> U createContent(Class<U> uiClass) {
- String constraints = uiClass.getName();
-
U result;
try {
Constructor<U> constructor = uiClass.getConstructor(JAXXContext.class);
@@ -84,9 +76,10 @@ public class ContentUIManager {
try {
// ajout du content dans son parent
- getLayoutContent().add(result, constraints);
+ getLayoutContent().removeAll();
+ getLayoutContent().add(result, BorderLayout.CENTER);
if (log.isDebugEnabled()) {
- log.debug("Add new content [" + constraints + "] : " + result.getClass().getName());
+ log.debug(String.format("Add new content: %s", result.getClass().getName()));
}
getMainUI().getModel().attachFocusOnBody(result);
@@ -117,8 +110,8 @@ public class ContentUIManager {
} catch (Exception e) {
UIHelper.handlingError(e);
} finally {
-
- getLayout().show(getLayoutContent(), constraints);
+ getLayoutContent().removeAll();
+ getLayoutContent().add(content, BorderLayout.CENTER);
getMainUI().getHandler().updateContentSize();
content.opened();
@@ -127,7 +120,8 @@ public class ContentUIManager {
}
public void close() {
- getLayout().reset(getLayoutContent());
+ getLayoutContent().removeAll();
+ getLayoutContent().add(getMainUI().getEmptySelection(), BorderLayout.CENTER);
}
public ContentUI<?, ?> getSelectedContentUI() {
@@ -162,13 +156,12 @@ public class ContentUIManager {
}
public void removeSelectedContentUI() {
-
ContentUI<?, ?> selectedContentUI = getSelectedContentUI();
if (selectedContentUI != null) {
- getLayout().removeLayoutComponent(selectedContentUI, selectedContentUI.getClass().getName());
- getLayoutContent().remove(selectedContentUI);
+ getLayoutContent().removeAll();
selectedContentUI.destroy();
}
+ getLayoutContent().add(getMainUI().getEmptySelection(), BorderLayout.CENTER);
}
public void restartEdit() {
@@ -211,25 +204,22 @@ public class ContentUIManager {
return getMainUI().getContent();
}
- private CardLayout2 getLayout() {
- return getMainUI().getContentLayout();
- }
+// private CardLayout2 getLayout() {
+// return getMainUI().getContentLayout();
+// }
private ObserveMainUI getMainUI() {
return ObserveSwingApplicationContext.get().getMainUI();
}
private ContentUI<?, ?> getSelectedContentUI(ObserveMainUI ui) {
-
if (ui == null) {
// no ui, so no modification
return null;
}
-
ContentUI<?, ?> result = null;
- CardLayout2 layout = ui.getContentLayout();
JPanel container = ui.getContent();
- Component currentContent = layout.getVisibleComponent(container);
+ Component currentContent = container.getComponent(0);
if (currentContent instanceof ContentUI<?, ?>) {
result = (ContentUI<?, ?>) currentContent;
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationUI.jcss
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationUI.jcss
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationUI.jcss
@@ -65,3 +65,7 @@ JButton {
actionIcon:generate;
toolTipText:"observe.tree.action.configure.tip";
}
+
+#tree {
+ font-size:11;
+}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/16a4627037064e9c1ccf18263cd…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/16a4627037064e9c1ccf18263cd…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 8 commits: Amélioration de l'arbre de navigation
by Tony CHEMIT 07 Apr '18
by Tony CHEMIT 07 Apr '18
07 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
b639f36a by Tony CHEMIT at 2018-04-07T13:15:51Z
Amélioration de l'arbre de navigation
- - - - -
16c878bd by Tony CHEMIT at 2018-04-07T13:15:52Z
Correction d'un appel a UIHelper.askUser
- - - - -
d8f72cb6 by Tony CHEMIT at 2018-04-07T13:15:52Z
Fix some navigation issues (scrollpane does not work, on select node is not expand) + review navigation ui design
- - - - -
e4d6751c by Tony CHEMIT at 2018-04-07T13:15:52Z
fix update node in navigation on save, create or delete
- - - - -
1530b729 by Tony CHEMIT at 2018-04-07T13:15:52Z
Fix widget decorator labels
- - - - -
15d183ff by Tony CHEMIT at 2018-04-07T13:15:52Z
Make change focus action works again
- - - - -
1eabc6c6 by Tony CHEMIT at 2018-04-07T13:36:01Z
fix message view minimum size
- - - - -
b2cb695a by Tony CHEMIT at 2018-04-07T14:33:19Z
Improve focus manager on some LL screens
- - - - -
30 changed files:
- client-configuration/pom.xml
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfigBean.java
- client-configuration/src/main/resources/i18n/client-configuration_en_GB.properties
- client-configuration/src/main/resources/i18n/client-configuration_es_ES.properties
- client-configuration/src/main/resources/i18n/client-configuration_fr_FR.properties
- client/pom.xml
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/def898c3ae09d8031c28a6f5c6…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/def898c3ae09d8031c28a6f5c6…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Amélioration de l'arbre de navigation
by Tony CHEMIT 07 Apr '18
by Tony CHEMIT 07 Apr '18
07 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
c4336df8 by Tony CHEMIT at 2018-04-07T13:09:44Z
Amélioration de l'arbre de navigation
- - - - -
5012bf7d by Tony CHEMIT at 2018-04-07T13:09:46Z
Correction d'un appel a UIHelper.askUser
- - - - -
816b8b32 by Tony CHEMIT at 2018-04-07T13:09:46Z
Fix some navigation issues (scrollpane does not work, on select node is not expand) + review navigation ui design
- - - - -
bbcc8e2a by Tony CHEMIT at 2018-04-07T13:09:46Z
fix update node in navigation on save, create or delete
- - - - -
00f8b8ca by Tony CHEMIT at 2018-04-07T13:09:46Z
Fix widget decorator labels
- - - - -
def898c3 by Tony CHEMIT at 2018-04-07T13:09:46Z
Make change focus action works again
- - - - -
30 changed files:
- client-configuration/pom.xml
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfigBean.java
- client-configuration/src/main/resources/i18n/client-configuration_en_GB.properties
- client-configuration/src/main/resources/i18n/client-configuration_es_ES.properties
- client-configuration/src/main/resources/i18n/client-configuration_fr_FR.properties
- client/pom.xml
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
- client/src/main/java/fr/ird/observe/client/ui/admin/synchronize/data/DataSynchroModel.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/a00981f71bf68b3909e2ca228e…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/a00981f71bf68b3909e2ca228e…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Amélioration de l'arbre de navigation
by Tony CHEMIT 07 Apr '18
by Tony CHEMIT 07 Apr '18
07 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
052918b5 by Tony CHEMIT at 2018-04-07T12:56:10Z
Amélioration de l'arbre de navigation
- - - - -
4b67f6bf by Tony CHEMIT at 2018-04-07T12:56:11Z
Correction d'un appel a UIHelper.askUser
- - - - -
368ee054 by Tony CHEMIT at 2018-04-07T12:56:11Z
Fix some navigation issues (scrollpane does not work, on select node is not expand) + review navigation ui design
- - - - -
e190467e by Tony CHEMIT at 2018-04-07T12:56:12Z
fix update node in navigation on save, create or delete
- - - - -
6ca9e346 by Tony CHEMIT at 2018-04-07T12:56:12Z
Fix widget decorator labels
- - - - -
a00981f7 by Tony CHEMIT at 2018-04-07T12:56:12Z
Make change focus action works again
- - - - -
30 changed files:
- client-configuration/pom.xml
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfig.java
- + client-configuration/src/main/java/fr/ird/observe/client/configuration/NavigationTreeConfigBean.java
- client-configuration/src/main/resources/i18n/client-configuration_en_GB.properties
- client-configuration/src/main/resources/i18n/client-configuration_es_ES.properties
- client-configuration/src/main/resources/i18n/client-configuration_fr_FR.properties
- client/pom.xml
- client/src/main/java/fr/ird/observe/client/ui/ObserveKeyStrokes.java
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
- client/src/main/java/fr/ird/observe/client/ui/admin/synchronize/data/DataSynchroModel.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/8c4e21bd10a0f0d5c155d4f92b…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/8c4e21bd10a0f0d5c155d4f92b…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Make change focus action works again
by Tony CHEMIT 07 Apr '18
by Tony CHEMIT 07 Apr '18
07 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
8c4e21bd by Tony CHEMIT at 2018-04-07T12:53:18Z
Make change focus action works again
- - - - -
2 changed files:
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/util/ObserveBlockingLayerUI.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
@@ -27,6 +27,7 @@ import fr.ird.observe.client.configuration.ClientConfig;
import fr.ird.observe.client.db.ClientDataContext;
import fr.ird.observe.client.db.ObserveSwingDataSource;
import fr.ird.observe.client.ui.actions.UIActionSupport;
+import fr.ird.observe.client.ui.actions.main.global.ChangeFocusGlobalUIAction;
import fr.ird.observe.client.ui.content.ContentUI;
import fr.ird.observe.client.ui.content.ContentUIManager;
import fr.ird.observe.client.ui.content.ObserveActionMap;
@@ -441,36 +442,12 @@ public class ObserveMainUIInitializer {
init(ui.getNavigationUI().getTree());
ui.getNavigationView().setRightDecoration(ui.getNavigationUI().getToolbar());
-// ui.getNavigationView().addComponentListener(new ComponentAdapter() {
-//
-// @Override
-// public void componentResized(ComponentEvent e) {
-//
-// JComponent source = (JComponent) e.getSource();
-//
-// NavigationTreeHeader actions = ui.getNavigationUI();
-//
-// Dimension preferredLayoutSize = actions.getLayout().preferredLayoutSize(actions);
-//
-// Dimension showLonglineSize = actions.getShowLongline().getSize();
-// Dimension showSeineSize = actions.getShowSeine().getSize();
-// Dimension showReferential = actions.getShowReferential().getSize();
-// Dimension showEmpty = actions.getShowEmptyProgram().getSize();
-// int minWidth = 18 + (int) Math.max(showLonglineSize.getWidth() + showSeineSize.getWidth(), showReferential.getWidth() + showEmpty.getWidth());
-// source.setMinimumSize(new Dimension(minWidth, (int) source.getSize().getHeight()));
-// log.debug("Header resized to minumun: " + source.getMinimumSize());
-//
-// int maxWidth = ui.getNavigationView().getWidth() - 10;
-//
-// int currentWidth = (int) preferredLayoutSize.getWidth();
-// int height = 32;
-// if (currentWidth > maxWidth) {
-// height += 32;
-// }
-// actions.setPreferredSize(new Dimension(maxWidth, height));
-//
-// }
-// });
+ ChangeFocusGlobalUIAction action = (ChangeFocusGlobalUIAction) Objects.requireNonNull(actionMap.get(ChangeFocusGlobalUIAction.ACTION_NAME));
+
+ // register this action since there is no editor on which attach this action
+ ui.getRootPane().getActionMap().put(ChangeFocusGlobalUIAction.ACTION_NAME, action);
+ ui.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(action.getAcceleratorKey(), ChangeFocusGlobalUIAction.ACTION_NAME);
+
}
protected void init(ObserveActionMap actionMap, AbstractButton editor) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/util/ObserveBlockingLayerUI.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/util/ObserveBlockingLayerUI.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/util/ObserveBlockingLayerUI.java
@@ -22,25 +22,12 @@ package fr.ird.observe.client.ui.util;
* #L%
*/
-import com.google.common.collect.ImmutableSet;
-import fr.ird.observe.client.ObserveSwingApplicationContext;
-import fr.ird.observe.client.ui.actions.UIActionSupport;
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseWheelEvent;
-import java.util.Set;
-import javax.swing.Action;
-import javax.swing.ActionMap;
-import javax.swing.InputMap;
-import javax.swing.JComponent;
-import javax.swing.KeyStroke;
-import javax.swing.SwingUtilities;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jdesktop.jxlayer.JXLayer;
import org.nuiton.jaxx.runtime.swing.BlockingLayerUI;
+import javax.swing.JComponent;
+import java.awt.event.MouseWheelEvent;
+
/**
* Created on 09/11/16.
*
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/8c4e21bd10a0f0d5c155d4f92bb…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/8c4e21bd10a0f0d5c155d4f92bb…
You're receiving this email because of your account on gitlab.com.
1
0
07 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
e782f414 by Tony CHEMIT at 2018-04-07T12:08:18Z
Fix widget decorator labels
- - - - -
2 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
- dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
@@ -24,7 +24,6 @@ package fr.ird.observe.client.ui.content;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
-import fr.ird.observe.dto.I18nEnumHelper;
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.ui.ObserveKeyStrokes;
import fr.ird.observe.client.ui.actions.UIActionSupport;
@@ -42,53 +41,15 @@ import fr.ird.observe.client.ui.util.BooleanEditor;
import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.client.ui.util.tripMap.ObserveMapPane;
import fr.ird.observe.client.validation.ObserveSwingValidator;
+import fr.ird.observe.dto.I18nEnumHelper;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.decoration.DecoratorService;
import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
import fr.ird.observe.dto.decoration.decorators.DataReferenceDecorator;
import fr.ird.observe.dto.decoration.decorators.ReferentialReferenceDecorator;
-import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.awt.event.FocusAdapter;
-import java.awt.event.FocusEvent;
-import java.awt.event.ItemEvent;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.EnumSet;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-import javax.swing.AbstractAction;
-import javax.swing.AbstractButton;
-import javax.swing.Action;
-import javax.swing.InputMap;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
-import javax.swing.JFormattedTextField;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JScrollBar;
-import javax.swing.JSpinner;
-import javax.swing.JTabbedPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
-import javax.swing.SwingUtilities;
-import javax.swing.border.LineBorder;
-import javax.swing.table.TableCellEditor;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -117,6 +78,45 @@ import org.nuiton.jaxx.widgets.temperature.TemperatureEditorConfig;
import org.nuiton.jaxx.widgets.temperature.TemperatureFormat;
import org.nuiton.util.DateUtil;
+import javax.swing.AbstractAction;
+import javax.swing.AbstractButton;
+import javax.swing.Action;
+import javax.swing.InputMap;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JFormattedTextField;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JScrollBar;
+import javax.swing.JSpinner;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.KeyStroke;
+import javax.swing.ListCellRenderer;
+import javax.swing.SwingUtilities;
+import javax.swing.border.LineBorder;
+import javax.swing.table.TableCellEditor;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
+import java.awt.event.ItemEvent;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.EnumSet;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
import static org.nuiton.i18n.I18n.t;
@@ -404,8 +404,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ContentUI<E, UI>>
log.debug("init combobox for " + beanComboBox.getBeanType());
}
Class referenceType = beanComboBox.getBeanType();
-
- beanComboBox.setI18nLabelBuilder(new ObserveI18nLabelsBuilder(referenceType));
+ beanComboBox.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(referenceType));
beanComboBox.setI18nPrefix("observe.common.");
beanComboBox.setMinimumSize(new Dimension(0, 24));
beanComboBox.getResetButton().setToolTipText(beanComboBox.getResetButton().getToolTipText() + " (ctrl + R)");
@@ -461,7 +460,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ContentUI<E, UI>>
log.debug("init list for " + beanList.getBeanType());
Class referenceType = beanList.getBeanType();
- beanList.setI18nLabelBuilder(new ObserveI18nLabelsBuilder(referenceType));
+ beanList.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(referenceType));
if (ReferentialDtoReference.class.isAssignableFrom(referenceType)) {
prepareReferentialEntityList(referenceType, beanList);
} else {
@@ -474,7 +473,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ContentUI<E, UI>>
beanList.setI18nPrefix("observe.common.");
Class referenceType = beanList.getBeanType();
- beanList.setI18nLabelBuilder(new ObserveI18nLabelsBuilder(referenceType));
+ beanList.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(referenceType));
beanList.getAddButton().setFocusable(false);
beanList.getRemoveButton().setFocusable(false);
=====================================
dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
=====================================
--- a/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
+++ b/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
@@ -26,6 +26,9 @@ import com.google.common.collect.ImmutableMap;
import fr.ird.observe.dto.referential.I18nReferentialDto;
import fr.ird.observe.dto.referential.ReferentialDto;
import java.util.Map;
+import java.util.Objects;
+
+import fr.ird.observe.spi.DtoModelHelper;
import org.nuiton.decorator.MultiJXPathDecorator;
import org.nuiton.jaxx.widgets.select.I18nLabelsBuilder;
@@ -70,6 +73,11 @@ public class ObserveI18nLabelsBuilder extends I18nLabelsBuilder {
.put("country", "")
.build();
+ public static ObserveI18nLabelsBuilder createFromReferenceType(Class referenceType) {
+ Class dtoType = DtoModelHelper.getReferencesInitializer().getReferenceToDtoClassMapping().forAny(Objects.requireNonNull(referenceType));
+ return new ObserveI18nLabelsBuilder(Objects.requireNonNull(dtoType));
+ }
+
public ObserveI18nLabelsBuilder(Class beanType) {
super(beanType);
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e782f414b36804e17d3409a8965…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e782f414b36804e17d3409a8965…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][feature/v8_maquette] 9 commits: Fix some navigation issues (scrollpane does not work, on select node is not…
by Tony CHEMIT 06 Apr '18
by Tony CHEMIT 06 Apr '18
06 Apr '18
Tony CHEMIT pushed to branch feature/v8_maquette at ultreiaio / ird-observe
Commits:
4eb6a93b by Tony CHEMIT at 2018-04-06T07:04:58Z
Fix some navigation issues (scrollpane does not work, on select node is not expand) + review navigation ui design
- - - - -
5a189e8b by Tony CHEMIT at 2018-04-06T08:07:07Z
fix update node in navigation on save, create or delete
- - - - -
2c763489 by Tony CHEMIT at 2018-04-06T12:50:05Z
Ajout de la donnée observe_longline.ActivityLogbook (See #907) Maquettage
- - - - -
d9785b05 by Tony CHEMIT at 2018-04-06T12:50:05Z
Ajout de la donnée observe_longline.SetLogbook (See #909)
- - - - -
a5f8091a by Tony CHEMIT at 2018-04-06T12:50:05Z
Ajout de la donnée observe_longline.CatchLogbook (See #911) Maquettage
- - - - -
a4f91c7f by Tony CHEMIT at 2018-04-06T12:50:05Z
update i18n (see #911, see #907, see #909)
- - - - -
72e81617 by Tony CHEMIT at 2018-04-06T12:50:05Z
Ajout de la donnée observe_longline.Landing (See #912) Maquettage
- - - - -
84ab7724 by Tony CHEMIT at 2018-04-06T12:50:05Z
Ajout de la donnée observe_longline.SampleLogbook (see #913) Maquettage
- - - - -
a86d092c by Tony CHEMIT at 2018-04-06T16:28:17Z
Réusinage de la donnée observe_longline.Trip (See #904) Maquettage
- - - - -
30 changed files:
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIModel.java
- client/src/main/java/fr/ird/observe/client/ui/content/ObserveFocusManager.java
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUI.jaxx
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUI.jcss
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIHandler.java
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/ActivityLonglineLogbookUIModel.java
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineLogbookUI.jaxx
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineLogbookUI.jcss
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineLogbookUIHandler.java
- + client/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineLogbookUIModel.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/2dc500e7dae6137fa34b5d6d86…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/2dc500e7dae6137fa34b5d6d86…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] fix update node in navigation on save, create or delete
by Tony CHEMIT 06 Apr '18
by Tony CHEMIT 06 Apr '18
06 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5a189e8b by Tony CHEMIT at 2018-04-06T08:07:07Z
fix update node in navigation on save, create or delete
- - - - -
3 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIModel.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUI.jaxx
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUI.jaxx
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUI.jaxx
@@ -22,10 +22,10 @@
<fr.ird.observe.client.ui.content.ContentUI
abstract='true' superGenericType='E, U'
- genericType='E extends IdDto, U extends ContentOpenableUI<E, U>'>
+ genericType='E extends DataDto, U extends ContentOpenableUI<E, U>'>
<import>
- fr.ird.observe.dto.IdDto
+ fr.ird.observe.dto.data.DataDto
fr.ird.observe.client.ui.actions.content.CloseAndCreateUIAction
fr.ird.observe.client.ui.actions.content.CloseOpenUIAction
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java
@@ -6,15 +6,15 @@
* %%
* 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
+ * 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
+ *
+ * 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%
@@ -24,40 +24,38 @@ package fr.ird.observe.client.ui.content.open;
import fr.ird.observe.client.ObserveSwingApplicationContext;
import fr.ird.observe.client.db.ObserveSwingDataSource;
import fr.ird.observe.client.db.constants.DataContextType;
-import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.client.ui.content.ContentMode;
import fr.ird.observe.client.ui.content.ContentUIHandler;
import fr.ird.observe.client.ui.tree.navigation.NavigationTree;
import fr.ird.observe.client.ui.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport;
import fr.ird.observe.client.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode;
import fr.ird.observe.client.ui.tree.navigation.nodes.seine.ProgramSeineNavigationTreeNode;
+import fr.ird.observe.client.ui.util.UIHelper;
import fr.ird.observe.client.validation.ClientValidationContext;
-import fr.ird.observe.dto.IdDto;
+import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.data.longline.TripLonglineDto;
import fr.ird.observe.dto.data.seine.TripSeineDto;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.validator.NuitonValidatorScope;
-
import static org.nuiton.i18n.I18n.t;
/**
* @author Tony Chemit - dev(a)tchemit.fr
* @since 1.0
*/
-public abstract class ContentOpenableUIHandler<E extends IdDto, U extends ContentOpenableUI<E, U>> extends ContentUIHandler<E, U> {
+public abstract class ContentOpenableUIHandler<E extends DataDto, U extends ContentOpenableUI<E, U>> extends ContentUIHandler<E, U> {
- protected static final String POSITION_OPENABLE = "positionOpenable";
+ private static final String POSITION_OPENABLE = "positionOpenable";
/** Logger */
static private final Log log = LogFactory.getLog(ContentOpenableUIHandler.class);
-
+ private static final String UPDATE_TRIP_NODE = "updateTripNode";
protected final String closeMessage;
- public ContentOpenableUIHandler(DataContextType parentType,
- DataContextType type,
- String closeMessage) {
+ public ContentOpenableUIHandler(DataContextType parentType, DataContextType type, String closeMessage) {
super(parentType, type);
this.closeMessage = closeMessage;
}
@@ -122,6 +120,18 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
}
}
+ @Override
+ protected void afterDelete() {
+ super.afterDelete();
+ NavigationTree treeHelper = getNavigationTree();
+ NavigationTreeNodeSupport parent = treeHelper.getSelectedNode().getParent();
+ if (!(parent instanceof ReferenceNavigationTreeNodeSupport)) {
+ parent = parent.getParent();
+ }
+ parent.reload();
+ treeHelper.reloadNode(parent, false);
+ }
+
public abstract boolean doCloseData();
public final void afterCloseData() {
@@ -138,7 +148,7 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
removeAllMessages(ui);
addMessage(ui, NuitonValidatorScope.INFO,
- getTypeI18nKey(bean.getClass()), t(closeMessage));
+ getTypeI18nKey(bean.getClass()), t(closeMessage));
NavigationTree treeHelper = getNavigationTree();
treeHelper.reloadSelectedNode(bean instanceof TripSeineDto || bean instanceof TripLonglineDto, true);
@@ -159,6 +169,11 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
NavigationTreeNodeSupport parentNode = node.getParent();
+ NavigationTreeNodeSupport parentDataNode = parentNode;
+ if (!(parentNode instanceof ReferenceNavigationTreeNodeSupport)) {
+ parentDataNode = parentNode.getParent();
+ }
+
boolean create = node.getId() == null;
E bean = getBean();
@@ -181,6 +196,10 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
// on crée le noeud final de la marée
node = treeHelper.addOpenable(parentNode, bean);
+ if (parentNode != parentDataNode) {
+ parentDataNode.reload();
+ treeHelper.reloadNode(parentDataNode, false);
+ }
// arrêt de l'édition de l'écran courant
stopEditUI();
@@ -202,6 +221,11 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
treeHelper.selectNode(node);
}
+ node.reload();
+ if (parentNode != parentDataNode) {
+ parentDataNode.reload();
+ treeHelper.reloadNode(parentDataNode, false);
+ }
// on repaint le noeud et ses enfants
treeHelper.reloadSelectedNode(false, true);
}
@@ -286,8 +310,6 @@ public abstract class ContentOpenableUIHandler<E extends IdDto, U extends Conten
}
}
- private static final String UPDATE_TRIP_NODE = "updateTripNode";
-
protected void repaintTripNode() {
Boolean updateTripNode = getUi().getContextValue(Boolean.class, UPDATE_TRIP_NODE);
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIModel.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIModel.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIModel.java
@@ -23,6 +23,7 @@ package fr.ird.observe.client.ui.content.open;
import fr.ird.observe.client.ui.content.ContentUIModel;
import fr.ird.observe.dto.IdDto;
+import fr.ird.observe.dto.data.DataDto;
/**
* Le modèle pour un écran d'édition avec des fils.
@@ -30,7 +31,7 @@ import fr.ird.observe.dto.IdDto;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 1.5
*/
-public abstract class ContentOpenableUIModel<E extends IdDto> extends ContentUIModel<E> {
+public abstract class ContentOpenableUIModel<E extends DataDto> extends ContentUIModel<E> {
public static final String PROPERTY_CAN_REOPEN = "canReopen";
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/5a189e8b6502dcbb9f8b8a93bf3…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/5a189e8b6502dcbb9f8b8a93bf3…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Fix some navigation issues (scrollpane does not work, on select node is not…
by Tony CHEMIT 06 Apr '18
by Tony CHEMIT 06 Apr '18
06 Apr '18
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4eb6a93b by Tony CHEMIT at 2018-04-06T07:04:58Z
Fix some navigation issues (scrollpane does not work, on select node is not expand) + review navigation ui design
- - - - -
22 changed files:
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
- client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
- client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java
Changes:
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx
@@ -78,9 +78,6 @@
fr.ird.observe.client.ui.content.ContentUIManager
fr.ird.observe.client.ui.content.ObserveActionMap
fr.ird.observe.client.ui.tree.navigation.NavigationUI
- fr.ird.observe.client.ui.tree.navigation.NavigationTree
- fr.ird.observe.client.ui.tree.navigation.NavigationTreeModel
- fr.ird.observe.client.ui.tree.navigation.NavigationTreeModel
fr.ird.observe.client.ui.util.UIHelper
fr.ird.observe.client.ui.util.ObserveBlockingLayerUI
@@ -255,7 +252,6 @@ protected void finalize() throws Throwable {
<JXTitledPanel id='navigationView'>
<NavigationUI id="navigationUI" initializer="new NavigationUI((JAXXContext)this)"/>
- <NavigationTree id="navigation" initializer="navigationUI.getTree()"/>
</JXTitledPanel>
<!-- right : (content + messages) -->
=====================================
client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIInitializer.java
@@ -153,7 +153,7 @@ public class ObserveMainUIInitializer {
// set fullscreen propery on main ui
ui.getGraphicsConfiguration().getDevice().setFullScreenWindow(config.isFullScreen() ? ui : null);
- new ObserveNavigationTreeShowPopupAction(ui.getNavigation(), ui.getNavigationUI(), ui.getNavigationPopup());
+ new ObserveNavigationTreeShowPopupAction(ui.getNavigationUI().getTree(), ui.getNavigationUI(), ui.getNavigationPopup());
return ui;
}
@@ -180,7 +180,7 @@ public class ObserveMainUIInitializer {
log.debug("No open Data source.");
return;
}
- if (ui.getNavigation().isSelectionEmpty()) {
+ if (ui.getNavigationUI().getTree().isSelectionEmpty()) {
log.debug("No selection, show empty panel...");
boolean foundEmptySelection = false;
@@ -260,12 +260,12 @@ public class ObserveMainUIInitializer {
JComponent focusOwner;
if (ui.getFocusOwner() == ui) {
focusOnNavigation = true;
- focusOwner = ui.getNavigation();
+ focusOwner = ui.getNavigationUI().getTree();
} else {
focusOwner = (JComponent) ui.getFocusOwner();
if (focusOwner != null) {
- if (ui.getNavigation().equals(focusOwner)) {
+ if (ui.getNavigationUI().getTree().equals(focusOwner)) {
focusOnNavigation = true;
}
if (ui.getNavigationUI().equals(focusOwner)) {
@@ -277,7 +277,7 @@ public class ObserveMainUIInitializer {
if (!focusOnNavigation) {
Container focusOwnerParent = focusOwner.getParent();
while (focusOwnerParent != null) {
- if (ui.getNavigation().equals(focusOwnerParent)) {
+ if (ui.getNavigationUI().getTree().equals(focusOwnerParent)) {
focusOnNavigation = true;
break;
}
@@ -337,7 +337,7 @@ public class ObserveMainUIInitializer {
oldMode = ui.getModel().getMode();
- ids = ui.getNavigation().getSelectedIds();
+ ids = ui.getNavigationUI().getTree().getSelectedIds();
ErrorDialogUI.init(null);
@@ -368,7 +368,7 @@ public class ObserveMainUIInitializer {
if (oldMode == ObserveUIMode.DB) {
// on met à jour le modèle de navigation
- NavigationTreeModel treeModel = ui.getNavigation().getTreeModel();
+ NavigationTreeModel treeModel = ui.getNavigationUI().getTree().getTreeModel();
treeModel.load(config);
treeModel.populate();
@@ -378,7 +378,7 @@ public class ObserveMainUIInitializer {
// selection du noeud d'ouverture (le noeud precedemment selectionne,
// ou le noeud le plus ouvert
// ou le premier program si aucune donnée ouverte)
- ui.getNavigation().selectInitialNode();
+ ui.getNavigationUI().getTree().selectInitialNode();
}
// show ui
@@ -405,7 +405,7 @@ public class ObserveMainUIInitializer {
// ajout d'un ecouteur sur la navigation pour toujours mettre la scrollbar
// tout à droite a chaque selection
- ui.getNavigation().addTreeSelectionListener(this::changeNavigationNode);
+ ui.getNavigationUI().getTree().addTreeSelectionListener(this::changeNavigationNode);
SwingValidatorUtil.installUI(ui.getErrorTable(), new ObserveValidatorMessageTableRenderer());
@@ -433,12 +433,12 @@ public class ObserveMainUIInitializer {
}
};
ui.getNavigationView().addMouseListener(mouseAdapter);
- ui.getNavigation().addMouseListener(mouseAdapter);
+ ui.getNavigationUI().getTree().addMouseListener(mouseAdapter);
ui.getNavigationUI().addMouseListener(mouseAdapter);
init(ui.getSplitpane());
init(ui.getSplitpane2());
- init(ui.getNavigation());
+ init(ui.getNavigationUI().getTree());
ui.getNavigationView().setRightDecoration(ui.getNavigationUI().getToolbar());
// ui.getNavigationView().addComponentListener(new ComponentAdapter() {
@@ -555,7 +555,7 @@ public class ObserveMainUIInitializer {
ui.getContextValue(SwingValidatorMessageTableModel.class).clear();
// clean tree model
- NavigationTree tree = ui.getNavigation();
+ NavigationTree tree = ui.getNavigationUI().getTree();
tree.clearModel();
progressModel.incrementsCurrentStep();
@@ -574,7 +574,7 @@ public class ObserveMainUIInitializer {
*/
public void loadNavigationUI(ProgressModel progressModel) {
- NavigationTree tree = ui.getNavigation();
+ NavigationTree tree = ui.getNavigationUI().getTree();
NavigationTreeModel treeModel = tree.getTreeModel();
treeModel.populate();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseAndCreateUIAction.java
@@ -78,7 +78,7 @@ public class CloseAndCreateUIAction extends AbstractContentUIAction {
return;
}
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
boolean wasCollapsed = isOpenActivityNodeCollapsed(tree, dataContext);
@@ -120,7 +120,7 @@ public class CloseAndCreateUIAction extends AbstractContentUIAction {
return;
}
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
boolean wasCollapsed = isOpenActivityNodeCollapsed(tree, dataContext);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/CloseOpenUIAction.java
@@ -102,7 +102,7 @@ public class CloseOpenUIAction extends AbstractContentUIAction {
private void closeData(ObserveSwingApplicationContext applicationContext, ContentUI<?, ?> ui, String id) {
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport selectedNode = tree.getSelectedNode();
NavigationTreeNodeSupport node = tree.getChild(selectedNode, id);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/GoDownUIAction.java
@@ -71,7 +71,7 @@ public class GoDownUIAction extends AbstractContentUIAction {
public void updateAction(JAXXObject ui, AbstractButton editor) {
ObserveMainUI mainUI = getMainUI();
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
JPopupMenu scopePopup = mainUI.getScopeDownPopup();
SelectNodeUIAction action = (SelectNodeUIAction) mainUI.getObserveActionMap().get(SelectNodeUIAction.ACTION_NAME);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/GoUpUIAction.java
@@ -73,7 +73,7 @@ public class GoUpUIAction extends AbstractContentUIAction {
@Override
public void updateAction(JAXXObject ui, AbstractButton editor) {
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport<?> node;
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivityLonglinesUIAction.java
@@ -73,7 +73,7 @@ public class MoveActivityLonglinesUIAction extends MoveMultipleDataUIActionSuppo
ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get();
ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager();
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport oldTripLonglineNode = oldActivitiesNode.getParent();
NavigationTreeNodeSupport programNode = oldTripLonglineNode.getParent();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveActivitySeinesUIAction.java
@@ -73,7 +73,7 @@ public class MoveActivitySeinesUIAction extends MoveMultipleDataUIActionSupport<
ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get();
ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager();
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport oldRouteNode = oldParentNode.getParent();
NavigationTreeNodeSupport routesNode = oldRouteNode.getParent();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveMultipleDataUIActionSupport.java
@@ -71,7 +71,7 @@ public abstract class MoveMultipleDataUIActionSupport<U extends ContentListUI<?,
@SuppressWarnings("unchecked") U ui = (U) ui1;
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
NavigationTreeNodeSupport oldParentNode = node.getParent().isRoot() ? node : node.getParent();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveRoutesUIAction.java
@@ -72,7 +72,7 @@ public class MoveRoutesUIAction extends MoveMultipleDataUIActionSupport<RoutesUI
void updateUI(RoutesUI ui, NavigationTreeNodeSupport oldRoutesNode, String tripSeineId, ImmutableSet<String> routeIds, List<Integer> positions) {
ObserveOpenDataManager openDataManager = getOpenDataManager();
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport oldTripSeineNode = oldRoutesNode.getParent();
NavigationTreeNodeSupport programNode = oldTripSeineNode.getParent();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveSingleDataUIActionSupport.java
@@ -50,7 +50,7 @@ public abstract class MoveSingleDataUIActionSupport extends UIActionSupport {
@Override
public final void actionPerformed(ActionEvent e) {
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
NavigationTreeNodeSupport oldParentNode = node.getParent().getParent().equals(node.getRoot()) ? node.getParent() : node.getParent().getParent();
Optional<String> optionalNewParentId = getNewParentId(getMainUI(), oldParentNode);
@@ -62,7 +62,7 @@ public abstract class MoveSingleDataUIActionSupport extends UIActionSupport {
private void apply(NavigationTreeNodeSupport oldParentNode, String dataId, String newParentId) {
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport node = treeHelper.getSelectedNode();
NavigationTreeNodeSupport grandParentNode = oldParentNode.getParent();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripUIAction.java
@@ -94,7 +94,7 @@ public abstract class MoveTripUIAction extends MoveSingleDataUIActionSupport {
static Optional<String> chooseNewProgram(ObserveMainUI mainUI, GearType gearType, String oldProgramId) {
- NavigationTree treeHelper = mainUI.getNavigation();
+ NavigationTree treeHelper = mainUI.getNavigationUI().getTree();
// racine
NavigationTreeNodeSupport rootNode = treeHelper.getRootNode();
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/MoveTripsUIAction.java
@@ -77,7 +77,7 @@ public abstract class MoveTripsUIAction<U extends ContentListUI<?, ?, ?, ?>> ext
ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get();
ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager();
- NavigationTree treeHelper = getMainUI().getNavigation();
+ NavigationTree treeHelper = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport rootNode = treeHelper.getRootNode();
NavigationTreeNodeSupport newProgramNode = treeHelper.getChild(rootNode, newParentId);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/ReOpenUIAction.java
@@ -70,7 +70,7 @@ public class ReOpenUIAction extends AbstractContentUIAction {
String id = selectedData.getId();
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport selectedNode = tree.getSelectedNode();
NavigationTreeNodeSupport node = tree.getChild(selectedNode, id);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/ResetEditUIAction.java
@@ -57,7 +57,7 @@ public class ResetEditUIAction extends AbstractContentUIAction {
if (ui.getModel().isCreatingMode()) {
ui.stopEdit();
- NavigationTree tree = getMainUI().getNavigation();
+ NavigationTree tree = getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport parentNode = tree.getSelectedNode().getParent();
tree.removeNode(tree.getSelectedNode());
tree.selectNode(parentNode);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/content/SelectNodeUIAction.java
@@ -92,6 +92,6 @@ public class SelectNodeUIAction extends AbstractContentUIAction {
NavigationTreeNodeSupport node = (NavigationTreeNodeSupport) source.getClientProperty(NODE);
Objects.requireNonNull(node);
- SwingUtilities.invokeLater(() -> getMainUI().getNavigation().selectNode(node));
+ SwingUtilities.invokeLater(() -> getMainUI().getNavigationUI().getTree().selectNode(node));
}
}
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/main/global/ChangeFocusGlobalUIAction.java
@@ -76,7 +76,7 @@ public class ChangeFocusGlobalUIAction extends UIActionSupport {
log.info("Focus to navigation");
}
getMainUI().getModel().setFocusOnNavigation(true);
- focusComponent = getMainUI().getNavigation();
+ focusComponent = getMainUI().getNavigationUI().getTree();
}
SwingUtilities.invokeLater(focusComponent::requestFocusInWindow);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/navigation/GotoActionSupport.java
@@ -89,7 +89,7 @@ public abstract class GotoActionSupport extends MenuActionSupport {
return;
}
- NavigationTree navigation = getMainUI().getNavigation();
+ NavigationTree navigation = getMainUI().getNavigationUI().getTree();
getNodeToSelect(navigation, dataContext).ifPresent(navigation::selectNode);
=====================================
client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/actions/main/menu/storage/ReloadStorageAction.java
@@ -82,7 +82,7 @@ public class ReloadStorageAction extends MenuActionSupport {
ui.getModel().setBusy(false);
- Object[] ids = ui.getNavigation().getSelectedIds();
+ Object[] ids = ui.getNavigationUI().getTree().getSelectedIds();
try {
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
@@ -222,7 +222,7 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U
}
public static NavigationTree getNavigationTree() {
- return ObserveSwingApplicationContext.get().getMainUI().getNavigation();
+ return ObserveSwingApplicationContext.get().getMainUI().getNavigationUI().getTree();
}
/**
@@ -444,10 +444,10 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U
if (focusOnNavigation) {
SwingUtilities.invokeLater(() -> {
Component focusOwner = mainUI.getFocusOwner();
- if (!mainUI.getNavigation().equals(focusOwner)) {
+ if (!mainUI.getNavigationUI().getTree().equals(focusOwner)) {
SwingUtilities.invokeLater(() -> {
- mainUI.getNavigation().requestFocusInWindow();
+ mainUI.getNavigationUI().getTree().requestFocusInWindow();
log.debug("Focus old owner: " + focusOwner);
log.debug("Focus new owner: " + mainUI.getFocusOwner());
=====================================
client/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/content/ref/ReferenceHomeUIHandler.java
@@ -68,7 +68,7 @@ public class ReferenceHomeUIHandler extends ContentUIHandler<ProgramDto, Referen
JPanel panel = ui.getBody();
String nodeName = ui.getModel().getNodeName();
- NavigationTree navigation = ObserveSwingApplicationContext.get().getMainUI().getNavigation();
+ NavigationTree navigation = ObserveSwingApplicationContext.get().getMainUI().getNavigationUI().getTree();
NavigationTreeNodeSupport<?> referentialNode = navigation.getReferentialNode(nodeName);
for (Class<? extends ReferentialDto> type : ui.getModel().getTypes()) {
=====================================
client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java
=====================================
--- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java
+++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java
@@ -153,7 +153,14 @@ public class NavigationTree extends JXTree {
return;
}
TreePath path = e.getPath();
- getTreeModel().open((NavigationTreeNodeSupport) path.getLastPathComponent());
+ NavigationTreeNodeSupport selectedNode = (NavigationTreeNodeSupport) path.getLastPathComponent();
+ try {
+ getTreeModel().open((NavigationTreeNodeSupport) path.getLastPathComponent());
+ } finally {
+ if (!selectedNode.isLeaf()) {
+ SwingUtilities.invokeLater(() -> expandPath(path));
+ }
+ }
});
NavigationTreeCellRenderer renderer = new NavigationTreeCellRenderer();
@@ -202,7 +209,7 @@ public class NavigationTree extends JXTree {
/**
* Sélectionne le noeud dans l'arbre de navigation.
- * <p>
+ *
* <b>Note:</b> cette méthode doit être appelée après un rechargement du
* modèle de navigation.
*/
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4eb6a93b689a88eb9c87c2583af…
---
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/4eb6a93b689a88eb9c87c2583af…
You're receiving this email because of your account on gitlab.com.
1
0