branch develop updated (4a38a22 -> 10ee9e9)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 4a38a22 Gestion plus perfectionnée des calculs taille-poids (Fixes #8404) Merge branch 'feature/8404' into develop new ab2e912 Ajout d'une nouvelle option à la configuration pour le fichier de sauvegarde des états des ui new 831f205 Mise en place de SwingSession dans ObServe new 10ee9e9 Réglage par défaut des proportions des volets de la fenêtre (Fixes #2841) Merge branch 'feature/2841' into develop The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 10ee9e9a4311b6a10a8653d6ab847164a9fd384d Merge: 4a38a22 831f205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:16 2016 +0100 Réglage par défaut des proportions des volets de la fenêtre (Fixes #2841) Merge branch 'feature/2841' into develop commit 831f2050ffa6fcdcd17651ad22105c9d8e64f21f Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:14 2016 +0100 Mise en place de SwingSession dans ObServe commit ab2e9125f3fd5c53f160b8f4bbfda8dfaec9c1ad Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:01 2016 +0100 Ajout d'une nouvelle option à la configuration pour le fichier de sauvegarde des états des ui Summary of changes: .../src/main/config/ObserveSwingApplication.ini | 8 ++++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + .../observe/application/swing/ObserveRunner.java | 2 + .../swing/ObserveSwingApplicationContext.java | 9 ++++ .../swing/ObserveSwingSessionHelper.java | 52 ++++++++++++++++++++++ .../swing/ui/content/ContentUIManager.java | 7 ++- 8 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingSessionHelper.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit ab2e9125f3fd5c53f160b8f4bbfda8dfaec9c1ad Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:01 2016 +0100 Ajout d'une nouvelle option à la configuration pour le fichier de sauvegarde des états des ui --- .../src/main/config/ObserveSwingApplication.ini | 8 ++++++++ .../i18n/application-swing-configuration_en_GB.properties | 1 + .../i18n/application-swing-configuration_es_ES.properties | 1 + .../i18n/application-swing-configuration_fr_FR.properties | 1 + 4 files changed, 11 insertions(+) diff --git a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini index 34e1816..6cbfb31 100644 --- a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini +++ b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini @@ -108,6 +108,14 @@ type = file defaultValue = ${resources.directory}/observe-log4j.properties transient = true +[option swingSessionFile] +description = observe.config.swingSessionFile.description +key = swingSessionFile +type = file +defaultValue = ${resources.directory}/ObserveSwingSession.ui.xml +final = true +transient = false + [option h2Login] description = observe.config.h2.login.description key = h2.username diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties index 11ed12d..08d7d90 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -71,6 +71,7 @@ observe.config.speciesList.seine.objectObservedSpecies=Species for object observ observe.config.speciesList.seine.objectSchoolEstimate=Species for object school estimates observe.config.speciesList.seine.schoolEstimate=Species for school esitmates observe.config.speciesList.seine.targetCatch=Species for target catches +observe.config.swingSessionFile.description=Swing session file. observe.config.ui.autoPopupNumberEditor=Flag sets to true when number editor show automaticly popup observe.config.ui.changeSynchroSrc=Flag sets to true if you can change local source in admin tasks observe.config.ui.fullscreen=Flag sets to true to lauch application in full screen mode diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties index 98e5260..d331ece 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -71,6 +71,7 @@ observe.config.speciesList.seine.objectObservedSpecies=Especies para los especie observe.config.speciesList.seine.objectSchoolEstimate=Especies para las estimaciones banco objeto observe.config.speciesList.seine.schoolEstimate=Especies para las estimaciones observe.config.speciesList.seine.targetCatch=Especies par las capturas objetivo +observe.config.swingSessionFile.description=Fichier de sauvegarde des états des UI. \#TODO observe.config.ui.autoPopupNumberEditor=Para mostrar automáticamente el editor numérico durante la edición de un número observe.config.ui.changeSynchroSrc=Pour autoriser la sélection de la base source dans les opérations sur base observe.config.ui.fullscreen=Para mostrar en modo pantalla completa la aplicación diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index 9ab7026..d334789 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -71,6 +71,7 @@ observe.config.speciesList.seine.objectObservedSpecies=Espèces pour les espèce observe.config.speciesList.seine.objectSchoolEstimate=Espèces pour les estimations banc objet observe.config.speciesList.seine.schoolEstimate=Espèces pour les estimations observe.config.speciesList.seine.targetCatch=Espèces pour les captures cible +observe.config.swingSessionFile.description=Fichier de sauvegarde des états des UI. observe.config.ui.autoPopupNumberEditor=Pour afficher automatiquement l'éditeur numérique lors de l'édition d'un nombre observe.config.ui.changeSynchroSrc=Pour autoriser la sélection de la base source dans les opérations sur base observe.config.ui.fullscreen=Pour afficher l'application en mode pleine écran -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 831f2050ffa6fcdcd17651ad22105c9d8e64f21f Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:14 2016 +0100 Mise en place de SwingSession dans ObServe --- .../observe/application/swing/ObserveRunner.java | 2 + .../swing/ObserveSwingApplicationContext.java | 9 ++++ .../swing/ObserveSwingSessionHelper.java | 52 ++++++++++++++++++++++ .../swing/ui/content/ContentUIManager.java | 7 ++- 4 files changed, 69 insertions(+), 1 deletion(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java index 7ca2579..eb68ea4 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java @@ -586,6 +586,8 @@ public abstract class ObserveRunner extends ApplicationRunner { ObserveMainUI ui = uiHandler.initUI(context, config); UIHelper.setMainUIVisible(ui); + + context.getSwingSessionHelper().addComponent(ui, false); return ui; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java index 2e0dfb8..e52c4a2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java @@ -88,6 +88,7 @@ import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.En import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.LOCAL_DATABASE_BACKUP_TIMER; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.MAIN_UI; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.NODE_TO_RESELECT; +import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.OBSERVE_SWING_SESSION_HELPER; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.OPEN_DATA_MANAGER; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.SERVICE_MAIN_FACTORY; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.TEXT_GENERATOR; @@ -124,6 +125,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im DATA_CONTEXT("Data context", DataContext.class), CONTENT_UI_MANAGER("Content UI manager", ContentUIManager.class), DATA_SOURCES_MANAGER("Data sources manager", ObserveSwingApplicationDataSourcesManager.class), + OBSERVE_SWING_SESSION_HELPER("Swing session Helper", ObserveSwingSessionHelper.class), VALIDATION_CONTEXT("Validation context", ValidationContext.class), MAIN_UI("Main UI", ObserveMainUI.class), ACTIONS("Command line Actions", ObserveCLAction.class), @@ -220,6 +222,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im VALIDATORS.set(Lists.newArrayList(ValidateServiceUtils.getValidators())); SERVICE_MAIN_FACTORY.set(ObserveServiceMainFactory.get()); LOCAL_DATABASE_BACKUP_TIMER.set(new ScheduledThreadPoolExecutor(1)); + OBSERVE_SWING_SESSION_HELPER.set(new ObserveSwingSessionHelper(config.getSwingSessionFile())); referenceBinderEngine = new ReferenceBinderEngineSupplier().get(); scheduledFuture = getLocalDatabaseBackupTimer().scheduleAtFixedRate(new LocalDatabaseBackupTask(), 0, config.getBackupDelay(), TimeUnit.MINUTES); @@ -319,6 +322,10 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return LOCAL_DATABASE_BACKUP_TIMER.get(); } + public ObserveSwingSessionHelper getSwingSessionHelper() { + return OBSERVE_SWING_SESSION_HELPER.get(); + } + //------------------------------------------- // - Write //------------------------------------------- @@ -406,6 +413,8 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im log.info("Closing swing application context " + this); } + getSwingSessionHelper().close(); + if (getConfig().isBackupAtClose()) { try { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingSessionHelper.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingSessionHelper.java new file mode 100644 index 0000000..a27aa41 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingSessionHelper.java @@ -0,0 +1,52 @@ +package fr.ird.observe.application.swing; + +import jaxx.runtime.swing.session.SwingSession; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.awt.Component; +import java.io.Closeable; +import java.io.File; +import java.io.IOException; + +/** + * Created on 07/11/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class ObserveSwingSessionHelper implements Closeable { + + /** Logger */ + private static final Log log = LogFactory.getLog(ObserveSwingSessionHelper.class); + + private SwingSession session; + + public ObserveSwingSessionHelper(File file) { + session = new SwingSession(file, false); + } + + public void addComponent(Component c, boolean replace) { + session.add(c, replace); + } + + public void removeComponent(Component c) { + session.remove(c); + } + + public void save() { + try { + session.save(); + } catch (IOException e) { + if (log.isErrorEnabled()) { + log.error("Could not save swing session", e); + } + } + } + + @Override + public void close() { + save(); + } + +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java index da4d6b0..4cbebde 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIManager.java @@ -23,6 +23,7 @@ package fr.ird.observe.application.swing.ui.content; import com.google.common.collect.ImmutableSet; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.ObserveSwingSessionHelper; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.content.impl.longline.LonglineDetailCompositionUI; @@ -302,6 +303,10 @@ public class ContentUIManager { try { content.open(); + ObserveSwingSessionHelper swingSessionHelper = ObserveSwingApplicationContext.get().getSwingSessionHelper(); + swingSessionHelper.addComponent((Component) content, true); + swingSessionHelper.save(); + } catch (Exception e) { UIHelper.handlingError(e); } finally { @@ -402,7 +407,7 @@ public class ContentUIManager { String contextValue = context instanceof Class ? ((Class) context).getName() : (context == null ? null : context.toString()); String key = getMappingKey(prefix, klass, contextValue); if (log.isDebugEnabled()) { - log.debug("Add key: "+key+" → "+contentClass.getName()); + log.debug("Add key: " + key + " → " + contentClass.getName()); } mapping.put(key, (Class<? extends ContentUI<?>>) contentClass); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 10ee9e9a4311b6a10a8653d6ab847164a9fd384d Merge: 4a38a22 831f205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 08:34:16 2016 +0100 Réglage par défaut des proportions des volets de la fenêtre (Fixes #2841) Merge branch 'feature/2841' into develop .../src/main/config/ObserveSwingApplication.ini | 8 ++++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + .../observe/application/swing/ObserveRunner.java | 2 + .../swing/ObserveSwingApplicationContext.java | 9 ++++ .../swing/ObserveSwingSessionHelper.java | 52 ++++++++++++++++++++++ .../swing/ui/content/ContentUIManager.java | 7 ++- 8 files changed, 80 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm