mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
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
observe-commits@list.forge.codelutin.com

  • 7199 discussions
[Git][ultreiaio/ird-observe][develop] Fix entity ←→ dto binding for DataFileDto properties
by Tony CHEMIT 14 Jan '21

14 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: ec14b19e by Tony Chemit at 2021-01-14T15:28:42+01:00 Fix entity ←→ dto binding for DataFileDto properties - - - - - 1 changed file: - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/entity/ToolkitEntityToDtoMapping.java Changes: ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/entity/ToolkitEntityToDtoMapping.java ===================================== @@ -26,6 +26,7 @@ import com.google.auto.service.AutoService; import fr.ird.observe.dto.DtoToReference; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.DataDto; +import fr.ird.observe.dto.data.DataFileDto; import fr.ird.observe.dto.reference.DataDtoReference; import fr.ird.observe.dto.reference.DtoReference; import fr.ird.observe.dto.reference.ReferentialDtoReference; @@ -37,6 +38,7 @@ import fr.ird.observe.entities.referential.ReferentialEntity; import fr.ird.observe.spi.module.BusinessProject; import io.ultreia.java4all.bean.definition.JavaBeanDefinition; import io.ultreia.java4all.bean.definition.JavaBeanDefinitionStore; +import io.ultreia.java4all.bean.definition.JavaBeanPropertyDefinition; import io.ultreia.java4all.util.ServiceLoaders; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -55,6 +57,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.Set; /** @@ -160,7 +163,8 @@ public class ToolkitEntityToDtoMapping extends EntityToDtoMapping { @Override public boolean acceptToDtoProperty(Class<?> dtoType, String propertyName) { JavaBeanDefinition javaBeanDefinition = definitions.get(dtoType); - return javaBeanDefinition.writeProperties().anyMatch(p -> p.propertyName().equals(propertyName)); + Optional<JavaBeanPropertyDefinition<?, ?>> first = javaBeanDefinition.writeProperties().filter(p -> p.propertyName().equals(propertyName)).findFirst(); + return first.isPresent() && !(DataFileDto.class.equals(first.get().type())); } @Override @@ -182,9 +186,6 @@ public class ToolkitEntityToDtoMapping extends EntityToDtoMapping { if (isEntity) { return String.format("java.util.Optional.ofNullable(%s()).map(e-> e.toReference(referentialLocale)).orElse(null)", getTransformer().getJavaBeanMethodName(operationPrefix, attribute.getName())); } else { - if ("java.sql.Blob".equals(attribute.getType())) { - return "null"; - } return String.format("%s()", getTransformer().getJavaBeanMethodName(operationPrefix, attribute.getName())); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ec14b19e973a0267f11ff0ca0… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ec14b19e973a0267f11ff0ca0… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 10 commits: Fix bad service instanciation (bad block scope, so got illegal state exception...
by Tony CHEMIT 14 Jan '21

14 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fbc2873b by Tony Chemit at 2021-01-14T12:49:45+01:00 Fix bad service instanciation (bad block scope, so got illegal state exception in DataSourceService.create in server mode) - - - - - c6a0e8ec by Tony Chemit at 2021-01-14T12:50:34+01:00 Add missing method credentials - - - - - 83536653 by Tony Chemit at 2021-01-14T12:53:30+01:00 Optimisation de l&#39;arbre de sélection de données - See #1750 (never use trip ids to get program children in navigation / selection node) - - - - - 779aa92f by Tony Chemit at 2021-01-14T12:57:05+01:00 Remplacer les raccourcis clavier Ctrl+L et Ctrl+R par des raccourcis compatible MacOs - Closes #1752 - - - - - ee0a7b32 by Tony Chemit at 2021-01-14T12:58:05+01:00 Add FIXME on NavigationNode update performance issues (a ContentList reload all his references, should get only updates one and do the merge with previous one - - - - - 84e6b88a by Tony Chemit at 2021-01-14T13:00:45+01:00 Use Java9 API - - - - - 18559d07 by Tony Chemit at 2021-01-14T14:51:21+01:00 Add lastUpdate on any type of DtoReferenceSet to be able to reload only the changed part from service - See #1750 - - - - - 641fc046 by Tony Chemit at 2021-01-14T14:52:17+01:00 Review ImmutableSet Injector (was pretty lame :( with a double conversion string to gson to object)) : no way! thanks to smaisonneuve See #1750 - - - - - 379c0745 by Tony Chemit at 2021-01-14T14:52:54+01:00 Add lastUpdate on any type of DtoReferenceSet to be able to reload only the changed part from service - See #1750 - - - - - a535a8e8 by Tony Chemit at 2021-01-14T14:57:36+01:00 Améliorer la gestion des focus - See #1418 - - - - - 30 changed files: - client/core/src/main/java/fr/ird/observe/client/datasource/api/DataSourceReferenceProvider.java - client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java - client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusZone.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/RunObserveListener.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/DataSourceEditorNavigationModuleContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/NavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationTreeNodeProvider.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootNavigationTreeNodeProvider.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootSelectionTreeNodeProvider.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootNavigationTreeNodeProvider.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootSelectionTreeNodeProvider.java - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/helper/ContentUINavigationNodeHelper.java - server/configuration/src/main/java/fr/ird/observe/server/configuration/user/ObserveWebUsersHelper.java - server/core/src/main/filtered-resources/mapping - server/core/src/main/java/fr/ird/observe/server/injector/ImmutableSetInjector.java - server/core/src/main/java/fr/ird/observe/server/security/ObserveWebSecurityApplicationContext.java - services/client-impl/src/main/java/fr/ird/observe/services/client/ObserveServiceFactoryClient.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/ObserveServiceLocal.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/ReferenceServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/ConsolidateDataServiceLocalSupport.java - toolkit/dto/src/main/java/fr/ird/observe/dto/reference/DataDtoReferenceSet.java - toolkit/dto/src/main/java/fr/ird/observe/dto/reference/DtoReferenceCollection.java - toolkit/dto/src/main/java/fr/ird/observe/dto/reference/ReferentialDtoReferenceSet.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/b71dc75bab7f727f4e00b78d… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/b71dc75bab7f727f4e00b78d… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 8 commits: Widget horodatage sans bouton de réinitialisation - Closes #1746
by Tony CHEMIT 13 Jan '21

13 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 406d7331 by Tony Chemit at 2021-01-13T11:49:26+01:00 Widget horodatage sans bouton de réinitialisation - Closes #1746 - - - - - 974d8975 by Tony Chemit at 2021-01-13T11:55:58+01:00 Affichage des coordonnées - Closes #1745 - - - - - 13723861 by Tony Chemit at 2021-01-13T16:31:42+01:00 L&#39;export de marées vers sql.gz ne fontionne pas - Closes #1748 - - - - - 8e54fbe4 by Tony Chemit at 2021-01-13T16:31:42+01:00 Add autoSelectText ui option (will use by next FocusManager API) - - - - - 3bb4a251 by Tony Chemit at 2021-01-13T16:34:39+01:00 Fix missing model binding - - - - - afa929e1 by Tony Chemit at 2021-01-13T17:22:19+01:00 Review focus model, nearly ok. - - - - - 42452fe2 by Tony Chemit at 2021-01-13T17:39:37+01:00 Fix trip missing binding - - - - - b71dc75b by Tony Chemit at 2021-01-13T18:25:20+01:00 Optimisation de l&#39;arbre de sélection de données - See #1750 - - - - - 30 changed files: - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/core/src/main/i18n/getters/java.getter - client/core/src/main/java/fr/ird/observe/client/ClientUIContext.java - client/core/src/main/java/fr/ird/observe/client/main/MainUIModel.java - client/core/src/main/java/fr/ird/observe/client/main/ObserveMainUIHandler.java - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - + client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java - + client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusZone.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorLayerUI.java → client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusZoneLayer.java - client/core/src/main/java/fr/ird/observe/client/main/MainUIKeyEventDispatcher.java → client/core/src/main/java/fr/ird/observe/client/main/focus/UIFocusModel.java - client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java - client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/config/SelectDataModel.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroModel.java - client/datasource/editor/api/src/main/i18n/getters/java.getter - client/datasource/editor/api/src/main/i18n/templates/dataSourceConnectionReport_en_GB.ftl - client/datasource/editor/api/src/main/i18n/templates/dataSourceConnectionReport_es_ES.ftl - client/datasource/editor/api/src/main/i18n/templates/dataSourceConnectionReport_fr_FR.ftl - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/actions/ChangeEditorFocus.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUI.jaxx The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/42bc99c0cc97cc08979f981b… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/42bc99c0cc97cc08979f981b… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 14 commits: Clean more dto (remove a property change listener : a lots of code, for nothing...)
by Tony CHEMIT 10 Jan '21

10 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 66cff9d6 by Tony Chemit at 2021-01-09T13:47:53+01:00 Clean more dto (remove a property change listener : a lots of code, for nothing...) - - - - - f3db7806 by Tony Chemit at 2021-01-09T13:48:22+01:00 Remove annotation - - - - - 91030af0 by Tony Chemit at 2021-01-09T13:48:43+01:00 Add extra method to lot extra referential references in cache - - - - - 9ba76cd8 by Tony Chemit at 2021-01-09T13:49:58+01:00 * Review ModelStates and clean as much as possible Model) * Make Model not JavaBean - - - - - f10e5207 by Tony Chemit at 2021-01-09T15:48:18+01:00 Begin of review of focus Restrict override of concrete classes - - - - - 48a92367 by Tony Chemit at 2021-01-09T17:14:14+01:00 Add more root cycle Remove old focus API \o/, replaced by nothing or nearly \o/\o/ - - - - - 8c1d872d by Tony Chemit at 2021-01-10T02:15:27+01:00 Improve KeyboardFocusManager usage (blocks also any focus event if model is blocking focus) - - - - - 764a8bc5 by Tony Chemit at 2021-01-10T02:15:27+01:00 Remove some default bindings on JTabbedPane to fi our usages - - - - - 0a7d58df by Tony Chemit at 2021-01-10T02:15:27+01:00 By default always focus on navigation - - - - - 5d69912b by Tony Chemit at 2021-01-10T05:07:59+01:00 Rename body in ContentUI to contentBody to avoid any conflict, body was already used by MainUI... - - - - - 96f35bb9 by Tony Chemit at 2021-01-10T05:07:59+01:00 Avoid NPE (standalone ui has no changeMode action) - - - - - 4d3785b5 by Tony Chemit at 2021-01-10T05:07:59+01:00 Fix injected binding in JaxxComboBox - - - - - 0e7b949c by Tony Chemit at 2021-01-10T05:07:59+01:00 Remove actionDown from ContentUI (legacy code) - - - - - 42bc99c0 by Tony Chemit at 2021-01-10T21:22:59+01:00 Stash, can&#39;t keep it here - - - - - 30 changed files: - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/configuration/src/main/java/fr/ird/observe/client/ObserveClientResourceManager.java - client/core/src/main/i18n/getters/java.getter - client/core/src/main/java/fr/ird/observe/client/ClientUIContext.java - client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesCache.java - − client/core/src/main/java/fr/ird/observe/client/main/MainUIKeyEventDispatcher.java - client/core/src/main/java/fr/ird/observe/client/main/MainUIModel.java - client/core/src/main/java/fr/ird/observe/client/main/ObserveMainUIHandler.java - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - + client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java - + client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusZone.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorLayerUI.java → client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusZoneLayer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUILayoutFocusTraversalPolicy.java → client/core/src/main/java/fr/ird/observe/client/main/focus/UIFocusModel.java - client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java - client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java - client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ll/ActivityLlPairingModel.java - client/datasource/editor/api/src/main/i18n/getters/java.getter - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/actions/ChangeEditorFocus.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3ca435324dea106595a4abb8… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3ca435324dea106595a4abb8… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Generation des ContentUIModelStates (à finaliser) - Closes #1743
by Tony CHEMIT 08 Jan '21

08 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 3ca43532 by Tony Chemit at 2021-01-08T15:24:43+01:00 Generation des ContentUIModelStates (à finaliser) - Closes #1743 - - - - - 30 changed files: - client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesCache.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUINavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUINavigationContext.java - + client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/SampleContentTableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/sample/ResetSizeMeasureType.java → client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/actions/ResetSizeMeasureType.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/sample/ResetWeightMeasureType.java → client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/actions/ResetWeightMeasureType.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUINavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUINavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUINavigationContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ReferentialHomeUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/NavigationContext.java - client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/sample/CommonSample.jcss - − client/datasource/editor/api/src/main/resources/fr/ird/observe/client/datasource/editor/api/content/data/table/CommonSample.jcss - client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/ProgramUI.jaxx - client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/ProgramUIModel.java → client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/ProgramUIModelStates.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUI.jaxx The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/3ca435324dea106595a4abb80… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/3ca435324dea106595a4abb80… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: Fix i18n
by Tony CHEMIT 07 Jan '21

07 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 6f0f4aff by Tony Chemit at 2021-01-07T16:40:08+01:00 Fix i18n - - - - - aebd40b3 by Tony Chemit at 2021-01-07T16:48:15+01:00 Clean java code &gt; 8 - - - - - 30 changed files: - client/core/src/main/java/fr/ird/observe/client/datasource/h2/backup/BackupsManager.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ReferentialHomeUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/BranchlineUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripGearUseFeaturesUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetUIHandler.java - client/i18n/src/main/i18n/translations/observe_es_ES.properties - client/i18n/src/main/i18n/translations/observe_fr_FR.properties - models/dto/src/main/java/fr/ird/observe/dto/data/validation/DataValidationResult.java - models/dto/src/main/java/fr/ird/observe/dto/referential/validation/ReferentialValidationResult.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_3.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_7_6.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_0.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/old/DataSourceMigrationForVersion_4_0_RC2.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/old/DataSourceMigrationForVersion_6_0.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/old/DataSourceMigrationForVersion_6_2.java - models/persistence/src/main/java/fr/ird/observe/entities/migration/old/DataSourceMigrationForVersion_6_5.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/LastUpdateDateServiceLocalSupport.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ee081a5d986e1ebbaacbbf7c… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ee081a5d986e1ebbaacbbf7c… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 5 commits: Rechargement de la source de données - Closes #1738
by Tony CHEMIT 07 Jan '21

07 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: e5fe0fab by Tony Chemit at 2021-01-07T14:51:31+01:00 Rechargement de la source de données - Closes #1738 - - - - - 3f58446c by Tony Chemit at 2021-01-07T15:41:56+01:00 Consultation du tableau des débarquements lorsque le formulaire est verrouillé - Closes #1739 Meilleure gestion des actions partagées - - - - - aceee7ee by Tony Chemit at 2021-01-07T16:26:19+01:00 On arrive à vider la sélection sur un tableau alors qu&#39;on ne devrait pas - Closes #1741 - - - - - 84ea6b17 by Tony Chemit at 2021-01-07T16:27:22+01:00 Consultation du tableau des débarquements lorsque le formulaire est verrouillé - Closes #1739 Ne pas autoriser le tableau à déplacer les lignes (il reste d&#39;autres raccourcis clavier qu&#39;il faudrait supprimer) - - - - - ee081a5d by Tony Chemit at 2021-01-07T16:27:52+01:00 Consultation du tableau des débarquements lorsque le formulaire est verrouillé - Closes #1739 Utilisation de meilleurs raccourcis (de toute façon le shift + ... ne fonctionnait pas) - - - - - 7 changed files: - client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ui/table/popup/AutoSelectRowAndShowPopupActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/ReloadStorageAction.java Changes: ===================================== client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java ===================================== @@ -89,6 +89,16 @@ public class UIInitHelper { inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F8, 0), "none"); } + public static void init(JTable editor) { + InputMap inputMap = editor.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + inputMap.put(KeyStroke.getKeyStroke("pressed UP"), "none"); + inputMap.put(KeyStroke.getKeyStroke("pressed PAGE_UP"), "none"); + inputMap.put(KeyStroke.getKeyStroke("pressed DOWN"), "none"); + inputMap.put(KeyStroke.getKeyStroke("pressed PAGE_DOWN"), "none"); + inputMap.put(KeyStroke.getKeyStroke("pressed LEFT"), "none"); + inputMap.put(KeyStroke.getKeyStroke("pressed RIGHT"), "none"); + } + public static void init(JTree editor) { editor.getInputMap() .put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), "none"); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java ===================================== @@ -75,22 +75,23 @@ public class ObserveKeyStrokesEditorApi extends ObserveKeyStrokesSupport { public static final KeyStroke KEY_STROKE_TOGGLE_LOGBOOK_AVAILABILITY = KeyStroke.getKeyStroke("ctrl pressed F2"); public static final KeyStroke KEY_STROKE_COPY_TO_CLIPBOARD = KeyStroke.getKeyStroke("ctrl pressed C"); + public static final KeyStroke KEY_STROKE_BACK_TO_REFERENTIAL_LIST = KeyStroke.getKeyStroke("alt pressed BACK_SPACE"); + // Content Table public static final KeyStroke KEY_STROKE_SAVE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed S"); public static final KeyStroke KEY_STROKE_SAVE_AND_NEW_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed N"); public static final KeyStroke KEY_STROKE_DELETE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed E"); public static final KeyStroke KEY_STROKE_RESET_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed R"); - public static final KeyStroke KEY_STROKE_BACK_TO_REFERENTIAL_LIST = KeyStroke.getKeyStroke("alt pressed BACK_SPACE"); - public static final KeyStroke KEY_STROKE_SELECT_FIRST_TABLE_ENTRY = KeyStroke.getKeyStroke("shift alt pressed UP"); + public static final KeyStroke KEY_STROKE_SELECT_FIRST_TABLE_ENTRY = KeyStroke.getKeyStroke("alt pressed PAGE_UP"); public static final KeyStroke KEY_STROKE_SELECT_PREVIOUS_TABLE_ENTRY = KeyStroke.getKeyStroke("alt pressed UP"); public static final KeyStroke KEY_STROKE_SELECT_NEXT_TABLE_ENTRY = KeyStroke.getKeyStroke("alt pressed DOWN"); - public static final KeyStroke KEY_STROKE_SELECT_LAST_TABLE_ENTRY = KeyStroke.getKeyStroke("shift alt pressed DOWN"); + public static final KeyStroke KEY_STROKE_SELECT_LAST_TABLE_ENTRY = KeyStroke.getKeyStroke("alt pressed PAGE_DOWN"); public static final KeyStroke KEY_STROKE_MOVE_DOWN_TABLE_ENTRY = KeyStroke.getKeyStroke("altGraph pressed DOWN"); - public static final KeyStroke KEY_STROKE_MOVE_BOTTOM_TABLE_ENTRY = KeyStroke.getKeyStroke("shift altGraph pressed DOWN"); + public static final KeyStroke KEY_STROKE_MOVE_BOTTOM_TABLE_ENTRY = KeyStroke.getKeyStroke("altGraph pressed PAGE_DOWN"); public static final KeyStroke KEY_STROKE_MOVE_UP_TABLE_ENTRY = KeyStroke.getKeyStroke("altGraph pressed UP"); - public static final KeyStroke KEY_STROKE_MOVE_TOP_TABLE_ENTRY = KeyStroke.getKeyStroke("shift altGraph pressed UP"); + public static final KeyStroke KEY_STROKE_MOVE_TOP_TABLE_ENTRY = KeyStroke.getKeyStroke("altGraph pressed PAGE_UP"); public static final KeyStroke KEY_STROKE_ADD_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed INSERT"); public static final KeyStroke KEY_STROKE_DELETE_SELECTED_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed DELETE"); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java ===================================== @@ -478,7 +478,7 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup private void init(JTable editor) { initializerContext.checkFirstPass(); -// UIInitHelper.init(editor); + UIInitHelper.init(editor); } @SuppressWarnings({"unchecked", "rawtypes"}) ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java ===================================== @@ -114,6 +114,7 @@ public class ContentOpen<U extends ContentUI> { private List<JTable> tables; private ActionMap newActionMap; private InputMap newInputMap; + private List<JaxxComboBox> comboBoxs; public ContentOpen(U ui, ContentOpenExecutor<U> contentOpenExecutor) { this(ui, contentOpenExecutor, null); @@ -140,6 +141,7 @@ public class ContentOpen<U extends ContentUI> { public DefaultUIInitializerResult init(ContentUIInitializer<U> initializer) { DefaultUIInitializerResult initializerResult = initializer.initUI(); tables = initializerResult.getComponentsList(JTable.class); + comboBoxs = initializerResult.getComponentsList(JaxxComboBox.class); tabbedPaneValidator = initializerResult.getTabbedPaneValidator(); subTabbedPaneValidator = initializerResult.getSubTabbedPaneValidator(); coordinateEditors = initializerResult.getCoordinateEditors(); @@ -153,14 +155,14 @@ public class ContentOpen<U extends ContentUI> { ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(null); ui.getActionMap().setParent(null); JComponent actionContainer = initializer.getActionContainer(); - initActions(actionContainer, initializerResult); + initActions(initializerResult); ContentUIModel model = ui.getModel(); @SuppressWarnings("unchecked") ContentUIHandler<U> handler = (ContentUIHandler<U>) ui.getHandler(); model.init(ui, initializerResult); handler.onInit(ui); - postInstallActions(actionContainer, newInputMap, newActionMap, initializerResult); + postInstallActions(actionContainer, initializerResult); model.getStates().addPropertyChangeListener(ContentUIModelStates.PROPERTY_MODE, evt -> { ContentMode newValue = (ContentMode) evt.getNewValue(); @@ -541,27 +543,31 @@ public class ContentOpen<U extends ContentUI> { return ui; } - public void initActions(JComponent actionContainer, DefaultUIInitializerResult initializerResult) { + public List<JaxxComboBox> getComboBoxs() { + return comboBoxs; + } + + public void initActions(DefaultUIInitializerResult initializerResult) { ContentUIHandler<?> handler = ui.getHandler(); handler.initActions(); handler.installChangeModeAction(); - InputMap inputMap = actionContainer.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + InputMap inputMap = ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); KeyStroke[] uiActionKeyStrokes = inputMap.allKeys(); log.info(String.format("%sFound %d actions to share", ui.getModel().getPrefix(), uiActionKeyStrokes.length)); - ActionMap actionMap = actionContainer.getActionMap(); + ActionMap actionMap = ui.getActionMap(); newActionMap = new ActionMapUIResource(); newInputMap = new InputMapUIResource(); for (KeyStroke actionKeyStroke : uiActionKeyStrokes) { Object actionMapKey = inputMap.get(actionKeyStroke); - newInputMap.put(actionKeyStroke, actionMapKey); Action action = actionMap.get(actionMapKey); if (action instanceof MenuAction) { log.info(String.format("Skip menu action %s → %s", actionKeyStroke, actionMapKey)); continue; } - newActionMap.put(actionMapKey, action); log.info(String.format("Register action %s → %s", actionKeyStroke, actionMapKey)); + newInputMap.put(actionKeyStroke, actionMapKey); + newActionMap.put(actionMapKey, action); } ContentUIModel model = ui.getModel(); @@ -582,17 +588,42 @@ public class ContentOpen<U extends ContentUI> { handler.updateToggleInsertVisibility(); } - protected void postInstallActions(JComponent actionContainer, InputMap newInputMap, ActionMap newActionMap, DefaultUIInitializerResult initializerResult) { + protected void postInstallActions(JComponent actionContainer, DefaultUIInitializerResult initializerResult) { KeyStroke[] keyStrokes = newInputMap.allKeys(); - initializerResult.getComponents(JaxxComboBox.class).forEach(editor -> UIInitHelper.cleanInputMapAndSet(editor, keyStrokes, newInputMap, newActionMap)); + initializerResult.getComponents(JaxxComboBox.class).forEach(editor -> UIInitHelper.cleanInputMapAndSet(editor.getCombobox(), keyStrokes, newInputMap, newActionMap)); initializerResult.getComponents(JTable.class).forEach(editor -> UIInitHelper.cleanInputMap(editor, keyStrokes)); for (Map.Entry<ContentTableUI<?, ?, ?>, JPanel> entry : subUiMap.entrySet()) { ContentTableUI<?, ?, ?> subUi = entry.getKey(); - subUi.getHandler().getContentOpen().getTables().forEach(editor -> UIInitHelper.cleanInputMap(editor, keyStrokes)); + InputMap newInputMapSubUi = subUi.getHandler().getContentOpen().getNewInputMap(); + ActionMap newActionMapSubUi = subUi.getHandler().getContentOpen().getNewActionMap(); + newInputMapSubUi.setParent(newInputMap); + newActionMapSubUi.setParent(newActionMap); + KeyStroke[] keyStrokesSubUi = newInputMapSubUi.allKeys(); + for (KeyStroke keyStroke : keyStrokesSubUi) { + if (newInputMap.get(keyStroke)!=null) { + Object o = newInputMapSubUi.get(keyStroke); + if (o!=null) { + newActionMapSubUi.remove(o); + newInputMapSubUi.remove(keyStroke); + } + } + } + subUi.getBody().setInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, newInputMapSubUi); + subUi.getBody().setActionMap(newActionMapSubUi); + subUi.getHandler().getContentOpen().getTables().forEach(editor -> UIInitHelper.cleanInputMap(editor, keyStrokesSubUi)); + subUi.getHandler().getContentOpen().getComboBoxs().forEach(editor -> UIInitHelper.cleanInputMapAndSet(editor.getCombobox(), keyStrokesSubUi, newInputMapSubUi, newActionMapSubUi)); //FIXME:Actions We should define some scope only for subUi ? } } + public ActionMap getNewActionMap() { + return newActionMap; + } + + public InputMap getNewInputMap() { + return newInputMap; + } + private void onToggleDateTimeEditorSliderChanged(boolean newValue) { if (!toggleDateTimeEditorSliderIsChanging) { toggleDateTimeEditorSliderIsChanging = true; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIInitializer.java ===================================== @@ -93,11 +93,6 @@ public class ContentTableUIInitializer<D extends DataDto, C extends DataDto, U e ui.getSelectPreviousTableEntry().setEnabled(false); ui.getSelectNextTableEntry().setEnabled(false); ui.getSelectLastTableEntry().setEnabled(false); - InputMap inputMap = ui.getTable().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - inputMap.put(KeyStroke.getKeyStroke("pressed UP"), "none"); - inputMap.put(KeyStroke.getKeyStroke("pressed DOWN"), "none"); - inputMap.put(KeyStroke.getKeyStroke("pressed LEFT"), "none"); - inputMap.put(KeyStroke.getKeyStroke("pressed RIGHT"), "none"); ui.getTitleRightToolBar().add(ui.getSelectToolbar(), 0); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ui/table/popup/AutoSelectRowAndShowPopupActionSupport.java ===================================== @@ -113,20 +113,16 @@ public abstract class AutoSelectRowAndShowPopupActionSupport { log.debug("At point [" + p + "] found Row " + rowIndex + ", Column " + columnIndex); boolean canContinue = stopEdit(); - if (canContinue) { + if (canContinue && rowIndex != -1 && columnIndex != -1) { // select row (could empty selection) - if (rowIndex == -1) { - table.clearSelection(); - } else if (!ArrayUtils.contains(selectedRows, rowIndex)) { + if (!ArrayUtils.contains(selectedRows, rowIndex)) { // set selection table.setRowSelectionInterval(rowIndex, rowIndex); } // select column (could empty selection) - if (columnIndex == -1) { - table.clearSelection(); - } else if (!ArrayUtils.contains(selectedColumns, columnIndex)) { + if (!ArrayUtils.contains(selectedColumns, columnIndex)) { table.setColumnSelectionInterval(columnIndex, columnIndex); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/ReloadStorageAction.java ===================================== @@ -46,13 +46,9 @@ public class ReloadStorageAction extends DataSourceEditorMenuActionSupport imple super(t("observe.ui.action.reload.storage"), t("observe.ui.action.reload.storage.tip"), "db-reload", 'R'); } - public ReloadStorageAction(String actionName, char keyStroke) { - super(actionName, t("observe.ui.action.reload.storage"), t("observe.ui.action.reload.storage.tip"), "db-reload", keyStroke); - } - @Override protected void doActionPerformed(ActionEvent event, DataSourceEditorMenu ui) { - run(); + getClientUIContext().getActionExecutor().addAction(getText(), this); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c03d89aa3be10d74aca15396… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c03d89aa3be10d74aca15396… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: Fix JLabel init (never assign LabelFor if JLabel is not design for (his name...
by Tony CHEMIT 07 Jan '21

07 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 55be320c by Tony Chemit at 2021-01-07T12:07:36+01:00 Fix JLabel init (never assign LabelFor if JLabel is not design for (his name must ends by Label) : because otherwise nasty StackOverFlow can happen! - - - - - 88cfaf49 by Tony Chemit at 2021-01-07T13:29:59+01:00 If no row selected, then do nothing - - - - - d63a83d8 by Tony Chemit at 2021-01-07T14:27:22+01:00 Avoid costy log - - - - - c03d89aa by Tony Chemit at 2021-01-07T14:37:30+01:00 Consultation du tableau des débarquements lorsque le formulaire est verrouillé - Closes #1739 - - - - - 15 changed files: - client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableEditorLayerUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/NotStandaloneContentTableUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/ContentTableUIEntryActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectFirst.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectLast.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectNext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectPrevious.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/BranchlineUIHandler.java Changes: ===================================== client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java ===================================== @@ -24,18 +24,21 @@ package fr.ird.observe.client.util.init; import org.jdesktop.swingx.painter.Painter; +import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; +import javax.swing.JTable; import javax.swing.JToolBar; import javax.swing.JTree; import javax.swing.KeyStroke; import javax.swing.UIDefaults; import java.awt.Color; import java.awt.event.KeyEvent; +import java.util.Arrays; /** * To manage init of our ui. @@ -62,7 +65,7 @@ public class UIInitHelper { "fr.ird.observe.client.ui.admin.actions.CopyToClipBoard" }; public static final Class<?>[] ACCEPTABLE_COMPONENTS_TYPE = { - JScrollBar.class, JTabbedPane.class + JScrollBar.class, JTabbedPane.class, JTable.class }; public static void init(JScrollPane selectedTreePane, JTree tree) { @@ -97,4 +100,14 @@ public class UIInitHelper { editor.setOpaque(false); } + public static void cleanInputMapAndSet(JComponent editor, KeyStroke[] keyStrokes, InputMap newInputMap, ActionMap newActionMap) { + cleanInputMap(editor, keyStrokes); + editor.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(newInputMap); + editor.getActionMap().setParent(newActionMap); + } + + public static void cleanInputMap(JComponent editor, KeyStroke[] keyStrokes) { + InputMap map = editor.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + Arrays.stream(keyStrokes).forEach(uiActionKeyStroke -> map.put(uiActionKeyStroke, "none")); + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java ===================================== @@ -134,8 +134,6 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe log.info(String.format("%sInit ui", prefix)); DefaultUIInitializerResult initializerResult = contentOpen.init(initializer); - onInit(ui); - installFocusTraversalPolicy(); model.getStates().addPropertyChangeListener(ContentUIModelStates.PROPERTY_FORM_FOCUS_OWNER, evt -> onFormFocusOwnerChanged((JComponent) evt.getNewValue())); installPermanentFocusOwnerListener(); @@ -181,14 +179,11 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe action.doAction(); } + @SuppressWarnings("unchecked") public final void resetFromPreviousUi(ContentUI ui) { contentOpen.resetFromPreviousUi((U) ui); } - public final void restartEditUI() { - contentOpen.restartEditUI(); - } - public final void destroyUI() { if (ui == null) { return; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java ===================================== @@ -78,12 +78,12 @@ import javax.swing.JList; import javax.swing.JScrollBar; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; +import javax.swing.JTable; import javax.swing.JToolBar; import javax.swing.KeyStroke; import javax.swing.ListCellRenderer; import java.awt.Component; import java.awt.Dimension; -import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -125,11 +125,12 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup NormalTextEditor.class, ContentUI.class, Table.class, + JTable.class, JTabbedPane.class }; protected final UI ui; protected final DecoratorService decoratorService; - private final Class<?>[] acceptedClassesInBlockingLayer = new Class[]{TripMapUI.class, ObserveMapPane.class, JScrollBar.class, JTabbedPane.class}; + protected final Class<?>[] acceptedClassesInBlockingLayer = new Class[]{TripMapUI.class, JTable.class, /*NotStandaloneContentUI.class,*/ ObserveMapPane.class, JScrollBar.class, JTabbedPane.class}; private final boolean isParentUI; public ContentUIInitializer(UI ui) { @@ -202,6 +203,7 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup .onComponents(NormalTextEditor.class, this::init) .onSubComponents(ContentUI.class, this::init) .onComponents(Table.class, this::init) + .onComponents(JTable.class, true, this::init) .startSecondPass() .onSubComponents(JTabbedPane.class, this::init) .onSubComponents(BlockingLayerUI.class, this::init); @@ -278,10 +280,13 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup private void init(JLabel editor) { initializerContext.checkFirstPass(); - String editorName = StringUtils.removeEnd(editor.getName(), "Label"); - Object objectById = ui.getObjectById(editorName); - if (objectById instanceof JComponent) { - editor.setLabelFor((Component) objectById); + String editorName = editor.getName(); + if (editorName.endsWith("Label")) { + editorName = StringUtils.removeEnd(editorName, "Label"); + Object objectById = ui.getObjectById(editorName); + if (objectById instanceof JComponent) { + editor.setLabelFor((Component) objectById); + } } } @@ -309,13 +314,13 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup JTextComponents.addAutoSelect(editor.getTextField()); } + public JComponent getActionContainer() { + return ui; + } + @SuppressWarnings({"unchecked", "rawtypes"}) protected void init(JaxxComboBox editor) { initializerContext.checkFirstPass(); - InputMap inputMap = editor.getCombobox().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - inputMap.setParent(ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)); - editor.getCombobox().getActionMap().setParent(ui.getActionMap()); - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F4, 0), "none"); @SuppressWarnings({"RawTypeCanBeGeneric", "rawtypes"}) Class referenceType = editor.getBeanType(); editor.setI18nPrefix("observe.common."); editor.setAutoSelectContent(true); @@ -471,6 +476,11 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup initializerContext.checkFirstPass(); } + private void init(JTable editor) { + initializerContext.checkFirstPass(); +// UIInitHelper.init(editor); + } + @SuppressWarnings({"unchecked", "rawtypes"}) private <R extends DataDtoReference> void prepareDataFilterableDoubleList(Class<R> dtoClass, FilterableDoubleList<R> editor) { DataReferenceDecorator<R> decorator = decoratorService.getDataReferenceDecorator(dtoClass); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java ===================================== @@ -40,13 +40,16 @@ import fr.ird.observe.client.datasource.validation.ClientValidationContext; import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.client.util.init.DefaultUIInitializer; import fr.ird.observe.client.util.init.DefaultUIInitializerResult; +import fr.ird.observe.client.util.init.UIInitHelper; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.spi.module.ObserveBusinessProject; import io.ultreia.java4all.bean.JavaBean; +import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.swing.JVetoableTabbedPane; +import org.nuiton.jaxx.runtime.swing.action.MenuAction; import org.nuiton.jaxx.validator.swing.SwingValidatorUtil; import org.nuiton.jaxx.validator.swing.tab.JTabbedPaneValidator; import org.nuiton.jaxx.widgets.datetime.DateTimeEditor; @@ -57,14 +60,21 @@ import org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditorModel; import org.nuiton.jaxx.widgets.hidor.HidorButton; import org.nuiton.jaxx.widgets.temperature.TemperatureEditor; +import javax.swing.Action; +import javax.swing.ActionMap; +import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.KeyStroke; import javax.swing.MenuElement; import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.plaf.ActionMapUIResource; +import javax.swing.plaf.InputMapUIResource; import java.beans.PropertyChangeListener; import java.util.LinkedHashMap; import java.util.List; @@ -101,6 +111,9 @@ public class ContentOpen<U extends ContentUI> { private JTabbedPaneValidator tabbedPaneValidator; private JTabbedPaneValidator subTabbedPaneValidator; private ArrayListMultimap<String, JComponent> focusComponents; + private List<JTable> tables; + private ActionMap newActionMap; + private InputMap newInputMap; public ContentOpen(U ui, ContentOpenExecutor<U> contentOpenExecutor) { this(ui, contentOpenExecutor, null); @@ -126,6 +139,7 @@ public class ContentOpen<U extends ContentUI> { public DefaultUIInitializerResult init(ContentUIInitializer<U> initializer) { DefaultUIInitializerResult initializerResult = initializer.initUI(); + tables = initializerResult.getComponentsList(JTable.class); tabbedPaneValidator = initializerResult.getTabbedPaneValidator(); subTabbedPaneValidator = initializerResult.getSubTabbedPaneValidator(); coordinateEditors = initializerResult.getCoordinateEditors(); @@ -136,9 +150,18 @@ public class ContentOpen<U extends ContentUI> { dateTimeEditors.forEach(e -> e.getSliderHidor().addPropertyChangeListener(HidorButton.PROPERTY_TARGET_VISIBLE, onToggleDateTimeEditorSliderChangedListener)); timeEditors.forEach(e -> e.getSliderHidor().addPropertyChangeListener(HidorButton.PROPERTY_TARGET_VISIBLE, onToggleTimeEditorSliderChangedListener)); coordinateEditors.forEach(e -> e.getModel().addPropertyChangeListener(CoordinatesEditorModel.PROPERTY_FORMAT, onCoordinateFormatChangedListener)); - initActions(); + ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(null); + ui.getActionMap().setParent(null); + JComponent actionContainer = initializer.getActionContainer(); + initActions(actionContainer, initializerResult); ContentUIModel model = ui.getModel(); + + @SuppressWarnings("unchecked") ContentUIHandler<U> handler = (ContentUIHandler<U>) ui.getHandler(); model.init(ui, initializerResult); + handler.onInit(ui); + + postInstallActions(actionContainer, newInputMap, newActionMap, initializerResult); + model.getStates().addPropertyChangeListener(ContentUIModelStates.PROPERTY_MODE, evt -> { ContentMode newValue = (ContentMode) evt.getNewValue(); ui.getHandler().onModeChanged(newValue); @@ -179,8 +202,6 @@ public class ContentOpen<U extends ContentUI> { if (contentEditExecutor != null) { contentEditExecutor.doEditOnOpen(ui); } - //FIXME:Action We got ComboBox actions here... Side effecrt JaxxComboBox :( - ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(null); } public boolean doClose() { @@ -458,6 +479,8 @@ public class ContentOpen<U extends ContentUI> { ContentTableUIModel<?, ?> model = subUi.getModel(); if (!model.getStates().isStandalone()) { log.info(String.format("%sInit not standalone table ui: %s", ui.getModel().getPrefix(), subUi.getClass().getSimpleName())); + InputMap inputMap = ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + ActionMap actionMap = ui.getActionMap(); ui.getTitleRightToolBar().add(subUi.getSelectToolbar(), 0); subUi.getSelectToolbar().setVisible(false); MenuElement[] subElements = subUi.getInsertPopup().getSubElements(); @@ -518,10 +541,29 @@ public class ContentOpen<U extends ContentUI> { return ui; } - private void initActions() { + public void initActions(JComponent actionContainer, DefaultUIInitializerResult initializerResult) { ContentUIHandler<?> handler = ui.getHandler(); handler.initActions(); handler.installChangeModeAction(); + + InputMap inputMap = actionContainer.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + KeyStroke[] uiActionKeyStrokes = inputMap.allKeys(); + log.info(String.format("%sFound %d actions to share", ui.getModel().getPrefix(), uiActionKeyStrokes.length)); + ActionMap actionMap = actionContainer.getActionMap(); + newActionMap = new ActionMapUIResource(); + newInputMap = new InputMapUIResource(); + for (KeyStroke actionKeyStroke : uiActionKeyStrokes) { + Object actionMapKey = inputMap.get(actionKeyStroke); + newInputMap.put(actionKeyStroke, actionMapKey); + Action action = actionMap.get(actionMapKey); + if (action instanceof MenuAction) { + log.info(String.format("Skip menu action %s → %s", actionKeyStroke, actionMapKey)); + continue; + } + newActionMap.put(actionMapKey, action); + log.info(String.format("Register action %s → %s", actionKeyStroke, actionMapKey)); + } + ContentUIModel model = ui.getModel(); NodeCapability<?> capability = model.getSource().getCapability(); if (capability instanceof ContainerCapability) { @@ -540,6 +582,17 @@ public class ContentOpen<U extends ContentUI> { handler.updateToggleInsertVisibility(); } + protected void postInstallActions(JComponent actionContainer, InputMap newInputMap, ActionMap newActionMap, DefaultUIInitializerResult initializerResult) { + KeyStroke[] keyStrokes = newInputMap.allKeys(); + initializerResult.getComponents(JaxxComboBox.class).forEach(editor -> UIInitHelper.cleanInputMapAndSet(editor, keyStrokes, newInputMap, newActionMap)); + initializerResult.getComponents(JTable.class).forEach(editor -> UIInitHelper.cleanInputMap(editor, keyStrokes)); + for (Map.Entry<ContentTableUI<?, ?, ?>, JPanel> entry : subUiMap.entrySet()) { + ContentTableUI<?, ?, ?> subUi = entry.getKey(); + subUi.getHandler().getContentOpen().getTables().forEach(editor -> UIInitHelper.cleanInputMap(editor, keyStrokes)); + //FIXME:Actions We should define some scope only for subUi ? + } + } + private void onToggleDateTimeEditorSliderChanged(boolean newValue) { if (!toggleDateTimeEditorSliderIsChanging) { toggleDateTimeEditorSliderIsChanging = true; @@ -555,6 +608,10 @@ public class ContentOpen<U extends ContentUI> { } } + public List<JTable> getTables() { + return tables; + } + private void onToggleTimeEditorSliderChanged(boolean newValue) { if (!toggleTimeEditorSliderIsChanging) { toggleTimeEditorSliderIsChanging = true; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIOpenExecutor.java ===================================== @@ -51,18 +51,13 @@ public class ContentEditUIOpenExecutor<D extends DataDto, U extends ContentEditU // chaque arrive sur un écran invalide le cache de validation getClientValidationContext().reset(); - openModel(ui); - - handler.fixFormSize(); - handler.onEndOpenUI(); - } - - public void openModel(U ui) { ContentEditUIModel<D> model = ui.getModel(); Form<D> form = model.openForm(model.getStates().getSelectedId()); - ContentEditUIHandler<D, U> handler = ui.getHandler(); handler.getContentOpen().onOpenForm(form); handler.onOpenAfterOpenModel(); + + handler.fixFormSize(); + handler.onEndOpenUI(); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableEditorLayerUI.java ===================================== @@ -69,7 +69,7 @@ public class ContentTableEditorLayerUI extends ObserveBlockingLayerUI implements try { log.trace("Set focus on table editor"); Component focusComponent = editor.getModel().getStates().getFormFocusOwner(); - log.debug(String.format("Set focus on table editor - initial form focus owner: %s", focusComponent)); + log.debug(String.format("Set focus on table editor - initial form focus owner: %s", focusComponent == null ? null : focusComponent.getName())); boolean readingMode = editor.getModel().getStates().isReadingMode(); if (focusComponent != null) { // if not reading, then we can try to have a more accurate focus owner @@ -88,17 +88,17 @@ public class ContentTableEditorLayerUI extends ObserveBlockingLayerUI implements // compute focus owner FocusTraversalPolicy focusTraversalPolicy = editor.getFocusTraversalPolicy(); focusComponent = Objects.requireNonNull(focusTraversalPolicy).getFirstComponent(editor); - log.debug(String.format("compute new form focus owner: %s", focusComponent)); + log.debug(String.format("compute new form focus owner: %s", focusComponent==null?null:focusComponent.getName())); } if (focusComponent == null) { focusComponent = editor.getMode(); - } else if (focusComponent.hasFocus()) { + } + if (Objects.requireNonNull(focusComponent).hasFocus()) { return; } - log.debug(String.format("Set focus on table editor: %s", focusComponent)); + log.debug(String.format("Set focus on table editor: %s", focusComponent.getName())); // this will change the focus editor.getModel().getStates().setFormFocusOwner(focusComponent); -// editor.getHandler().setFormFocusOwner(focusComponent); } finally { focusAdjusting = false; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIHandler.java ===================================== @@ -40,6 +40,12 @@ import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.en import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.ResetEntry; import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.SaveAndNewEntry; import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.SaveTableEntry; +import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectFirst; +import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectLast; +import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectNext; +import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectPrevious; +import fr.ird.observe.client.datasource.editor.api.content.data.table.sortable.AutoSelectWithMoveUpAndDownShowPopupAction; +import fr.ird.observe.client.datasource.editor.api.content.data.table.sortable.SortableTableUI; import fr.ird.observe.client.datasource.editor.api.content.ui.ObserveLayoutFocusTraversalPolicy; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode; import fr.ird.observe.dto.data.DataDto; @@ -138,6 +144,16 @@ public abstract class ContentTableUIHandler<D extends DataDto, C extends DataDto getComponent(JButton.class, "importData").ifPresent(e -> ImportDataFile.installAction(ui, e)); getComponent(JButton.class, "deleteData").ifPresent(e -> DeleteDataFile.installAction(ui, e)); getComponent(JButton.class, "exportData").ifPresent(e -> ExportDataFile.installAction(ui, e)); + + SelectFirst.init(ui, ui.getSelectFirstTableEntry(), SelectFirst.class); + SelectPrevious.init(ui, ui.getSelectPreviousTableEntry(), SelectPrevious.class); + SelectNext.init(ui, ui.getSelectNextTableEntry(), SelectNext.class); + SelectLast.init(ui, ui.getSelectLastTableEntry(), SelectLast.class); + + if (ui instanceof SortableTableUI) { + log.info(String.format("%sInstall sortable popup actions", ui.getModel().getPrefix())); + new AutoSelectWithMoveUpAndDownShowPopupAction(ui); + } } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIInitializer.java ===================================== @@ -23,12 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.table; */ import fr.ird.observe.client.datasource.editor.api.content.ContentUIInitializer; -import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectFirst; -import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectLast; -import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectNext; -import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.entry.select.SelectPrevious; -import fr.ird.observe.client.datasource.editor.api.content.data.table.sortable.AutoSelectWithMoveUpAndDownShowPopupAction; -import fr.ird.observe.client.datasource.editor.api.content.data.table.sortable.SortableTableUI; +import fr.ird.observe.client.datasource.editor.api.content.NotStandaloneContentUI; import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.client.util.init.DefaultUIInitializerResult; import fr.ird.observe.dto.data.DataDto; @@ -36,7 +31,6 @@ import io.ultreia.java4all.i18n.I18n; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.KeyStroke; @@ -100,32 +94,11 @@ public class ContentTableUIInitializer<D extends DataDto, C extends DataDto, U e ui.getSelectNextTableEntry().setEnabled(false); ui.getSelectLastTableEntry().setEnabled(false); InputMap inputMap = ui.getTable().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - inputMap.put(KeyStroke.getKeyStroke("pressed UP"), "none"); inputMap.put(KeyStroke.getKeyStroke("pressed DOWN"), "none"); inputMap.put(KeyStroke.getKeyStroke("pressed LEFT"), "none"); inputMap.put(KeyStroke.getKeyStroke("pressed RIGHT"), "none"); - ActionMap actionMap = ui.getTable().getActionMap(); - -// inputMap = ui.getTable().getInputMap(JComponent.WHEN_FOCUSED); - SelectFirst selectFirst = SelectFirst.init(ui, ui.getSelectFirstTableEntry(), SelectFirst.class); - inputMap.put(selectFirst.getKeyStroke(), "selectFirstRow"); - actionMap.put("selectFirstRow", selectFirst); - SelectPrevious selectPrevious = SelectPrevious.init(ui, ui.getSelectPreviousTableEntry(), SelectPrevious.class); - inputMap.put(selectPrevious.getKeyStroke(), "selectPreviousRow"); - actionMap.put("selectPreviousRow", selectPrevious); - SelectNext selectNext = SelectNext.init(ui, ui.getSelectNextTableEntry(), SelectNext.class); - inputMap.put(selectNext.getKeyStroke(), "selectNextRow"); - actionMap.put("selectNextRow", selectNext); - SelectLast selectLast = SelectLast.init(ui, ui.getSelectLastTableEntry(), SelectLast.class); - inputMap.put(selectLast.getKeyStroke(), "selectLastRow"); - actionMap.put("selectLastRow", selectLast); - - if (ui instanceof SortableTableUI) { - log.info(String.format("%sInstall sortable popup actions", ui.getModel().getPrefix())); - new AutoSelectWithMoveUpAndDownShowPopupAction(ui); - } ui.getTitleRightToolBar().add(ui.getSelectToolbar(), 0); String message = I18n.t("observe.data.Data.list.message.none", ContentTableUII18nHelper.getType(getModel().getScope().getMainType())); @@ -146,7 +119,7 @@ public class ContentTableUIInitializer<D extends DataDto, C extends DataDto, U e log.debug("<<<<<<<<<< has clear selection..."); } else { // on met a jour le modele de selection - log.info(String.format(">>>>>>>>>> will set selection to %d", selectedRow)); + log.debug(String.format(">>>>>>>>>> will set selection to %d", selectedRow)); ui.getSelectionModel().setSelectionInterval(selectedRow, selectedRow); } FocusTraversalPolicy focusTraversalPolicy = ui.getFocusTraversalPolicy(); @@ -157,7 +130,6 @@ public class ContentTableUIInitializer<D extends DataDto, C extends DataDto, U e if (focusComponent != null) { log.info(String.format("New form focus owner: %s", focusComponent)); ui.getModel().getStates().setFormFocusOwner(focusComponent); -// ui.getHandler().setFormFocusOwner(focusComponent); } } @@ -173,4 +145,11 @@ public class ContentTableUIInitializer<D extends DataDto, C extends DataDto, U e ui.getEditorBlockLayerUI().setAcceptedComponentNames(doNotBlockComponentIds); } + @Override + public JComponent getActionContainer() { + if (!ui.getModel().getStates().isStandalone()) { + return (JComponent) ((NotStandaloneContentUI<?>) ui).getParentUI(); + } + return super.getActionContainer(); + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/NotStandaloneContentTableUIHandler.java ===================================== @@ -37,6 +37,7 @@ public abstract class NotStandaloneContentTableUIHandler<D extends DataDto, C ex private EditableContentUI<D> parent; + @Override public EditableContentUI<D> getParentUI() { if (parent == null) { parent = NotStandaloneContentUIHandler.getParentUI(ui); @@ -50,23 +51,8 @@ public abstract class NotStandaloneContentTableUIHandler<D extends DataDto, C ex return new ContentOpen<>(ui, executor, executor); } -// @Override -// public void startEditUI() { -// ui.getValidatorTable().setParentValidator(ui.getValidator()); -// super.startEditUI(); -// } - -// @Override -// public void stopEditUI() { -// ui.getValidatorTable().setParentValidator(null); -// super.stopEditUI(); -// } - -// @Override -// public void onEndOpenUI() { -// super.onEndOpenUI(); -// if (!getModel().getStates().isUpdatingMode()) { -// reselectRow(); -// } -// } + @Override + public void installChangeModeAction() { + // not for this one + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/ContentTableUIEntryActionSupport.java ===================================== @@ -23,16 +23,17 @@ package fr.ird.observe.client.datasource.editor.api.content.data.table.actions.e */ import fr.ird.observe.client.WithClientUIContext; +import fr.ird.observe.client.datasource.editor.api.content.NotStandaloneContentUI; import fr.ird.observe.client.datasource.editor.api.content.data.table.ContentTableUI; import fr.ird.observe.client.datasource.editor.api.content.data.table.ContentTableUITableModel; import fr.ird.observe.client.datasource.editor.api.content.data.table.actions.ContentTableUIActionSupport; -import fr.ird.observe.client.main.MainUIModel; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.JAXXObject; import org.nuiton.jaxx.runtime.swing.action.JAXXObjectActionSupport; import javax.swing.AbstractButton; +import javax.swing.JComponent; import javax.swing.KeyStroke; import java.awt.event.ActionEvent; import java.beans.PropertyChangeListener; @@ -49,7 +50,6 @@ public abstract class ContentTableUIEntryActionSupport extends ContentTableUIAct private boolean canExecuteFromRead; public static <U extends JAXXObject, A extends JAXXObjectActionSupport<U>> A init(U ui, AbstractButton editor, Class<A> actionType) { - A action = JAXXObjectActionSupport.init(ui, editor, actionType); editor.putClientProperty(ACTIVATE_FROM_POPUP, true); return action; @@ -61,11 +61,19 @@ public abstract class ContentTableUIEntryActionSupport extends ContentTableUIAct boolean b = computeEnabled(this.ui.getTableModel().getSelectedRow(), this.ui.getTableModel().getRowCount()); log.debug("Set enabled? " + b + " on " + getActionCommandKey()); setEnabled(b); -// editor.setEnabled(b); }; setEnabled(false); } + @Override + protected JComponent getContainer(ContentTableUI<?, ?, ?> ui) { + if (ui.getModel().getStates().isStandalone()) { + return super.getContainer(ui); + } + // if not standalone, attach to body since this is the only part which will be displayed and action aware + return (JComponent) ((NotStandaloneContentUI<?>) ui).getParentUI(); + } + public abstract boolean computeEnabled(int selectedRow, int rowCount); protected abstract void actionPerformed(ContentTableUITableModel<?, ?, ?> tableModel, int selectedRow); @@ -79,34 +87,15 @@ public abstract class ContentTableUIEntryActionSupport extends ContentTableUIAct } @Override - protected void doActionPerformed(ActionEvent e, ContentTableUI<?,?,?> contentTableUI) { + protected void doActionPerformed(ActionEvent e, ContentTableUI<?, ?, ?> contentTableUI) { if (!isEnabled()) { //FIXME should not have to check this here... log.info(String.format("Reject action: %s :: %s", getActionCommandKey(), this)); return; } log.info(String.format("Accept action: %s :: %s", getActionCommandKey(), this)); -// boolean focusOwner = ui.getTable().isFocusOwner(); -// log.debug("table has focus? " + focusOwner); -// MainUIModel mainUIModel = getClientUIContext().getMainUIModel(); -// boolean blockFocus = mainUIModel.isBlockFocus(); -// if (focusOwner) { -// mainUIModel.blockFocus(); -// } - try { - int selectedRow = ui.getTable().getSelectedRow(); - actionPerformed(ui.getTableModel(), selectedRow); - } finally { -// //FIXME:Focus -// if (focusOwner) { -// if (!blockFocus) { -// mainUIModel.unblockFocus(); -// } -// log.debug("Add focus back to table"); -// //ui.getTable().requestFocusInWindow(); -// ui.getHandler().setFormFocusOwner(ui.getTable()); -// } - } + int selectedRow = ui.getTable().getSelectedRow(); + actionPerformed(ui.getTableModel(), selectedRow); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectFirst.java ===================================== @@ -45,6 +45,9 @@ public final class SelectFirst extends ContentTableUIEntryActionSupport { @Override protected void actionPerformed(ContentTableUITableModel<?, ?, ?> tableModel, int selectedRow) { + if (selectedRow == -1) { + return; + } tableModel.selectFirst(); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectLast.java ===================================== @@ -45,6 +45,9 @@ public final class SelectLast extends ContentTableUIEntryActionSupport { @Override protected void actionPerformed(ContentTableUITableModel<?, ?, ?> tableModel, int selectedRow) { + if (selectedRow==-1) { + return; + } tableModel.selectLast(); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectNext.java ===================================== @@ -46,6 +46,9 @@ public final class SelectNext extends ContentTableUIEntryActionSupport { @Override protected void actionPerformed(ContentTableUITableModel<?, ?, ?> tableModel, int selectedRow) { + if (selectedRow==-1) { + return; + } tableModel.selectNext(selectedRow); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/entry/select/SelectPrevious.java ===================================== @@ -45,6 +45,9 @@ public final class SelectPrevious extends ContentTableUIEntryActionSupport { @Override protected void actionPerformed(ContentTableUITableModel<?, ?, ?> tableModel, int selectedRow) { + if (selectedRow==-1) { + return; + } tableModel.selectPrevious(selectedRow); } } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/BranchlineUIHandler.java ===================================== @@ -89,6 +89,11 @@ public class BranchlineUIHandler extends GeneratedBranchlineUIHandler { }; } + @Override + public void installChangeModeAction() { + // not for this one (not standalone) + } + @Override protected void installResetAction() { ResetAction<BranchlineUI> action = ResetAction.prepareAction(new DefaultResetAdapter<BranchlineUI>() { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0ee15c404dd2b873acc83a01… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0ee15c404dd2b873acc83a01… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Improve safe focus on form
by Tony CHEMIT 07 Jan '21

07 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 0ee15c40 by Tony Chemit at 2021-01-07T02:36:06+01:00 Improve safe focus on form - - - - - 1 changed file: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java ===================================== @@ -179,6 +179,8 @@ public class ContentOpen<U extends ContentUI> { if (contentEditExecutor != null) { contentEditExecutor.doEditOnOpen(ui); } + //FIXME:Action We got ComboBox actions here... Side effecrt JaxxComboBox :( + ui.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(null); } public boolean doClose() { @@ -487,6 +489,14 @@ public class ContentOpen<U extends ContentUI> { tableUI.stopEdit(); } } +// +// public final void doRead() { +// ui.getInputMap(1).setParent(null); +//// for (ContentTableUI<?, ?, ?> tableUI : subUiMap.keySet()) { +//// tableUI.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).setParent(ui.getInputMap(1)); +//// tableUI.getModel().getStates().setMode(ContentMode.READ); +//// } +// } public final void selectFirstTab() { selectTab(0); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0ee15c404dd2b873acc83a018… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0ee15c404dd2b873acc83a018… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 5 commits: Nettoyage des modèles : on doit appeler directement les states (à terme ils...
by Tony CHEMIT 07 Jan '21

07 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 1b0c5030 by Tony Chemit at 2021-01-07T01:16:34+01:00 Nettoyage des modèles : on doit appeler directement les states (à terme ils seront générés et c&#39;est là qu&#39;on fera des extensions de modèle...) Nettoyage de l&#39;API de focus sur les tableaux : trop compliqués et ne fonctionne pas bien - - - - - 35eeddae by Tony Chemit at 2021-01-07T01:16:34+01:00 Verrouillage/déverouillage des formulaires - Closes #1740 - - - - - f7933258 by Tony Chemit at 2021-01-07T01:33:43+01:00 Fix ask to quit on read mode - - - - - dc15e4f9 by Tony Chemit at 2021-01-07T01:34:08+01:00 Fix focus goes to form on read mode - - - - - e02d4abe by Tony Chemit at 2021-01-07T01:34:32+01:00 Improve safe focus on form - - - - - 30 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorLayerUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ContentUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ToggleConfigure.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeModeExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/reset/DefaultResetAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableEditorLayerUI.java - − client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableNavigationLayerUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUI.jaxx The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c01dd99440f068d4fa0aaba… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c01dd99440f068d4fa0aaba… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • ...
  • 720
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.