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 1eab0b72cce16d04129085fbc024b79a928b02cc Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 23 12:12:38 2016 +0100 Passage de la configuration en écran + amélioration titres --- .../application/swing/ui/ObserveMainUI.jaxx | 5 ++-- .../application/swing/ui/ObserveMainUI.jcss | 8 ++++++ .../application/swing/ui/ObserveMainUIModel.java | 4 +++ .../application/swing/ui/ObserveUIMode.java | 2 ++ .../ui/actions/menu/config/ShowConfigAction.java | 33 ++++++++++++++++------ .../menu/config/ShowDataSourcePresetsAction.java | 10 +++---- .../ui/storage/presets/RemotePresetsUIHandler.java | 3 +- .../i18n/application-swing_en_GB.properties | 2 ++ .../i18n/application-swing_es_ES.properties | 2 ++ .../i18n/application-swing_fr_FR.properties | 2 ++ 10 files changed, 53 insertions(+), 18 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jaxx index a11a070..a614d42 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jaxx @@ -342,9 +342,8 @@ protected void finalize() throws Throwable { </JXTitledPanel> - <JXTitledPanel id='dataSourcePresets' constraints='ObserveUIMode.PRESETS.name()'> - - </JXTitledPanel> + <JXTitledPanel id='dataSourcePresets' constraints='ObserveUIMode.PRESETS.name()'/> + <JXTitledPanel id='configuration' constraints='ObserveUIMode.CONFIGURATION.name()'/> </JPanel> <!-- status message bar --> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jcss index fa56820..5c93325 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUI.jcss @@ -449,4 +449,12 @@ JSplitPane { verticalAlignment : {JLabel.CENTER}; enabled:false; text:"observe.content.selection.empty"; +} + +#configuration { + title:"observe.action.configuration"; +} + +#dataSourcePresets { + title:"observe.action.connexions"; } \ No newline at end of file diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIModel.java index 156ede3..72d4f3a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIModel.java @@ -22,6 +22,7 @@ package fr.ird.observe.application.swing.ui; * #L% */ +import fr.ird.observe.application.swing.ObserveRunner; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; @@ -64,6 +65,7 @@ public class ObserveMainUIModel extends AbstractBean { private static final Icon DB_SERVER_ICON = SwingUtil.getUIManagerActionIcon("db-server"); private static final Icon DB_NONE_ICON = SwingUtil.getUIManagerActionIcon("db-none"); public static final String PROPERTY_FOCUS_ON_NAVIGATION = "focusOnNavigation"; + public static final String PROPERTY_MODE = "mode"; private ObserveUIMode mode = ObserveUIMode.NO_DB; private boolean h2WebServer; @@ -116,6 +118,8 @@ public class ObserveMainUIModel extends AbstractBean { } reload(config); }); + + addPropertyChangeListener(PROPERTY_MODE, evt-> ObserveRunner.cleanMemory()); } public void reload(ObserveSwingApplicationConfig config) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveUIMode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveUIMode.java index ac1295f..d25ccf7 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveUIMode.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveUIMode.java @@ -39,6 +39,8 @@ public enum ObserveUIMode { SERVER, /** Gestion des connections **/ PRESETS, + /** Préférences **/ + CONFIGURATION, /** Opérations complexes */ SYNCHRO diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java index d56f1eb..bfc426c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java @@ -30,9 +30,11 @@ import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveUICallback; +import fr.ird.observe.application.swing.ui.ObserveUIMode; import fr.ird.observe.application.swing.ui.actions.AbstractUIAction; import fr.ird.observe.services.dto.reference.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesListDto; +import jaxx.runtime.swing.config.ConfigUI; import jaxx.runtime.swing.config.ConfigUIHelper; import jaxx.runtime.swing.config.model.ConfigUIModelBuilder; import jaxx.runtime.swing.config.model.MainCallBackFinalizer; @@ -46,6 +48,7 @@ import org.nuiton.decorator.Decorator; import javax.swing.DefaultCellEditor; import javax.swing.Icon; import javax.swing.JComboBox; +import javax.swing.JPanel; import javax.swing.JTable; import java.awt.Component; import java.awt.event.ActionEvent; @@ -86,22 +89,36 @@ public class ShowConfigAction extends AbstractUIAction { if (log.isInfoEnabled()) { log.info("ObServe opening configuration ui..."); } - boolean canContinue = ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI(); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + boolean canContinue = applicationContext.getContentUIManager().closeSelectedContentUI(); if (canContinue) { - ObserveSwingDataSource dataSource = ObserveSwingApplicationContext.get().getDataSourcesManager().getMainDataSource(); + ObserveSwingDataSource dataSource = applicationContext.getDataSourcesManager().getMainDataSource(); - ObserveMainUI ui = getMainUI(); - ObserveSwingApplicationConfig config = ui.getConfig(); + ObserveMainUI mainUI = getMainUI(); + ObserveSwingApplicationConfig config = applicationContext.getConfig(); - ObserveConfigUIBuilder helper; + ObserveConfigUIBuilder helper = buildUI(config, dataSource); + helper.setCloseAction(this::quit); + ConfigUI configUI = helper.buildUI(mainUI, "observe.config.category.application"); + // si on ne met pas ça, à la fermeture la fenetre principale est fermée + configUI.getHandler().setTopContainer(mainUI); - helper = buildUI(config, dataSource); + getMainUI().getConfiguration().setContentContainer(configUI); - helper.buildUI(ui, "observe.config.category.application"); + mainUI.getModel().setMode(ObserveUIMode.CONFIGURATION); + } + + } - helper.displayUI(ui, false); + public void quit() { + ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); + mainUI.getConfiguration().setContentContainer(new JPanel()); + if (ObserveSwingApplicationContext.get().getDataSourcesManager().getMainDataSource() == null) { + mainUI.getModel().setMode(ObserveUIMode.NO_DB); + } else { + mainUI.getModel().setMode(ObserveUIMode.DB); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowDataSourcePresetsAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowDataSourcePresetsAction.java index 8237ffd..4542ad9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowDataSourcePresetsAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowDataSourcePresetsAction.java @@ -26,10 +26,11 @@ import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveUIMode; import fr.ird.observe.application.swing.ui.actions.AbstractUIAction; import fr.ird.observe.application.swing.ui.storage.presets.RemotePresetsUI; -import org.jdesktop.swingx.JXTitledPanel; import java.awt.event.ActionEvent; +import static org.nuiton.i18n.I18n.t; + /** * Created on 20/12/16. * @@ -41,17 +42,14 @@ public class ShowDataSourcePresetsAction extends AbstractUIAction { public static final String ACTION_NAME = ShowDataSourcePresetsAction.class.getName(); public ShowDataSourcePresetsAction(ObserveMainUI mainUI) { - super(mainUI, ACTION_NAME, "Gérer les connections", "Gérer les connections", "db-remote", null); + super(mainUI, ACTION_NAME, t("observe.action.connexions"), t("observe.action.connexions.tip"), "db-remote", null); putValue(MNEMONIC_KEY, (int) 'G'); } @Override public void actionPerformed(ActionEvent e) { - JXTitledPanel panel = getMainUI().getDataSourcePresets(); - panel.removeAll(); - panel.add(new RemotePresetsUI()); - + getMainUI().getDataSourcePresets().setContentContainer(new RemotePresetsUI()); getMainUI().getModel().setMode(ObserveUIMode.PRESETS); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/presets/RemotePresetsUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/presets/RemotePresetsUIHandler.java index 9822eb1..cf3b63c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/presets/RemotePresetsUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/presets/RemotePresetsUIHandler.java @@ -47,6 +47,7 @@ import org.nuiton.decorator.JXPathDecorator; import org.nuiton.version.Version; import javax.swing.JOptionPane; +import javax.swing.JPanel; import javax.swing.SwingUtilities; import java.awt.BorderLayout; import java.net.MalformedURLException; @@ -332,12 +333,12 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> { public void quit() { ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getMainUI(); + mainUI.getDataSourcePresets().setContentContainer(new JPanel()); if (ObserveSwingApplicationContext.get().getDataSourcesManager().getMainDataSource() == null) { mainUI.getModel().setMode(ObserveUIMode.NO_DB); } else { mainUI.getModel().setMode(ObserveUIMode.DB); } - mainUI.getDataSourcePresets().removeAll(); } } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index dd8f3a9..1d1617e 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -50,6 +50,8 @@ observe.action.config.export.required.write.data=Write permission is required on observe.action.configuration=Preferences observe.action.configuration.tip=Change preferences observe.action.configure=Configure +observe.action.connexions=Manage connections +observe.action.connexions.tip=Manage connection profiles observe.action.continue=Continue observe.action.copy=Copy observe.action.copy.column.headers=Copy column headers diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 889c4e4..d93c511 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -50,6 +50,8 @@ observe.action.config.export.required.write.data=Debe tener derechos de escritur observe.action.configuration=Configuración observe.action.configuration.tip=Modificar la configuración observe.action.configure=Configurar +observe.action.connexions=Gérer les connexions \#TODO +observe.action.connexions.tip=Gérer les profiles de connexion \#TODO observe.action.continue=Continuar observe.action.copy=Copiar en el portapeles observe.action.copy.column.headers=Copiar los encabezados de columnas diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 86b5d6b..267f34b 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -50,6 +50,8 @@ observe.action.config.export.required.write.data=Écriture sur les données requ observe.action.configuration=Configuration observe.action.configuration.tip=Modifier la configuration observe.action.configure=Configurer +observe.action.connexions=Gérer les connexions +observe.action.connexions.tip=Gérer les profiles de connexion observe.action.continue=Continuer observe.action.copy=Copier dans le presse-papier observe.action.copy.column.headers=Copier les entêtes de colonne -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.