Author: tchemit Date: 2013-03-13 14:30:25 +0100 (Wed, 13 Mar 2013) New Revision: 607 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/607 Log: fixes #2131: Saisie possible des captures d'une campagne dont la s?\195?\169rie n'a pas de zone Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-03-13 13:30:25 UTC (rev 607) @@ -32,6 +32,17 @@ _help: {"tuttihelp.selectCruise.help"}; } +#warningContainer { + background: {new java.awt.Color(245, 218, 88)}; + visible: {!model.isProgramValid()}; +} + +#warningLabel { + actionIcon: warning; + border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)}; + text: "tutti.warn.invalid.program"; +} + #programLabel { text: "tutti.label.program"; actionIcon: program; @@ -186,7 +197,7 @@ text: "tutti.action.editCatches"; mnemonic: E; _tuttiAction: {EditCatchesAction.class}; - enabled: {model.isValid() && uiContext.isCruiseFilled()}; + enabled: {model.isProgramValid() && uiContext.isCruiseFilled()}; toolTipText: "tuttihelp.selectCruise.action.editCatches.tip"; _help: {"tuttihelp.selectCruise.action.editCatches.help"}; } @@ -197,6 +208,6 @@ toolTipText: "tuttihelp.selectCruise.action.validateCatches.tip"; mnemonic: V; _tuttiAction: {ValidateCatchesAction.class}; - enabled: {model.isValid() && uiContext.isCruiseFilled()}; + enabled: {model.isProgramValid() && uiContext.isCruiseFilled()}; _help: {"tuttihelp.selectCruise.action.validateCatches.help"}; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-13 13:30:25 UTC (rev 607) @@ -82,6 +82,13 @@ <Table fill='both' constraints='BorderLayout.CENTER'> <row> + <cell columns="3"> + <JPanel id='warningContainer' layout='{new BorderLayout(10, 10)}'> + <JLabel id='warningLabel' constraints='BorderLayout.CENTER'/> + </JPanel> + </cell> + </row> + <row> <cell anchor='west'> <JLabel id='programLabel'/> </cell> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-13 13:30:25 UTC (rev 607) @@ -173,14 +173,17 @@ Program newValue = (Program) evt.getNewValue(); boolean noProgram = newValue == null; context.setProgramId(noProgram ? null : newValue.getId()); - List<Cruise> campaigns; + if (log.isInfoEnabled()) { + log.info("Selected program: "+newValue); + } + List<Cruise> cruises; if (noProgram) { - campaigns = Lists.newArrayList(); + cruises = Lists.newArrayList(); } else { - campaigns = persistenceService.getAllCruise(newValue.getId()); + cruises = persistenceService.getAllCruise(newValue.getId()); } SelectCruiseUIModel source = (SelectCruiseUIModel) evt.getSource(); - source.setCruises(campaigns); + source.setCruises(cruises); source.setCruise(null); } }); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-13 13:30:25 UTC (rev 607) @@ -45,6 +45,8 @@ public static final String PROPERTY_PROGRAM = "program"; + public static final String PROPERTY_PROGRAM_VALID = "programValid"; + public static final String PROPERTY_CRUISES = "cruises"; public static final String PROPERTY_CRUISE = "cruise"; @@ -94,12 +96,17 @@ this.program = program; firePropertyChange(PROPERTY_PROGRAM, oldValue, program); firePropertyChange(PROPERTY_PROGRAM_FOUND, oldValue != null, program != null); + firePropertyChange(PROPERTY_PROGRAM_VALID, null, isProgramValid()); } public boolean isProgramFound() { return program != null; } + public boolean isProgramValid() { + return program == null || program.getZone() != null; + } + public List<Cruise> getCruises() { return cruises; } Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 13:30:25 UTC (rev 607) @@ -532,6 +532,7 @@ tutti.validator.warning.longitude.outOfBounds= tutti.validator.warning.longitude.second.outOfBounds= tutti.warn.invalid.batch.model= +tutti.warn.invalid.program= tutti.weights.rate.difference.totalAndSorted.description= tuttihelp.createSpeciesBatch.action.addSpecies.tip= tuttihelp.createSpeciesBatch.action.cancel.tip= Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-13 12:08:40 UTC (rev 606) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-13 13:30:25 UTC (rev 607) @@ -552,6 +552,7 @@ tutti.validator.warning.longitude.outOfBounds=La Latitude doit être comprise entre -180.0 et 180.0 tutti.validator.warning.longitude.second.outOfBounds=La seconde de la longitude doit être comprise entre 0 et 60 tutti.warn.invalid.batch.model=L'arbre d'échantillonage n'est pas compatible. Les captures ne seront pas visibles. +tutti.warn.invalid.program=Le programme sélectionné ne possède pas de zone, il ne peut pas être édité. tuttihelp.createSpeciesBatch.action.addSpecies.tip=Sélectionner une autre espèce tuttihelp.createSpeciesBatch.action.cancel.tip= tuttihelp.createSpeciesBatch.action.save.tip=