This is an automated email from the git hooks/post-receive script. New commit to branch develop-4.x in repository observe. See http://git.codelutin.com/observe.git commit 3a1f8f344c1ad1821cc251e7b6df56b03efdd607 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Nov 3 20:14:56 2015 +0100 Ecouter l'action pour savoir si l'action est possible (See #7689) --- .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 39 ++++++++++++++-------- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 11 ++++++ .../observe/ui/actions/AbstractObserveAction.java | 32 ++++++++++++++++++ .../ird/observe/ui/actions/CloseStorageAction.java | 3 +- .../observe/ui/actions/ReloadStorageAction.java | 6 ++-- .../ui/actions/SaveStorageToFileAction.java | 8 +++-- 6 files changed, 77 insertions(+), 22 deletions(-) diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index 4170505..3a9dba9 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -145,17 +145,28 @@ JSplitPane { } #menuStorageInfo { - action: {new fr.ird.observe.ui.actions.ShowStorageInfoAction(this)}; + action: {showStorageInfoAction}; +} + +#reloadStorageAction { + enabled: {getHandler().acceptMode(getMode(), getConfig().isMainStorageOpened(), ObserveUIMode.DB)}; +} + +#closeStorageAction { + enabled: {getHandler().acceptMode(getMode(), getConfig().isMainStorageOpened(), ObserveUIMode.DB)}; +} +#saveStorageToFileAction { + enabled: {getHandler().acceptMode(getMode(), getConfig().isMainStorageOpened(), ObserveUIMode.DB)}; } #menuStorageReload { - action: {new fr.ird.observe.ui.actions.ReloadStorageAction(this)}; - enabled: {getHandler().acceptMode(getMode(), true, ObserveUIMode.DB)}; + action: {reloadStorageAction}; + enabled: {reloadStorageAction.isEnabled()}; } #menuStorageClose { - action: {new fr.ird.observe.ui.actions.CloseStorageAction(this)}; - enabled: {getHandler().acceptMode(getMode(), true, ObserveUIMode.DB)}; + action: {closeStorageAction}; + enabled: {closeStorageAction.isEnabled()}; } #menuStorageStartServerMode { @@ -164,7 +175,7 @@ JSplitPane { } #menuStorageChange { - action: {new fr.ird.observe.ui.actions.ChangeStorageAction(this)}; + action: {changeStorageAction}; } #menuStorageLoadFromFile { @@ -173,8 +184,8 @@ JSplitPane { } #menuStorageSaveToFile { - action: {new fr.ird.observe.ui.actions.SaveStorageToFileAction(this)}; - enabled: {getHandler().acceptMode(getMode(), true, ObserveUIMode.DB)}; + action: {saveStorageToFileAction}; + enabled: {saveStorageToFileAction.isEnabled()}; } #menuActions { @@ -294,21 +305,21 @@ JSplitPane { } #storageStatusInfo { - action: {new fr.ird.observe.ui.actions.ShowStorageInfoAction(this)}; + action: {showStorageInfoAction}; } #storageStatusChange { - action: {new fr.ird.observe.ui.actions.ChangeStorageAction(this)}; + action: {changeStorageAction}; } #storageStatusClose { - action: {new fr.ird.observe.ui.actions.CloseStorageAction(this)}; - enabled: {getHandler().acceptMode(getMode(), true, ObserveUIMode.DB)}; + action: {closeStorageAction}; + enabled: {closeStorageAction.isEnabled()}; } #storageStatusReload { - action: {new fr.ird.observe.ui.actions.ReloadStorageAction(this)}; - enabled: {getHandler().acceptMode(getMode(), true, ObserveUIMode.DB)}; + action: {reloadStorageAction}; + enabled: {reloadStorageAction.isEnabled()}; } #closeHelp { diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 4adfb63..36a60b2 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -34,6 +34,11 @@ fr.ird.observe.entities.constants.ReferenceLocale fr.ird.observe.ui.admin.AdminStep + fr.ird.observe.ui.actions.ChangeStorageAction + fr.ird.observe.ui.actions.CloseStorageAction + fr.ird.observe.ui.actions.ReloadStorageAction + fr.ird.observe.ui.actions.SaveStorageToFileAction + fr.ird.observe.ui.actions.ShowStorageInfoAction fr.ird.observe.ui.content.ContentUIManager fr.ird.observe.ui.tree.ObserveTreeHelper fr.ird.observe.ui.tree.NavigationTreeCellRenderer @@ -58,6 +63,12 @@ <Boolean id='h2WebServer' javaBean='Boolean.FALSE'/> + <ChangeStorageAction id="changeStorageAction" constructorParams='this'/> + <CloseStorageAction id="closeStorageAction" constructorParams='this'/> + <ReloadStorageAction id="reloadStorageAction" constructorParams='this'/> + <SaveStorageToFileAction id="saveStorageToFileAction" constructorParams='this'/> + <ShowStorageInfoAction id="showStorageInfoAction" constructorParams='this'/> + <ContentUIManager id='contentManager' constructorParams='this'/> <JPopupMenu id='scopeUpPopup'/> diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/actions/AbstractObserveAction.java b/observe-swing/src/main/java/fr/ird/observe/ui/actions/AbstractObserveAction.java new file mode 100644 index 0000000..a47a9ae --- /dev/null +++ b/observe-swing/src/main/java/fr/ird/observe/ui/actions/AbstractObserveAction.java @@ -0,0 +1,32 @@ +package fr.ird.observe.ui.actions; + +import javax.swing.AbstractAction; +import javax.swing.Icon; +import java.beans.PropertyChangeListener; + +/** + * Created on 03/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class AbstractObserveAction extends AbstractAction { + + private static final long serialVersionUID = 1L; + + protected AbstractObserveAction(String name, Icon icon) { + super(name, icon); + } + + public synchronized void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + if (changeSupport != null) { + changeSupport.addPropertyChangeListener(propertyName,listener); + } + + } + + public synchronized void removePropertyChangeListener(String propertyName,PropertyChangeListener listener) { + if (changeSupport != null) { + changeSupport.removePropertyChangeListener(propertyName,listener); + } + } +} diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java b/observe-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java index e87fab2..9f1e4f4 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java @@ -32,7 +32,6 @@ import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.AbstractAction; import java.awt.event.ActionEvent; import static org.nuiton.i18n.I18n.t; @@ -43,7 +42,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 3.13 */ -public class CloseStorageAction extends AbstractAction { +public class CloseStorageAction extends AbstractObserveAction { private static final long serialVersionUID = 1L; diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/actions/ReloadStorageAction.java b/observe-swing/src/main/java/fr/ird/observe/ui/actions/ReloadStorageAction.java index c4a0ee0..990c1f2 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/actions/ReloadStorageAction.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/actions/ReloadStorageAction.java @@ -30,23 +30,23 @@ import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.DataSourceFactory; import fr.ird.observe.db.impl.H2DataSourceConfig; import fr.ird.observe.db.impl.PGDataSourceConfig; +import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.ObserveMainUIHandler; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.AbstractAction; import java.awt.event.ActionEvent; import static org.nuiton.i18n.I18n.t; -import fr.ird.observe.ui.*; /** * Created on 1/17/15. * * @author Tony Chemit - chemit@codelutin.com * @since 3.13 */ -public class ReloadStorageAction extends AbstractAction { +public class ReloadStorageAction extends AbstractObserveAction { private static final long serialVersionUID = 1L; diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/actions/SaveStorageToFileAction.java b/observe-swing/src/main/java/fr/ird/observe/ui/actions/SaveStorageToFileAction.java index 0a74cc4..35d7f90 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/actions/SaveStorageToFileAction.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/actions/SaveStorageToFileAction.java @@ -25,14 +25,16 @@ package fr.ird.observe.ui.actions; import fr.ird.observe.ObserveContext; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.impl.H2DataSourceConfig; +import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.ObserveMainUIHandler; +import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.storage.StorageBackupUILauncher; import jaxx.runtime.SwingUtil; -import javax.swing.AbstractAction; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; -import static org.nuiton.i18n.I18n.t;import fr.ird.observe.ui.*; +import static org.nuiton.i18n.I18n.t; /** * Created on 1/17/15. @@ -40,7 +42,7 @@ import static org.nuiton.i18n.I18n.t;import fr.ird.observe.ui.*; * @author Tony Chemit - chemit@codelutin.com * @since 3.13 */ -public class SaveStorageToFileAction extends AbstractAction { +public class SaveStorageToFileAction extends AbstractObserveAction { private static final long serialVersionUID = 1L; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.