Tony CHEMIT pushed to branch develop-9.3.x at ultreiaio / ird-observe Commits: 0ba99c91 by Tony Chemit at 2024-09-19T15:07:42+02:00 L'action n'est active que si une source de donnée est active - See #2826 - - - - - 5 changed files: - client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveDataSourcesManager.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/dcp/presets/FloatingObjectPresetsUIBodyContent.java - client/runner/src/main/i18n/translations/client-runner_en_GB.properties - client/runner/src/main/i18n/translations/client-runner_es_ES.properties - client/runner/src/main/i18n/translations/client-runner_fr_FR.properties Changes: ===================================== client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveDataSourcesManager.java ===================================== @@ -38,6 +38,8 @@ import fr.ird.observe.decoration.DecoratorService; import fr.ird.observe.navigation.id.Project; import fr.ird.observe.server.security.InvalidAuthenticationTokenException; import fr.ird.observe.services.ObserveServiceMainFactory; +import io.ultreia.java4all.bean.AbstractJavaBean; +import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; import io.ultreia.java4all.i18n.I18n; import io.ultreia.java4all.util.sql.SqlScript; import org.apache.logging.log4j.LogManager; @@ -60,9 +62,11 @@ import java.util.UUID; * @author Tony Chemit - dev@tchemit.fr * @since 5.0 */ -public class ObserveDataSourcesManager implements Closeable { +@GenerateJavaBeanDefinition +public class ObserveDataSourcesManager extends AbstractJavaBean implements Closeable { private static final Logger log = LogManager.getLogger(ObserveDataSourcesManager.class); + public static final String PROPERTY_MAIN_DATA_SOURCE = "mainDataSource"; private final List<ObserveSwingDataSource> dataSources = new LinkedList<>(); private final ClientConfig config; private final ObserveServiceMainFactory serviceFactory; @@ -149,6 +153,7 @@ public class ObserveDataSourcesManager implements Closeable { public void setMainDataSource(ObserveSwingDataSource dataSource) { this.dataSource = dataSource; + firePropertyChange(PROPERTY_MAIN_DATA_SOURCE, dataSource); } public Optional<ObserveSwingDataSource> getOptionalMainDataSource() { ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/dcp/presets/FloatingObjectPresetsUIBodyContent.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.client.datasource.editor.ps.data.dcp.presets; import com.google.auto.service.AutoService; import fr.ird.observe.client.ObserveSwingApplicationContext; +import fr.ird.observe.client.datasource.api.ObserveDataSourcesManager; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; import fr.ird.observe.client.datasource.editor.ps.data.dcp.actions.ShowFloatingObjectPresetsUI; import fr.ird.observe.client.main.ObserveMainUI; @@ -31,6 +32,7 @@ import fr.ird.observe.client.main.body.MainUIBodyContent; import io.ultreia.java4all.util.SingletonSupplier; import org.nuiton.jaxx.runtime.context.JAXXInitialContext; +import javax.swing.JMenuItem; import java.util.function.Supplier; /** @@ -65,6 +67,13 @@ public class FloatingObjectPresetsUIBodyContent extends MainUIBodyContent<Floati @Override public void install(ObserveMainUI mainUI) { super.install(mainUI); - ShowFloatingObjectPresetsUI.init(mainUI, mainUI.getShowFloatingObjectPresets(), new ShowFloatingObjectPresetsUI()); + ObserveSwingApplicationContext applicationContext = (ObserveSwingApplicationContext) ObserveSwingApplicationContext.get(); + ObserveDataSourcesManager dataSourcesManager = applicationContext.getDataSourcesManager(); + JMenuItem editor = mainUI.getShowFloatingObjectPresets(); + dataSourcesManager.addPropertyChangeListener(ObserveDataSourcesManager.PROPERTY_MAIN_DATA_SOURCE, evt -> { + ObserveSwingDataSource newValue = (ObserveSwingDataSource) evt.getNewValue(); + editor.setEnabled(newValue != null); + }); + ShowFloatingObjectPresetsUI.init(mainUI, editor, new ShowFloatingObjectPresetsUI()); } } ===================================== client/runner/src/main/i18n/translations/client-runner_en_GB.properties ===================================== @@ -398,7 +398,7 @@ observe.ui.action.exit=Quit observe.ui.action.exit.tip=quit Observe observe.ui.action.export.tip=Export observe.ui.action.floatingObjectPresets=Manage floating object presets -observe.ui.action.floatingObjectPresets.tip=Manage floating object presets +observe.ui.action.floatingObjectPresets.tip=Manage floating object presets (requires an open data source) observe.ui.action.goDown.tip=Go down in navigation tree observe.ui.action.goUp.tip=Go up in navigation tree observe.ui.action.goto.next.stage=Next step ===================================== client/runner/src/main/i18n/translations/client-runner_es_ES.properties ===================================== @@ -398,7 +398,7 @@ observe.ui.action.exit=Salir observe.ui.action.exit.tip=Salir de ObServe observe.ui.action.export.tip=Export observe.ui.action.floatingObjectPresets=Manage floating object presets \#TODO -observe.ui.action.floatingObjectPresets.tip=Manage floating object presets \#TODO +observe.ui.action.floatingObjectPresets.tip=Manage floating object presets (requires an open data source) \#TODO observe.ui.action.goDown.tip=Descender hacia etapas porteriores observe.ui.action.goUp.tip=Ascender hacia etapas anteriores observe.ui.action.goto.next.stage=Siguiente ===================================== client/runner/src/main/i18n/translations/client-runner_fr_FR.properties ===================================== @@ -398,7 +398,7 @@ observe.ui.action.exit=Quitter observe.ui.action.exit.tip=Quitter ObServe observe.ui.action.export.tip=Exporter observe.ui.action.floatingObjectPresets=Gérer les objets flottants de référence -observe.ui.action.floatingObjectPresets.tip=Gérer les objets flottants de référence +observe.ui.action.floatingObjectPresets.tip=Gérer les objets flottants de référence (nécessite une source de données ouverte) observe.ui.action.goDown.tip=Descendre dans la navigation observe.ui.action.goUp.tip=Remonter dans la navigation observe.ui.action.goto.next.stage=Suivant View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0ba99c91aeb12044cebfefe924... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0ba99c91aeb12044cebfefe924... You're receiving this email because of your account on gitlab.com.