This is an automated email from the git hooks/post-receive script. New commit to branch feature/7930 in repository tutti. See http://git.codelutin.com/tutti.git commit 384ff900bb7683a7dd06300782638930f748cd3d Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Feb 8 23:24:19 2016 +0100 Filtrer les protocoles par série de campagne --- .../ui/swing/content/home/SelectCruiseUI.jcss | 4 ++++ .../swing/content/home/SelectCruiseUIHandler.java | 25 ++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jcss index ec38029..d73a27c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jcss @@ -163,6 +163,7 @@ BeanFilterableComboBox { actionIcon: add; text: "tutti.selectCruise.action.newProtocol"; _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.NewProtocolAction.class}; + enabled: {model.isProgramFound()}; toolTipText: "tutti.selectCruise.action.newProtocol.tip"; _help: {"tutti.selectCruise.action.newProtocol.help"}; } @@ -171,6 +172,7 @@ BeanFilterableComboBox { actionIcon: import; text: "tutti.selectCruise.action.importProtocol"; _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.ImportProtocolAction.class}; + enabled: {model.isProgramFound()}; toolTipText: "tutti.selectCruise.action.importProtocol.tip"; _help: {"tutti.selectCruise.action.importProtocol.help"}; } @@ -180,6 +182,7 @@ BeanFilterableComboBox { text: "tutti.selectCruise.action.editProtocol"; _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.EditProtocolAction.class}; toolTipText: "tutti.selectCruise.action.editProtocol.tip"; + enabled: {model.isProtocolFound() && model.isProgramFound()}; _help: {"tutti.selectCruise.action.editProtocol.help"}; } @@ -188,6 +191,7 @@ BeanFilterableComboBox { text: "tutti.selectCruise.action.cloneProtocol"; _applicationAction: {fr.ifremer.tutti.ui.swing.content.home.actions.CloneProtocolAction.class}; toolTipText: "tutti.selectCruise.action.cloneProtocol.tip"; + enabled: {model.isProtocolFound() && model.isProgramFound()}; _help: {"tutti.selectCruise.action.cloneProtocol.help"}; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java index eb0e6b4..1c858c5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java @@ -68,6 +68,8 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI List<Program> programs = Lists.newArrayList(persistenceService.getAllProgram()); model.setPrograms(programs); + Program selectedProgram = null; + if (programs.isEmpty()) { // do nothing @@ -78,7 +80,7 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI // get selected program (if any) - Program selectedProgram = null; + List<Cruise> cruises = null; if (getContext().isProgramFilled()) { selectedProgram = getDataContext().getProgram(); @@ -105,7 +107,7 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI } List<TuttiProtocol> protocols = - Lists.newArrayList(persistenceService.getAllProtocol()); + Lists.newArrayList(persistenceService.getAllProtocol(selectedProgram == null ? null : selectedProgram.getId())); model.setProtocols(protocols); if (protocols.isEmpty()) { @@ -164,14 +166,20 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI log.info("Selected program: " + newValue); } List<Cruise> cruises; + List<TuttiProtocol> protocols; if (noProgram) { cruises = Lists.newArrayList(); + protocols = Lists.newArrayList(getPersistenceService().getAllProtocol(null)); + } else { cruises = Lists.newArrayList(getPersistenceService().getAllCruise(newValue.getId())); + protocols = Lists.newArrayList(getPersistenceService().getAllProtocol(newValue.getId())); } SelectCruiseUIModel source = (SelectCruiseUIModel) evt.getSource(); source.setCruises(cruises); source.setCruise(null); + source.setProtocols(protocols); + source.setProtocol(null); } }); @@ -196,6 +204,19 @@ public class SelectCruiseUIHandler extends AbstractTuttiUIHandler<SelectCruiseUI } }); + model.addPropertyChangeListener(SelectCruiseUIModel.PROPERTY_PROTOCOLS, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + // reload combo box + BeanFilterableComboBox<TuttiProtocol> combobox = SelectCruiseUIHandler.this.ui.getProtocolCombobox(); + List<TuttiProtocol> protocols = (List<TuttiProtocol>) evt.getNewValue(); + combobox.setData(null); + if (protocols != null) { + combobox.setData(protocols); + } + } + }); + model.addPropertyChangeListener(SelectCruiseUIModel.PROPERTY_PROTOCOL, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.