Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 21ccec2c by Tony CHEMIT at 2018-10-14T08:55:30Z Création de profils de connexions : cosmétique - Closes #1140 - - - - - 12 changed files: - + client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelRemoteUIAction.java - + client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelServerUIAction.java - client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CreatePresetUIAction.java - client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveRemoteUIAction.java - client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveServerUIAction.java - client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jaxx - client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jcss - client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIModel.java - client/src/main/resources/i18n/client_en_GB.properties - client/src/main/resources/i18n/client_es_ES.properties - client/src/main/resources/i18n/client_fr_FR.properties Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelRemoteUIAction.java ===================================== @@ -0,0 +1,62 @@ +package fr.ird.observe.client.ui.actions.storage.presets; + +/*- + * #%L + * ObServe :: Client + * %% + * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.client.ObserveSwingApplicationContext; +import fr.ird.observe.client.ui.ObserveKeyStrokes; +import fr.ird.observe.client.ui.ObserveMainUI; +import fr.ird.observe.client.ui.storage.presets.RemotePresetsUI; +import fr.ird.observe.dto.presets.RemoteDataSourceConfiguration; + +import java.util.ArrayList; +import java.util.List; + +import static org.nuiton.i18n.I18n.n; + +/** + * Created by tchemit on 14/10/2018. + * + * @author Tony Chemit - dev@tchemit.fr + */ +public class CancelRemoteUIAction extends PresetsUIActionSupport { + + public static final String ACTION_NAME = CancelRemoteUIAction.class.getName(); + + public CancelRemoteUIAction(ObserveMainUI mainUI) { + super(mainUI, ACTION_NAME, n("observe.action.cancel"), n("observe.action.cancel.remote.tip"), "cancel", ObserveKeyStrokes.KEY_STROKE_RESET); + } + + @Override + protected void doActionPerformed(RemotePresetsUI ui) { + + RemoteDataSourceConfiguration configuration = ui.getModel().getRemoteDataSourceConfiguration(); + + List<RemoteDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getRemoteDataSourceConfigurations()); + configurations.remove(configuration); + ui.getModel().setRemoteDataSourceConfigurations(configurations); + ObserveSwingApplicationContext.get().getConfig().removeRemoteDataSourceConfiguration(configuration); + ui.getModel().setRemoteDataSourceConfiguration(null); + ui.getModel().setRemoteCreateMode(false); + } + +} ===================================== client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelServerUIAction.java ===================================== @@ -0,0 +1,62 @@ +package fr.ird.observe.client.ui.actions.storage.presets; + +/*- + * #%L + * ObServe :: Client + * %% + * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.client.ObserveSwingApplicationContext; +import fr.ird.observe.client.ui.ObserveKeyStrokes; +import fr.ird.observe.client.ui.ObserveMainUI; +import fr.ird.observe.client.ui.storage.presets.RemotePresetsUI; +import fr.ird.observe.dto.presets.ServerDataSourceConfiguration; + +import java.util.ArrayList; +import java.util.List; + +import static org.nuiton.i18n.I18n.n; + +/** + * Created by tchemit on 14/10/2018. + * + * @author Tony Chemit - dev@tchemit.fr + */ +public class CancelServerUIAction extends PresetsUIActionSupport { + + public static final String ACTION_NAME = CancelServerUIAction.class.getName(); + + public CancelServerUIAction(ObserveMainUI mainUI) { + super(mainUI, ACTION_NAME, n("observe.action.cancel"), n("observe.action.cancel.server.tip"), "cancel", ObserveKeyStrokes.KEY_STROKE_RESET); + } + + @Override + protected void doActionPerformed(RemotePresetsUI ui) { + + ServerDataSourceConfiguration configuration = ui.getModel().getServerDataSourceConfiguration(); + + List<ServerDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getServerDataSourceConfigurations()); + configurations.remove(configuration); + ui.getModel().setServerDataSourceConfigurations(configurations); + ObserveSwingApplicationContext.get().getConfig().removeServerDataSourceConfiguration(configuration); + ui.getModel().setServerDataSourceConfiguration(null); + ui.getModel().setServerCreateMode(false); + } + +} ===================================== client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CreatePresetUIAction.java ===================================== @@ -52,21 +52,19 @@ public class CreatePresetUIAction extends PresetsUIActionSupport { switch (ui.getTabs().getSelectedIndex()) { case 0: { RemoteDataSourceConfiguration configuration = new RemoteDataSourceConfiguration(); - configuration.setName("Change me"); List<RemoteDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getRemoteDataSourceConfigurations()); configurations.add(configuration); ui.getModel().setRemoteDataSourceConfigurations(configurations); - + ui.getModel().setRemoteCreateMode(true); ui.getRemoteConfigurations().setSelectedValue(configuration, true); } break; case 1: { ServerDataSourceConfiguration configuration = new ServerDataSourceConfiguration(); - configuration.setName("Change me"); - List<ServerDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getServerDataSourceConfigurations()); configurations.add(configuration); ui.getModel().setServerDataSourceConfigurations(configurations); + ui.getModel().setServerCreateMode(true); ui.getServerConfigurations().setSelectedValue(configuration, true); } break; ===================================== client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveRemoteUIAction.java ===================================== @@ -59,6 +59,9 @@ public class SaveRemoteUIAction extends PresetsUIActionSupport { ui.getModel().setRemoteDataSourceConfiguration(null); ui.getModel().setRemoteDataSourceConfiguration(remoteDataSourceConfiguration); ui.getModel().setRemoteModified(false); + if (ui.getModel().isRemoteCreateMode()) { + ui.getModel().setRemoteCreateMode(false); + } } } ===================================== client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveServerUIAction.java ===================================== @@ -60,6 +60,9 @@ public class SaveServerUIAction extends PresetsUIActionSupport { ui.getModel().setServerDataSourceConfiguration(null); ui.getModel().setServerDataSourceConfiguration(serverDataSourceConfiguration); ui.getModel().setServerModified(false); + if (ui.getModel().isServerCreateMode()) { + ui.getModel().setServerCreateMode(false); + } } } ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jaxx ===================================== @@ -29,7 +29,9 @@ fr.ird.observe.client.ui.actions.storage.presets.DeleteRemoteUIAction fr.ird.observe.client.ui.actions.storage.presets.DeleteServerUIAction fr.ird.observe.client.ui.actions.storage.presets.QuitPresetsUIAction + fr.ird.observe.client.ui.actions.storage.presets.CancelRemoteUIAction fr.ird.observe.client.ui.actions.storage.presets.ResetRemoteUIAction + fr.ird.observe.client.ui.actions.storage.presets.CancelServerUIAction fr.ird.observe.client.ui.actions.storage.presets.ResetServerUIAction fr.ird.observe.client.ui.actions.storage.presets.SaveRemoteUIAction fr.ird.observe.client.ui.actions.storage.presets.SaveServerUIAction @@ -89,7 +91,8 @@ <row> <cell columns='2'> - <JPanel layout="{new GridLayout(1, 0)}"> + <JPanel id="remoteActions" layout="{new GridLayout(1, 0)}"> + <JButton id="cancelRemoteAction"/> <JButton id="resetRemoteAction"/> <JButton id="saveRemoteAction"/> <JButton id="deleteRemoteAction"/> @@ -151,7 +154,8 @@ <row> <cell columns='2'> - <JPanel layout="{new GridLayout(1, 0)}"> + <JPanel id="serverActions" layout="{new GridLayout(1, 0)}"> + <JButton id="cancelServerAction"/> <JButton id="resetServerAction"/> <JButton id="saveServerAction"/> <JButton id="deleteServerAction"/> ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jcss ===================================== @@ -81,8 +81,11 @@ text:{SwingUtil.getStringValue(model.getServerDataSourceConfiguration().getDatabaseName())}; } +#cancelRemoteAction { + _observeAction:{CancelRemoteUIAction.ACTION_NAME}; +} + #resetRemoteAction { - enabled:{model.isRemoteModified()}; _observeAction:{ResetRemoteUIAction.ACTION_NAME}; } @@ -99,6 +102,10 @@ _observeAction:{TestRemoteUIAction.ACTION_NAME}; } +#cancelServerAction { + _observeAction:{CancelServerUIAction.ACTION_NAME}; +} + #resetServerAction { enabled:{model.isServerModified()}; _observeAction:{ResetServerUIAction.ACTION_NAME}; ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIHandler.java ===================================== @@ -10,12 +10,12 @@ package fr.ird.observe.client.ui.storage.presets; * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. @@ -40,6 +40,7 @@ import javax.swing.ActionMap; import javax.swing.DefaultListModel; import javax.swing.InputMap; import javax.swing.JComponent; +import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; @@ -88,7 +89,7 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> { } - Decorator<RemoteDataSourceConfiguration> remoteDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(RemoteDataSourceConfiguration.class,DecoratorService.WITH_URL); + Decorator<RemoteDataSourceConfiguration> remoteDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(RemoteDataSourceConfiguration.class, DecoratorService.WITH_URL); ui.getRemoteConfigurations().setCellRenderer(new DecoratorListCellRenderer<>(remoteDecorator)); DefaultListModel<RemoteDataSourceConfiguration> remoteModel = new DefaultListModel<>(); @@ -140,7 +141,20 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> { SwingUtilities.invokeLater(ui::repaint); }); - Decorator<ServerDataSourceConfiguration> serverDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ServerDataSourceConfiguration.class,DecoratorService.WITH_URL); + ui.getModel().addPropertyChangeListener("remoteCreateMode", evt -> { + JPanel remoteActions = ui.getRemoteActions(); + if ((Boolean) evt.getNewValue()) { + remoteActions.remove(ui.getResetRemoteAction()); + remoteActions.remove(ui.getDeleteRemoteAction()); + remoteActions.add(ui.getCancelRemoteAction(), 0); + } else { + remoteActions.add(ui.getResetRemoteAction(), 0); + remoteActions.add(ui.getDeleteRemoteAction(), 2); + remoteActions.remove(ui.getCancelRemoteAction()); + } + }); + ui.getRemoteActions().remove(0); + Decorator<ServerDataSourceConfiguration> serverDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ServerDataSourceConfiguration.class, DecoratorService.WITH_URL); ui.getServerConfigurations().setCellRenderer(new DecoratorListCellRenderer<>(serverDecorator)); DefaultListModel<ServerDataSourceConfiguration> ServerModel = new DefaultListModel<>(); ui.getModel().getServerDataSourceConfigurations().forEach(ServerModel::addElement); @@ -191,6 +205,21 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> { SwingUtilities.invokeLater(ui::repaint); }); + ui.getModel().addPropertyChangeListener("serverCreateMode", evt -> { + JPanel serverActions = ui.getServerActions(); + if ((Boolean) evt.getNewValue()) { + serverActions.remove(ui.getResetServerAction()); + serverActions.remove(ui.getDeleteServerAction()); + serverActions.add(ui.getCancelServerAction(), 0); + } else { + + serverActions.add(ui.getResetServerAction(), 0); + serverActions.add(ui.getDeleteServerAction(), 2); + serverActions.remove(ui.getCancelServerAction()); + } + }); + + ui.getServerActions().remove(0); UIHelper.askFocus(ui.getCreateAction()); } ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIModel.java ===================================== @@ -43,6 +43,8 @@ public class RemotePresetsUIModel extends AbstractBean { private boolean remoteModified; private boolean serverModified; + private boolean remoteCreateMode; + private boolean serverCreateMode; public List<RemoteDataSourceConfiguration> getRemoteDataSourceConfigurations() { return remoteDataSourceConfigurations; @@ -99,4 +101,22 @@ public class RemotePresetsUIModel extends AbstractBean { this.serverModified = serverModified; firePropertyChange("serverModified", null, serverModified); } + + public boolean isRemoteCreateMode() { + return remoteCreateMode; + } + + public void setRemoteCreateMode(boolean remoteCreateMode) { + this.remoteCreateMode = remoteCreateMode; + firePropertyChange("remoteCreateMode", null, remoteCreateMode); + } + + public boolean isServerCreateMode() { + return serverCreateMode; + } + + public void setServerCreateMode(boolean serverCreateMode) { + this.serverCreateMode = serverCreateMode; + firePropertyChange("serverCreateMode", null, serverCreateMode); + } } ===================================== client/src/main/resources/i18n/client_en_GB.properties ===================================== @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Copy automaticly in clipboard with rep observe.action.back.to.list=Back to list observe.action.back.to.list.tip=Go back to the list observe.action.cancel=Cancel +observe.action.cancel.remote.tip=Cancel create remote configuration +observe.action.cancel.server.tip=Cancel create server configuration observe.action.change.storage=Change storage observe.action.change.storage.tip=To change current storage observe.action.choose.db.dump=Choose the backup ===================================== client/src/main/resources/i18n/client_es_ES.properties ===================================== @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Puesta a punto automáticamente el con observe.action.back.to.list=Volver a la lista observe.action.back.to.list.tip=Volver a la lista de datos observe.action.cancel=Cancelar +observe.action.cancel.remote.tip=Cancel create remote configuration \#TODO +observe.action.cancel.server.tip=Cancel create server configuration \#TODO observe.action.change.storage=Cambiar la fuente de datos observe.action.change.storage.tip=Para cambiar la fuente de datos de la aplicación observe.action.choose.db.dump=Elegir la copia de seguridad ===================================== client/src/main/resources/i18n/client_fr_FR.properties ===================================== @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Mettre à jour automatiquement le cont observe.action.back.to.list=Retour à la liste observe.action.back.to.list.tip=Retour à la liste des données observe.action.cancel=Annuler +observe.action.cancel.remote.tip=Annuler la création de la configuration +observe.action.cancel.server.tip=Annuler la création de la configuration observe.action.change.storage=Changer la source de données observe.action.change.storage.tip=Pour changer la source de données de l'application observe.action.choose.db.dump=Choisir la sauvegarde View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/21ccec2c0c29eb0e02e425c24cc0... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/21ccec2c0c29eb0e02e425c24cc0... You're receiving this email because of your account on gitlab.com.