branch feature/6115_ajout_RTP updated (21a465e -> 863af8b)
This is an automated email from the git hooks/post-receive script. New change to branch feature/6115_ajout_RTP in repository tutti. See http://git.codelutin.com/tutti.git from 21a465e Début de l'éditeur des relations RTP, mais tout ne fonctionne pas encore.. (See #6115) new 05e8fca ajout du validateur + passage du tablemodel dans le model de l'editor (refs #6115) new 31522f4 ajout du validateur + passage du tablemodel dans l'editor (refs #6115) new 688fb26 reset le formulaire quand on quitte sans sauvegarder (refs #6115) new 863af8b On sauve seulement (on en ferme pas) quand on clique sur le bouton Enregistrer (refs #6115) The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 863af8bd3706e558cac9f0994b1d7ca15e159888 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 10:42:51 2016 +0100 On sauve seulement (on en ferme pas) quand on clique sur le bouton Enregistrer (refs #6115) commit 688fb26481f99b81a77e8003e35d3821b3c35795 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 13:43:05 2016 +0100 reset le formulaire quand on quitte sans sauvegarder (refs #6115) commit 31522f4ee809628eda7cf44cd890464d27d48513 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 11:38:54 2016 +0100 ajout du validateur + passage du tablemodel dans l'editor (refs #6115) commit 05e8fcab078fa28063c1c62ec00249fcc5bc89ba Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 11:37:29 2016 +0100 ajout du validateur + passage du tablemodel dans le model de l'editor (refs #6115) Summary of changes: .../ui/swing/content/protocol/rtp/RtpButton.java | 6 +- .../swing/content/protocol/rtp/RtpCellEditor.java | 2 +- .../ui/swing/content/protocol/rtp/RtpEditorUI.css | 26 +++---- .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 6 +- .../content/protocol/rtp/RtpEditorUIHandler.java | 83 +++++++++++++++++++--- .../content/protocol/rtp/RtpEditorUIModel.java | 27 +++++-- .../{CancelRtpAction.java => CloseRtpAction.java} | 7 +- .../protocol/rtp/actions/SaveRtpAction.java | 2 +- .../rtp/RtpEditorUIModel-error-validation.xml | 51 +++++++------ .../resources/i18n/tutti-ui-swing_en_GB.properties | 11 +++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 14 +++- 11 files changed, 176 insertions(+), 59 deletions(-) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/{CancelRtpAction.java => CloseRtpAction.java} (73%) copy tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/IndividualObservationBatch-edit-error-validation.xml => tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml (56%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/6115_ajout_RTP in repository tutti. See http://git.codelutin.com/tutti.git commit 05e8fcab078fa28063c1c62ec00249fcc5bc89ba Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 11:37:29 2016 +0100 ajout du validateur + passage du tablemodel dans le model de l'editor (refs #6115) --- .../rtp/RtpEditorUIModel-error-validation.xml | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml new file mode 100644 index 0000000..8eff41c --- /dev/null +++ b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + Tutti :: UI + %% + Copyright (C) 2012 - 2014 Ifremer + %% + 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% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="selectedSource"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.replaceTemporaryReferential.source.required + </message> + </field-validator> + </field> + + <field name="selectedTarget"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.replaceTemporaryReferential.target.required + </message> + </field-validator> + </field> + +</validators> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/6115_ajout_RTP in repository tutti. See http://git.codelutin.com/tutti.git commit 31522f4ee809628eda7cf44cd890464d27d48513 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 11:38:54 2016 +0100 ajout du validateur + passage du tablemodel dans l'editor (refs #6115) --- .../ui/swing/content/protocol/rtp/RtpButton.java | 6 +- .../swing/content/protocol/rtp/RtpCellEditor.java | 2 +- .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 4 +- .../content/protocol/rtp/RtpEditorUIHandler.java | 69 ++++++++++++++++++++-- .../content/protocol/rtp/RtpEditorUIModel.java | 14 +++-- .../protocol/rtp/actions/CancelRtpAction.java | 3 +- .../protocol/rtp/actions/SaveRtpAction.java | 2 - .../rtp/RtpEditorUIModel-error-validation.xml | 39 ++++++++++-- .../resources/i18n/tutti-ui-swing_en_GB.properties | 8 +++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 8 +++ 10 files changed, 132 insertions(+), 23 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java index 6a016dc..dd60643 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java @@ -1,6 +1,6 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import jaxx.runtime.SwingUtil; @@ -67,8 +67,8 @@ public class RtpButton extends JToggleButton { } - public void init(EditProtocolSpeciesRowModel model) { - popup.setBean(model); + public void init(EditProtocolSpeciesTableModel tableModel, int row) { + popup.setBean(tableModel, row); } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java index 0044160..bf76dad 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java @@ -68,7 +68,7 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor EditProtocolSpeciesRowModel model = tableModel.getEntry(row); - editorButton.init(model); + editorButton.init(tableModel, row); return editorButton; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx index 9324c25..ec1482c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx @@ -26,7 +26,7 @@ fr.ifremer.tutti.ui.swing.TuttiHelpBroker fr.ifremer.tutti.ui.swing.TuttiUIContext - fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel + fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil @@ -43,7 +43,7 @@ public RtpEditorUI(TuttiUI<?,?> parentUI) { TuttiUIUtil.setParentUI(this, parentUI); } -public void setBean(EditProtocolSpeciesRowModel bean) { handler.setBean(bean); } +public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { handler.setBean(tableModel, row); } public void openEditor() { handler.openEditor(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java index ebd800e..ca6841e 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java @@ -2,12 +2,16 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; +import jaxx.runtime.swing.ComponentMover; +import jaxx.runtime.swing.ComponentResizer; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.swing.JComponent; +import javax.swing.JOptionPane; import static org.nuiton.i18n.I18n.t; @@ -41,6 +45,12 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, ui.pack(); ui.setResizable(true); + ComponentResizer cr = new ComponentResizer(); + cr.registerComponent(ui); + ComponentMover cm = new ComponentMover(); + cm.setDragInsets(cr.getDragInsets()); + cm.registerComponent(ui); + } @Override @@ -50,7 +60,54 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, @Override public void onCloseUI() { - ui.dispose(); + + boolean result = true; + + RtpEditorUIModel model = getModel(); + + if (model.isModify()) { + if (model.isValid()) { + + result = quitUnsavedRtpForm(); + + } else { + + // model is not valid, ask user to continue or not + + result = askCancelEditBeforeLeaving( + t("tutti.rtpEdit.askCancelEditBeforeLeaving")); + } + } + + if (result) { + ui.dispose(); + } + } + + protected boolean quitUnsavedRtpForm() { + // ask if user want to save, do not save or cancel action + + boolean result; + + String message = t("tutti.rtpEdit.askSaveBeforeLeaving"); + + int answer = askSaveBeforeLeaving(message); + switch (answer) { + case JOptionPane.OK_OPTION: + getContext().getActionEngine().runAction(ui.getSaveButton()); + result = true; + break; + + case JOptionPane.NO_OPTION: + getContext().getActionEngine().runAction(ui.getCancelButton()); + result = true; + break; + + default: + // other case, use cancel action + result = false; + } + return result; } @Override @@ -58,7 +115,11 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, return ui.getValidator(); } - public void setBean(EditProtocolSpeciesRowModel rowModel) { + public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { + + getModel().setRowModel(tableModel, row); + + EditProtocolSpeciesRowModel rowModel = getModel().getRowModel(); Species species = rowModel.getSpecies(); @@ -70,8 +131,6 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, ui.getBodyPanel().setTitle(t("tutti.rtpEdit.title", decorate)); - getModel().setRowModel(rowModel); - } public void openEditor() { @@ -79,7 +138,7 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, } public void closeEditor() { - ui.dispose(); + onCloseUI(); } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java index 25a95b9..3b8bbc7 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java @@ -3,6 +3,7 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.protocol.RtpBean; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; /** @@ -25,7 +26,9 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci protected final Rtp rtpUndefined = new RtpBean(); - protected EditProtocolSpeciesRowModel rowModel; + protected EditProtocolSpeciesTableModel tableModel; + + protected int row; public RtpEditorUIModel() { super(null, null); @@ -102,9 +105,12 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci firePropertyChanged(PROPERTY_RTP_UNDEFINED_B, null, b); } - public void setRowModel(EditProtocolSpeciesRowModel rowModel) { + public void setRowModel(EditProtocolSpeciesTableModel tableModel, int row) { + + this.row = row; + this.tableModel = tableModel; - this.rowModel = rowModel; + EditProtocolSpeciesRowModel rowModel = tableModel.getEntry(row); Rtp rtpMale = rowModel.getRtpMale(); setRtpMaleA(rtpMale == null ? null : rtpMale.getA()); @@ -121,6 +127,6 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci } public EditProtocolSpeciesRowModel getRowModel() { - return rowModel; + return tableModel.getEntry(row); } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java index ef4b50c..ce215d0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java @@ -18,6 +18,7 @@ public class CancelRtpAction extends SimpleActionSupport<RtpEditorUI> { @Override protected void onActionPerformed(RtpEditorUI ui) { - ui.dispose(); + + ui.getHandler().closeEditor(); } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java index a2082b4..7f83ea3 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java @@ -30,7 +30,5 @@ public class SaveRtpAction extends SimpleActionSupport<RtpEditorUI> { rowModel.setRtpFemale(Rtps.newRtp(model.getRtpFemale())); rowModel.setRtpUndefined(Rtps.newRtp(model.getRtpUndefined())); - ui.dispose(); - } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml index 8eff41c..d704589 100644 --- a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml +++ b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel-error-validation.xml @@ -26,20 +26,49 @@ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> - <field name="selectedSource"> + <field name="rtpMaleA"> <field-validator type="required" short-circuit="true"> <message> - tutti.validator.error.replaceTemporaryReferential.source.required + tutti.validator.error.rtpEditor.rtpMaleA.required </message> </field-validator> </field> - - <field name="selectedTarget"> + <field name="rtpMaleB"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.rtpEditor.rtpMaleB.required + </message> + </field-validator> + </field> + <field name="rtpFemaleA"> <field-validator type="required" short-circuit="true"> <message> - tutti.validator.error.replaceTemporaryReferential.target.required + tutti.validator.error.rtpEditor.rtpFemaleA.required </message> </field-validator> </field> + <field name="rtpFemaleB"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.rtpEditor.rtpFemaleB.required + </message> + </field-validator> + </field> + <field name="rtpUndefinedA"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.rtpEditor.rtpUndefinedA.required + </message> + </field-validator> + </field> + <field name="rtpUndefinedB"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.validator.error.rtpEditor.rtpUndefinedB.required + </message> + </field-validator> + </field> + + </validators> diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 996ff6c..7b25bc9 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -2060,6 +2060,8 @@ tutti.report.title= tutti.report.title.choose.saveReportFile= tutti.resetCruise.action.cruiseReloaded= tutti.resetProgram.action.programReloaded= +tutti.rtpEdit.askCancelEditBeforeLeaving= +tutti.rtpEdit.askSaveBeforeLeaving= tutti.rtpEdit.title= tutti.selectBenthos.title= tutti.selectCruise.action.chooseCruiseExportFile= @@ -2288,6 +2290,12 @@ tutti.validator.error.report.cruiseId.required= tutti.validator.error.report.fishingOperation.required= tutti.validator.error.report.outputFile.required= tutti.validator.error.report.report.required= +tutti.validator.error.rtpEditor.rtpFemaleA.required= +tutti.validator.error.rtpEditor.rtpFemaleB.required= +tutti.validator.error.rtpEditor.rtpMaleA.required= +tutti.validator.error.rtpEditor.rtpMaleB.required= +tutti.validator.error.rtpEditor.rtpUndefinedA.required= +tutti.validator.error.rtpEditor.rtpUndefinedB.required= tutti.validator.error.speciesFrequency.incoherentTotalWeights= tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required= tutti.validator.error.speciesFrequency.oneRowRequired= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 6139b0f..d780e2a 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1913,6 +1913,8 @@ tutti.report.title=Rapports tutti.report.title.choose.saveReportFile=Enregistrer le rapport généré tutti.resetCruise.action.cruiseReloaded=<html><body>La campagne <strong>%s</strong> est rechargée</body></html>. tutti.resetProgram.action.programReloaded=<html><body>Le programme <strong>%s</strong> est rechargé</body></html>. +tutti.rtpEdit.askCancelEditBeforeLeaving= +tutti.rtpEdit.askSaveBeforeLeaving= tutti.rtpEdit.title=Édition des relations taille-poids de l'espèce %s tutti.selectBenthos.title=Choisissez une espèce du benthos tutti.selectCruise.action.chooseCruiseExportFile=Exporter @@ -2123,6 +2125,12 @@ tutti.validator.error.report.cruiseId.required=La campagne est obligatoire tutti.validator.error.report.fishingOperation.required=Un trait doit être sélectionné tutti.validator.error.report.outputFile.required=Le fichier de sortie est obligatoire tutti.validator.error.report.report.required=Un modèle de rapport doit être sélectionné +tutti.validator.error.rtpEditor.rtpFemaleA.required= +tutti.validator.error.rtpEditor.rtpFemaleB.required= +tutti.validator.error.rtpEditor.rtpMaleA.required= +tutti.validator.error.rtpEditor.rtpMaleB.required= +tutti.validator.error.rtpEditor.rtpUndefinedA.required= +tutti.validator.error.rtpEditor.rtpUndefinedB.required= tutti.validator.error.speciesFrequency.incoherentTotalWeights=Le poids total est différent de la somme des poids des poids observés tutti.validator.error.speciesFrequency.lengthStepCaracteristic.required=La classe de taille est obligatoire tutti.validator.error.speciesFrequency.oneRowRequired=Au moins une classe de taille doit être observée -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/6115_ajout_RTP in repository tutti. See http://git.codelutin.com/tutti.git commit 688fb26481f99b81a77e8003e35d3821b3c35795 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 18 13:43:05 2016 +0100 reset le formulaire quand on quitte sans sauvegarder (refs #6115) --- .../ui/swing/content/protocol/rtp/RtpEditorUI.css | 26 +++++++++++----------- .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 2 +- .../content/protocol/rtp/RtpEditorUIHandler.java | 15 ++++++++----- .../content/protocol/rtp/RtpEditorUIModel.java | 12 ++++++++++ .../{CancelRtpAction.java => CloseRtpAction.java} | 4 ++-- .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 +++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 +++ 7 files changed, 44 insertions(+), 21 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css index f266278..d47e59d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css @@ -22,7 +22,7 @@ NumberEditor { #rtpMaleAField { property:{RtpEditorUIModel.PROPERTY_RTP_MALE_A}; - numberValue: {model.getRtpMale().getA()};; + numberValue: {model.getRtpMaleA()};; _help: {"tutti.editRtp.field.rtpMaleA.help"}; } @@ -35,7 +35,7 @@ NumberEditor { #rtpMaleBField { property:{RtpEditorUIModel.PROPERTY_RTP_MALE_B}; - numberValue: {model.getRtpMale().getB()};; + numberValue: {model.getRtpMaleB()}; _help: {"tutti.editRtp.field.rtpMaleB.help"}; } @@ -48,7 +48,7 @@ NumberEditor { #rtpFemaleAField { property:{RtpEditorUIModel.PROPERTY_RTP_FEMALE_A}; - numberValue: {model.getRtpFemale().getA()};; + numberValue: {model.getRtpFemaleA()}; _help: {"tutti.editRtp.field.rtpFemaleA.help"}; } @@ -61,7 +61,7 @@ NumberEditor { #rtpFemaleBField { property:{RtpEditorUIModel.PROPERTY_RTP_FEMALE_B}; - numberValue: {model.getRtpFemale().getB()};; + numberValue: {model.getRtpFemaleB()}; _help: {"tutti.editRtp.field.rtpFemaleB.help"}; } @@ -74,7 +74,7 @@ NumberEditor { #rtpUndefinedAField { property:{RtpEditorUIModel.PROPERTY_RTP_UNDEFINED_A}; - numberValue: {model.getRtpUndefined().getA()};; + numberValue: {model.getRtpUndefinedA()}; _help: {"tutti.editRtp.field.rtpUndefinedA.help"}; } @@ -87,7 +87,7 @@ NumberEditor { #rtpUndefinedBField { property:{RtpEditorUIModel.PROPERTY_RTP_UNDEFINED_B}; - numberValue: {model.getRtpUndefined().getB()};; + numberValue: {model.getRtpUndefinedB()}; _help: {"tutti.editRtp.field.rtpUndefinedB.help"}; } @@ -101,11 +101,11 @@ NumberEditor { _help: {"tutti.editRtp.action.save.help"}; } -#cancelButton { - actionIcon: cancel; - text: "tutti.editRtp.action.cancel"; - toolTipText: "tutti.editRtp.action.cancel.tip"; - i18nMnemonic: "tutti.editRtp.action.cancel.mnemonic"; - _simpleAction: {fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions.CancelRtpAction.class}; - _help: {"tutti.editRtp.action.cancel.help"}; +#closeButton { + actionIcon: close; + text: "tutti.editRtp.action.close"; + toolTipText: "tutti.editRtp.action.close.tip"; + i18nMnemonic: "tutti.editRtp.action.close.mnemonic"; + _simpleAction: {fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions.CloseRtpAction.class}; + _help: {"tutti.editRtp.action.close.help"}; } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx index ec1482c..9c0bf66 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx @@ -141,7 +141,7 @@ public void closeEditor() { handler.closeEditor(); } </JXTitledPanel> <JPanel id="actions" constraints='BorderLayout.SOUTH' layout="{new GridLayout(1, 2)}"> - <JButton id='cancelButton'/> + <JButton id='closeButton'/> <JButton id='saveButton'/> </JPanel> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java index ca6841e..2ff199b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java @@ -80,6 +80,7 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, } if (result) { + getModel().reset(); ui.dispose(); } } @@ -93,13 +94,12 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, int answer = askSaveBeforeLeaving(message); switch (answer) { - case JOptionPane.OK_OPTION: + case JOptionPane.YES_OPTION: getContext().getActionEngine().runAction(ui.getSaveButton()); result = true; break; case JOptionPane.NO_OPTION: - getContext().getActionEngine().runAction(ui.getCancelButton()); result = true; break; @@ -117,9 +117,11 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { - getModel().setRowModel(tableModel, row); + RtpEditorUIModel model = getModel(); + + model.setRowModel(tableModel, row); - EditProtocolSpeciesRowModel rowModel = getModel().getRowModel(); + EditProtocolSpeciesRowModel rowModel = model.getRowModel(); Species species = rowModel.getSpecies(); @@ -131,6 +133,10 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, ui.getBodyPanel().setTitle(t("tutti.rtpEdit.title", decorate)); + if (log.isInfoEnabled()) { + log.info("model valid " + model.isValid()); + log.info("model modified " + model.isModify()); + } } public void openEditor() { @@ -140,5 +146,4 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, public void closeEditor() { onCloseUI(); } - } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java index 3b8bbc7..a3d47a7 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java @@ -5,6 +5,8 @@ import fr.ifremer.tutti.persistence.entities.protocol.RtpBean; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * Created on 14/01/16. @@ -13,6 +15,9 @@ import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; */ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeciesRowModel, RtpEditorUIModel> { + /** Logger. */ + private static final Log log = LogFactory.getLog(RtpEditorUIModel.class); + public static final String PROPERTY_RTP_MALE_A = "rtpMaleA"; public static final String PROPERTY_RTP_MALE_B = "rtpMaleB"; public static final String PROPERTY_RTP_FEMALE_A = "rtpFemaleA"; @@ -107,6 +112,9 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public void setRowModel(EditProtocolSpeciesTableModel tableModel, int row) { + if (log.isInfoEnabled()) { + log.info("setRowModel " + row); + } this.row = row; this.tableModel = tableModel; @@ -129,4 +137,8 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public EditProtocolSpeciesRowModel getRowModel() { return tableModel.getEntry(row); } + + public void reset() { + setRowModel(tableModel, row); + } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CloseRtpAction.java similarity index 80% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CloseRtpAction.java index ce215d0..944f0f4 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CloseRtpAction.java @@ -8,11 +8,11 @@ import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; * * @author Tony Chemit - chemit@codelutin.com */ -public class CancelRtpAction extends SimpleActionSupport<RtpEditorUI> { +public class CloseRtpAction extends SimpleActionSupport<RtpEditorUI> { private static final long serialVersionUID = 1L; - public CancelRtpAction(RtpEditorUI ui) { + public CloseRtpAction(RtpEditorUI ui) { super(ui); } diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 7b25bc9..bc20674 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1128,6 +1128,9 @@ tutti.editProtocol.warn.import= tutti.editRtp.action.cancel= tutti.editRtp.action.cancel.mnemonic= tutti.editRtp.action.cancel.tip= +tutti.editRtp.action.close= +tutti.editRtp.action.close.mnemonic= +tutti.editRtp.action.close.tip= tutti.editRtp.action.save= tutti.editRtp.action.save.mnemonic= tutti.editRtp.action.save.tip= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index d780e2a..8c02eed 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1076,6 +1076,9 @@ tutti.editProtocol.warn.import=Le protocole que vous venez d'importer ne sera sa tutti.editRtp.action.cancel=Annuler tutti.editRtp.action.cancel.mnemonic=A tutti.editRtp.action.cancel.tip=Annuler l'édition des RTP +tutti.editRtp.action.close= +tutti.editRtp.action.close.mnemonic= +tutti.editRtp.action.close.tip= tutti.editRtp.action.save=Enregistrer tutti.editRtp.action.save.mnemonic=E tutti.editRtp.action.save.tip=Enregister les RTP -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/6115_ajout_RTP in repository tutti. See http://git.codelutin.com/tutti.git commit 863af8bd3706e558cac9f0994b1d7ca15e159888 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 10:42:51 2016 +0100 On sauve seulement (on en ferme pas) quand on clique sur le bouton Enregistrer (refs #6115) --- .../tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java | 7 +++++-- .../tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java | 1 + .../ui/swing/content/protocol/rtp/actions/SaveRtpAction.java | 2 ++ .../src/main/resources/i18n/tutti-ui-swing_fr_FR.properties | 9 +++------ 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java index 2ff199b..62bd254 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java @@ -31,8 +31,6 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, RtpEditorUIModel model = new RtpEditorUIModel(); - listModelIsModify(model); - this.ui.setContextValue(model); } @@ -51,6 +49,9 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, cm.setDragInsets(cr.getDragInsets()); cm.registerComponent(ui); + RtpEditorUIModel model = getModel(); + listModelIsModify(model); + listenValidatorValid(ui.getValidator(), model); } @Override @@ -121,6 +122,8 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, model.setRowModel(tableModel, row); + model.setModify(false); + EditProtocolSpeciesRowModel rowModel = model.getRowModel(); Species species = rowModel.getSpecies(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java index a3d47a7..c078631 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java @@ -140,5 +140,6 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public void reset() { setRowModel(tableModel, row); + setModify(false); } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java index 7f83ea3..0e00ba1 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java @@ -30,5 +30,7 @@ public class SaveRtpAction extends SimpleActionSupport<RtpEditorUI> { rowModel.setRtpFemale(Rtps.newRtp(model.getRtpFemale())); rowModel.setRtpUndefined(Rtps.newRtp(model.getRtpUndefined())); + model.setModify(false); + } } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 8c02eed..7591365 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1073,12 +1073,9 @@ tutti.editProtocol.title.edit.protocol=Éditer un protocole de saisie existant tutti.editProtocol.warn.clean=Des catégories non reconnues ont été supprimées du protocole, ces modifications ne seront sauvegardées que lorsque vous cliquerez sur le bouton "Enregistrer". tutti.editProtocol.warn.clone=Le protocole que vous venez de cloner ne sera sauvegardé que lorsque vous cliquerez sur le bouton "Enregistrer". tutti.editProtocol.warn.import=Le protocole que vous venez d'importer ne sera sauvegardé que lorsque vous cliquerez sur le bouton "Enregistrer". -tutti.editRtp.action.cancel=Annuler -tutti.editRtp.action.cancel.mnemonic=A -tutti.editRtp.action.cancel.tip=Annuler l'édition des RTP -tutti.editRtp.action.close= -tutti.editRtp.action.close.mnemonic= -tutti.editRtp.action.close.tip= +tutti.editRtp.action.close=Fermer +tutti.editRtp.action.close.mnemonic=F +tutti.editRtp.action.close.tip=Fermer l'éditeur des RTP tutti.editRtp.action.save=Enregistrer tutti.editRtp.action.save.mnemonic=E tutti.editRtp.action.save.tip=Enregister les RTP -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm