branch develop updated (2db8dc6 -> 6c08e82)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 2db8dc6 Uniformisation des tailles des boutons dans les autres écrans (See #7926) new 10126e9 Ajout du model de RTP sur SpeciesProtocol (See #6115) new 9a93ee2 Début de l'éditeur des relations RTP, mais tout ne fonctionne pas encore.. (See #6115) new f1ea25f ajout du validateur + passage du tablemodel dans le model de l'editor (refs #6115) new 0f712f8 ajout du validateur + passage du tablemodel dans l'editor (refs #6115) new 952635a reset le formulaire quand on quitte sans sauvegarder (refs #6115) new acc92af On sauve seulement (on en ferme pas) quand on clique sur le bouton Enregistrer (refs #6115) new f71d3c3 nouvelle extension des fichiers css + libellés (refs #6115) new fe65501 correction renderer (refs #6115) new 673fd6f ajout des actions pour naviguer dans le tableau (refs #6115) new 5b9c6e6 conversion entre index de vue et de modele (refs #6115) new 5e85a68 check des modifs quand on navigue (refs #6115) new d529bb6 repasser les dialog au dessus de l'editeur (refs #6115) new 13442b2 ajout des valuers des rtp en tooltip (refs #6115) new ee34990 modif de l'icone des rtp + mise en forme du tooltip + highlighter (refs #6115) new 514e59e suppression code commenté new 5fc1d70 Renommage titre new c03118d centrer sur la fenetre principale l'éditeur de rtp new 25d2b53 Bien modifier le modèle du tableau lorsqu'on enregistre un RTP new 6c08e82 Fixes #6115 Merge branch 'feature/6115_ajout_RTP' into develop The 19 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 6c08e824f694f06f01c0a20d8689d5720c72095b Merge: 2db8dc6 25d2b53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 17:18:52 2016 +0100 Fixes #6115 Merge branch 'feature/6115_ajout_RTP' into develop commit 25d2b532e25ef09321d9f393c06e4c2250d5df64 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 17:18:18 2016 +0100 Bien modifier le modèle du tableau lorsqu'on enregistre un RTP commit c03118d215c2a0791e448d058dc0bd24f716c749 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 16:21:46 2016 +0100 centrer sur la fenetre principale l'éditeur de rtp commit 5fc1d700f87e4882e16aeb721e22df5430022579 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 15:47:33 2016 +0100 Renommage titre commit 514e59e21934f1a6c9418f3dabb760bd8035997e Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 15:47:21 2016 +0100 suppression code commenté commit ee3499057b3a9c47533b921de1190b4bc33680f0 Author: Kevin Morin <morin@codelutin.com> Date: Wed Jan 20 12:12:46 2016 +0100 modif de l'icone des rtp + mise en forme du tooltip + highlighter (refs #6115) commit 13442b2f604852c62fe46ce8f1b9394af69ef52b Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 17:54:00 2016 +0100 ajout des valuers des rtp en tooltip (refs #6115) commit d529bb6629c960ab9fe920cfc0a2a1b32b7d1899 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 16:03:57 2016 +0100 repasser les dialog au dessus de l'editeur (refs #6115) commit 5e85a68da6b306a9cda70cf1d5a27591d55fd4b1 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 15:58:06 2016 +0100 check des modifs quand on navigue (refs #6115) commit 5b9c6e61d57621541c66e8d6a3904862e69ea8e8 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 14:39:26 2016 +0100 conversion entre index de vue et de modele (refs #6115) commit 673fd6feb75ee88d2bec7662d4b510a8d22db618 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 12:32:42 2016 +0100 ajout des actions pour naviguer dans le tableau (refs #6115) commit fe655010e79b9ba743da66b48e36cac01e25d536 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 11:51:31 2016 +0100 correction renderer (refs #6115) commit f71d3c349912265fab089e028327385dd1bfaa36 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 11:23:02 2016 +0100 nouvelle extension des fichiers css + libellés (refs #6115) commit acc92afe0655dc991650ea360f7aa2712eb2b44c 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 952635aa6736aad982c57f62cb3203ebfe80a26b 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 0f712f86b194f6afd8423b479faa6b25a63ef6d0 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 f1ea25f664b5aceeff706bd5aa2ed0f1165a10f5 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) commit 9a93ee20a06ae570cea3cf8e43637b06968e000e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 14 22:57:42 2016 +0100 Début de l'éditeur des relations RTP, mais tout ne fonctionne pas encore.. (See #6115) commit 10126e9d2d33df2156ae931e6159d8ed8fbe12f4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 14 21:50:35 2016 +0100 Ajout du model de RTP sur SpeciesProtocol (See #6115) Summary of changes: .../entities/protocol/SpeciesProtocolBean.java | 25 +++ .../src/main/xmi/tutti-persistence.zargo | Bin 58480 -> 59339 bytes .../fr/ifremer/tutti/service/DecoratorService.java | 2 + .../protocol/EditProtocolSpeciesRowModel.java | 74 ++++++- .../protocol/EditProtocolSpeciesTableModel.java | 5 + .../ui/swing/content/protocol/EditProtocolUI.jaxx | 3 + .../content/protocol/EditProtocolUIHandler.java | 42 ++++ .../ui/swing/content/protocol/rtp/RtpButton.java | 75 ++++++++ .../swing/content/protocol/rtp/RtpCellEditor.java | 73 +++++++ .../content/protocol/rtp/RtpCellRenderer.java | 104 ++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 156 +++++++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jcss | 131 +++++++++++++ .../content/protocol/rtp/RtpEditorUIHandler.java | 167 ++++++++++++++++ .../content/protocol/rtp/RtpEditorUIModel.java | 212 +++++++++++++++++++++ .../protocol/rtp/actions/CloseRtpAction.java | 24 +++ .../protocol/rtp/actions/EditNextRowAction.java | 24 +++ .../rtp/actions/EditPreviousRowAction.java | 25 +++ .../protocol/rtp/actions/SaveRtpAction.java | 27 +++ .../rtp/RtpEditorUIModel-error-validation.xml | 51 +++-- .../resources/i18n/tutti-ui-swing_en_GB.properties | 56 ++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 40 ++++ .../src/main/resources/icons/action-edit-rtp.png | Bin 0 -> 543 bytes .../src/main/resources/icons/action-next.png | Bin 0 -> 395 bytes .../src/main/resources/icons/action-previous.png | Bin 0 -> 389 bytes 24 files changed, 1294 insertions(+), 22 deletions(-) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/SpeciesProtocolBean.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CloseRtpAction.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java 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%) create mode 100644 tutti-ui-swing/src/main/resources/icons/action-edit-rtp.png create mode 100644 tutti-ui-swing/src/main/resources/icons/action-next.png create mode 100644 tutti-ui-swing/src/main/resources/icons/action-previous.png -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 10126e9d2d33df2156ae931e6159d8ed8fbe12f4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 14 21:50:35 2016 +0100 Ajout du model de RTP sur SpeciesProtocol (See #6115) --- .../entities/protocol/SpeciesProtocolBean.java | 25 +++++++++++++++++++++ .../src/main/xmi/tutti-persistence.zargo | Bin 58480 -> 59339 bytes 2 files changed, 25 insertions(+) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/SpeciesProtocolBean.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/SpeciesProtocolBean.java new file mode 100644 index 0000000..6361366 --- /dev/null +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/SpeciesProtocolBean.java @@ -0,0 +1,25 @@ +package fr.ifremer.tutti.persistence.entities.protocol; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesProtocolBean extends AbstractSpeciesProtocolBean { + + @Override + public boolean withRtpMale() { + return rtpMale != null; + } + + @Override + public boolean withRtpFemale() { + return rtpFemale != null; + } + + @Override + public boolean withRtpUndefined() { + return rtpUndefined != null; + } + +} diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.zargo b/tutti-persistence/src/main/xmi/tutti-persistence.zargo index 656c0df..1545a4d 100644 Binary files a/tutti-persistence/src/main/xmi/tutti-persistence.zargo and b/tutti-persistence/src/main/xmi/tutti-persistence.zargo differ -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 9a93ee20a06ae570cea3cf8e43637b06968e000e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 14 22:57:42 2016 +0100 Début de l'éditeur des relations RTP, mais tout ne fonctionne pas encore.. (See #6115) --- .../protocol/EditProtocolSpeciesRowModel.java | 74 ++++++++++- .../protocol/EditProtocolSpeciesTableModel.java | 5 + .../ui/swing/content/protocol/EditProtocolUI.jaxx | 3 + .../content/protocol/EditProtocolUIHandler.java | 11 ++ .../ui/swing/content/protocol/rtp/RtpButton.java | 74 +++++++++++ .../swing/content/protocol/rtp/RtpCellEditor.java | 101 ++++++++++++++ .../content/protocol/rtp/RtpCellRenderer.java | 91 +++++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.css | 111 ++++++++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 148 +++++++++++++++++++++ .../content/protocol/rtp/RtpEditorUIHandler.java | 85 ++++++++++++ .../content/protocol/rtp/RtpEditorUIModel.java | 126 ++++++++++++++++++ .../protocol/rtp/actions/CancelRtpAction.java | 23 ++++ .../protocol/rtp/actions/SaveRtpAction.java | 36 +++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 41 ++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 28 ++++ 15 files changed, 955 insertions(+), 2 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java index 3585692..505d2a3 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java @@ -22,6 +22,7 @@ package fr.ifremer.tutti.ui.swing.content.protocol; * #L% */ +import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocols; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; @@ -53,6 +54,8 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie public static final String PROPERTY_CALCIFY_SAMPLE_ENABLED = "calcifySampleEnabled"; + public static final String PROPERTY_USE_RTP = "useRtp"; + protected Species species; protected String speciesSurveyCode; @@ -67,13 +70,19 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie protected List<Integer> mandatorySampleCategoryId; + protected Rtp rtpMale; + + protected Rtp rtpFemale; + + protected Rtp rtpUndefined; + protected static final Binder<SpeciesProtocol, EditProtocolSpeciesRowModel> fromBeanBinder = BinderFactory.newBinder(SpeciesProtocol.class, - EditProtocolSpeciesRowModel.class); + EditProtocolSpeciesRowModel.class); protected static final Binder<EditProtocolSpeciesRowModel, SpeciesProtocol> toBeanBinder = BinderFactory.newBinder(EditProtocolSpeciesRowModel.class, - SpeciesProtocol.class); + SpeciesProtocol.class); public EditProtocolSpeciesRowModel() { super(fromBeanBinder, toBeanBinder); @@ -248,4 +257,65 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie this.mandatorySampleCategoryId = mandatorySampleCategoryId; firePropertyChange(PROPERTY_MANDATORY_SAMPLE_CATEGORY_ID, null, mandatorySampleCategoryId); } + + public boolean isUseRtp() { + return withRtpFemale() && withRtpMale() && withRtpUndefined(); + } + + public void setUseRtp(boolean useRtp) { +// Object oldValue = isUseRtp(); +// this.useRtp = useRtp; + // Normalement pas utilisé + firePropertyChange(PROPERTY_USE_RTP, null, useRtp); + } + + @Override + public Rtp getRtpMale() { + return rtpMale; + } + + @Override + public void setRtpMale(Rtp rtpMale) { + Object oldValue = getRtpMale(); + this.rtpMale = rtpMale; + firePropertyChange(PROPERTY_RTP_MALE, oldValue, rtpMale); + } + + @Override + public Rtp getRtpFemale() { + return rtpFemale; + } + + @Override + public void setRtpFemale(Rtp rtpFemale) { + Object oldValue = getRtpFemale(); + this.rtpFemale = rtpFemale; + firePropertyChange(PROPERTY_RTP_FEMALE, oldValue, rtpFemale); + } + + @Override + public Rtp getRtpUndefined() { + return rtpUndefined; + } + + public void setRtpUndefined(Rtp rtpUndefined) { + Object oldValue = getRtpUndefined(); + this.rtpUndefined = rtpUndefined; + firePropertyChange(PROPERTY_RTP_UNDEFINED, oldValue, rtpUndefined); + } + + @Override + public boolean withRtpMale() { + return rtpMale != null; + } + + @Override + public boolean withRtpFemale() { + return rtpFemale != null; + } + + @Override + public boolean withRtpUndefined() { + return rtpUndefined != null; + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java index 56020d9..e1aae83 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java @@ -69,6 +69,11 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel n("tutti.editProtocol.table.header.calcifySample"), n("tutti.editProtocol.table.header.calcifySample.tip")); + public static final ColumnIdentifier<EditProtocolSpeciesRowModel> USE_RTP = ColumnIdentifier.newId( + EditProtocolSpeciesRowModel.PROPERTY_USE_RTP, + n("tutti.editProtocol.table.header.useRtp"), + n("tutti.editProtocol.table.header.useRtp.tip")); + protected final SampleCategoryModel sampleCategoryModel; private static final long serialVersionUID = 1L; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx index eaf6be8..5dd2e0d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx @@ -27,6 +27,7 @@ fr.ifremer.tutti.persistence.entities.referential.Species fr.ifremer.tutti.ui.swing.TuttiHelpBroker + fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil @@ -57,6 +58,8 @@ <TuttiHelpBroker id='broker' constructorParams='"tutti.editProtocol.help"'/> + <RtpEditorUI id='rtpEditorUI' constructorParams='this'/> + <BeanValidator id='validator' bean='model' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> <field name='name' component='nameField'/> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 0292e00..4b21d16 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -49,6 +49,8 @@ import fr.ifremer.tutti.ui.swing.content.home.actions.CloneProtocolAction; import fr.ifremer.tutti.ui.swing.content.home.actions.EditProtocolAction; import fr.ifremer.tutti.ui.swing.content.home.actions.ImportProtocolAction; import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesAbleBatchRowHelper; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpCellEditor; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpCellRenderer; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.editor.bean.BeanDoubleList; @@ -383,6 +385,10 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI } addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); + addColumnToModel(columnModel, + RtpCellEditor.newEditor(ui), + new RtpCellRenderer(), + EditProtocolSpeciesTableModel.USE_RTP); initTable(table, columnModel, @@ -444,6 +450,11 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); + addColumnToModel(columnModel, + RtpCellEditor.newEditor(ui), + new RtpCellRenderer(), + EditProtocolSpeciesTableModel.USE_RTP); + initTable(table, columnModel, speciesColumn, 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 new file mode 100644 index 0000000..6a016dc --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java @@ -0,0 +1,74 @@ +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.EditProtocolUI; +import jaxx.runtime.SwingUtil; + +import javax.swing.JToggleButton; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RtpButton extends JToggleButton { + + private static final long serialVersionUID = 1L; + + protected final RtpEditorUI popup; + + public RtpButton(final EditProtocolUI ui) { + + setIcon(SwingUtil.createActionIcon("edit-attachment")); + setText(t("tutti.editRtp.button")); + setToolTipText(t("tutti.editRtp.button.tip")); + + popup = ui.getRtpEditorUI(); + + popup.addWindowListener(new WindowAdapter() { + + @Override + public void windowOpened(WindowEvent e) { + setSelected(true); + } + + @Override + public void windowClosing(WindowEvent e) { + setSelected(false); + } + + @Override + public void windowClosed(WindowEvent e) { + + setSelected(false); + } + }); + + addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + if (isSelected()) { + if (!popup.isVisible()) { + SwingUtil.center(ui, popup); + popup.openEditor(); + } + } +// else { +// popup.closeEditor(); +// } + } + }); + + } + + public void init(EditProtocolSpeciesRowModel model) { + popup.setBean(model); + } + +} \ 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 new file mode 100644 index 0000000..0044160 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellEditor.java @@ -0,0 +1,101 @@ +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 javax.swing.AbstractCellEditor; +import javax.swing.JTable; +import javax.swing.border.LineBorder; +import javax.swing.event.CellEditorListener; +import javax.swing.event.ChangeEvent; +import javax.swing.table.TableCellEditor; +import java.awt.Color; +import java.awt.Component; +import java.util.EventObject; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor { + + private static final long serialVersionUID = 1L; + + public static TableCellEditor newEditor(EditProtocolUI ui) { + return new RtpCellEditor(ui); + } + + protected JTable table; + + protected EditProtocolSpeciesTableModel tableModel; + + protected Integer rowIndex; + + protected Integer columnIndex; + + protected final RtpButton editorButton; + + public RtpCellEditor(EditProtocolUI context) { + + this.editorButton = new RtpButton(context); + this.editorButton.setBorder(new LineBorder(Color.BLACK)); + addCellEditorListener(new CellEditorListener() { + @Override + public void editingStopped(ChangeEvent e) { + editorButton.setSelected(false); + } + + @Override + public void editingCanceled(ChangeEvent e) { + editorButton.setSelected(false); + } + }); + } + + @Override + public Component getTableCellEditorComponent(JTable table, + Object value, + boolean isSelected, + int row, + int column) { + this.table = table; + this.tableModel = (EditProtocolSpeciesTableModel) table.getModel(); + + rowIndex = row; + columnIndex = column; + + EditProtocolSpeciesRowModel model = tableModel.getEntry(row); + + editorButton.init(model); + + return editorButton; + } + + @Override + public boolean shouldSelectCell(EventObject anEvent) { + return false; + } + + @Override + public Object getCellEditorValue() { + + return true; + } + +// @Override +// public boolean stopCellEditing() { +// boolean b = super.stopCellEditing(); +// if (b) { +// editorButton.setBean(null); +// } +// return b; +// } +// +// @Override +// public void cancelCellEditing() { +// editorButton.setBean(null); +// super.cancelCellEditing(); +// } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java new file mode 100644 index 0000000..a924aef --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -0,0 +1,91 @@ +package fr.ifremer.tutti.ui.swing.content.protocol.rtp; + +import jaxx.runtime.SwingUtil; + +import javax.swing.JComponent; +import javax.swing.JTable; +import javax.swing.UIManager; +import javax.swing.table.DefaultTableCellRenderer; +import java.awt.Color; +import java.awt.Font; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RtpCellRenderer extends DefaultTableCellRenderer { + + public static final String TEXT_PATTERN = "<html><body>%s</body></html>"; + + private static final long serialVersionUID = 1L; + + private final String withoutRtp; + + private final String withRtp; + + private Font defaulfFont; + + private Font selectedFont; + + public RtpCellRenderer() { + setHorizontalAlignment(CENTER); + setIcon(SwingUtil.createActionIcon("edit-attachment")); + this.withoutRtp = n("tutti.editRtp.withoutRtp.tip"); + this.withRtp = n("tutti.editRtp.withRtp.tip"); + } + + @Override + protected void setValue(Object value) { + // do nothing + } + + @Override + public JComponent getTableCellRendererComponent(JTable table, + Object value, + boolean isSelected, + boolean hasFocus, + int row, + int column) { + + if (defaulfFont == null) { + defaulfFont = UIManager.getFont("Table.font"); + selectedFont = defaulfFont.deriveFont(Font.BOLD); + } + + boolean useRtp = (boolean) value; + + String toolTipTextValue; + String textValue; + if (!useRtp) { + + // use HTML to show the tooltip in italic + toolTipTextValue = "<i>" + t(withoutRtp) + "</i>"; + textValue = t(withoutRtp); + + + } else { + toolTipTextValue = t(withRtp); + textValue = t(withRtp); + + } + boolean editable = table.isCellEditable(row, column); + toolTipTextValue = String.format(TEXT_PATTERN, toolTipTextValue); + setEnabled(editable); + setText(textValue); + setToolTipText(toolTipTextValue); + setBackground(null); + setForeground(Color.BLACK); + + if (isSelected) { + setFont(selectedFont); + } else { + setFont(defaulfFont); + } + + return this; + } +} \ No newline at end of file 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 new file mode 100644 index 0000000..f266278 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css @@ -0,0 +1,111 @@ + +NumberEditor { + autoPopup: {handler.getConfig().isAutoPopupNumberEditor()}; + showPopupButton: {handler.getConfig().isShowNumberEditorButton()}; + bean: {model}; + showReset: true; + numberType: {Float.class}; + _selectOnFocus: {true}; +} + +#rtpEditorDialog { + undecorated: true; + alwaysOnTop: true; +} + +#rtpMaleALabel { + text: "tutti.editRtp.field.rtpMaleA"; + toolTipText: "tutti.editRtp.field.rtpMaleA.tip"; + labelFor: {rtpMaleAField}; + _help: {"tutti.editRtp.field.rtpMaleA.help"}; +} + +#rtpMaleAField { + property:{RtpEditorUIModel.PROPERTY_RTP_MALE_A}; + numberValue: {model.getRtpMale().getA()};; + _help: {"tutti.editRtp.field.rtpMaleA.help"}; +} + +#rtpMaleBLabel { + text: "tutti.editRtp.field.rtpMaleB"; + toolTipText: "tutti.editRtp.field.rtpMaleB.tip"; + labelFor: {rtpMaleBField}; + _help: {"tutti.editRtp.field.rtpMaleB.help"}; +} + +#rtpMaleBField { + property:{RtpEditorUIModel.PROPERTY_RTP_MALE_B}; + numberValue: {model.getRtpMale().getB()};; + _help: {"tutti.editRtp.field.rtpMaleB.help"}; +} + +#rtpFemaleALabel { + text: "tutti.editRtp.field.rtpFemaleA"; + toolTipText: "tutti.editRtp.field.rtpFemaleA.tip"; + labelFor: {rtpFemaleAField}; + _help: {"tutti.editRtp.field.rtpFemaleA.help"}; +} + +#rtpFemaleAField { + property:{RtpEditorUIModel.PROPERTY_RTP_FEMALE_A}; + numberValue: {model.getRtpFemale().getA()};; + _help: {"tutti.editRtp.field.rtpFemaleA.help"}; +} + +#rtpFemaleBLabel { + text: "tutti.editRtp.field.rtpFemaleB"; + toolTipText: "tutti.editRtp.field.rtpFemaleB.tip"; + labelFor: {rtpFemaleBField}; + _help: {"tutti.editRtp.field.rtpFemaleB.help"}; +} + +#rtpFemaleBField { + property:{RtpEditorUIModel.PROPERTY_RTP_FEMALE_B}; + numberValue: {model.getRtpFemale().getB()};; + _help: {"tutti.editRtp.field.rtpFemaleB.help"}; +} + +#rtpUndefinedALabel { + text: "tutti.editRtp.field.rtpUndefinedA"; + toolTipText: "tutti.editRtp.field.rtpUndefinedA.tip"; + labelFor: {rtpUndefinedAField}; + _help: {"tutti.editRtp.field.rtpUndefinedA.help"}; +} + +#rtpUndefinedAField { + property:{RtpEditorUIModel.PROPERTY_RTP_UNDEFINED_A}; + numberValue: {model.getRtpUndefined().getA()};; + _help: {"tutti.editRtp.field.rtpUndefinedA.help"}; +} + +#rtpUndefinedBLabel { + text: "tutti.editRtp.field.rtpUndefinedB"; + toolTipText: "tutti.editRtp.field.rtpUndefinedB.tip"; + labelFor: {rtpUndefinedBField}; + _help: {"tutti.editRtp.field.rtpUndefinedB.help"}; +} + +#rtpUndefinedBField { + property:{RtpEditorUIModel.PROPERTY_RTP_UNDEFINED_B}; + numberValue: {model.getRtpUndefined().getB()};; + _help: {"tutti.editRtp.field.rtpUndefinedB.help"}; +} + +#saveButton { + actionIcon: save; + text: "tutti.editRtp.action.save"; + toolTipText: "tutti.editRtp.action.save.tip"; + i18nMnemonic: "tutti.editRtp.action.save.mnemonic"; + enabled: {model.isModify() && model.isValid()}; + _simpleAction: {fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions.SaveRtpAction.class}; + _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"}; +} \ 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 new file mode 100644 index 0000000..9324c25 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jaxx @@ -0,0 +1,148 @@ +<!-- + #%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% + --> +<JDialog id='rtpEditorDialog' layout='{new BorderLayout()}' modal="true" + implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<RtpEditorUIModel, RtpEditorUIHandler>'> + + <import> + + 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.util.TuttiUI + fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + + org.jdesktop.swingx.JXTitledPanel + org.nuiton.jaxx.widgets.number.NumberEditor + + javax.swing.JComponent + </import> + + <script><![CDATA[ + +public RtpEditorUI(TuttiUI<?,?> parentUI) { + super(parentUI.getHandler().getContext().getMainUI()); + TuttiUIUtil.setParentUI(this, parentUI); +} + +public void setBean(EditProtocolSpeciesRowModel bean) { handler.setBean(bean); } + +public void openEditor() { handler.openEditor(); } + +public void closeEditor() { handler.closeEditor(); } + + ]]></script> + + <RtpEditorUIModel id="model" initializer='getContextValue(RtpEditorUIModel.class)'/> + + <TuttiHelpBroker id='broker' constructorParams='"tutti.editRtp.help"'/> + + <BeanValidator id='validator' bean='model' uiClass='jaxx.runtime.validator.swing.ui.ImageValidationUI'> + <field name='rtpMaleA' component='rtpMaleAField'/> + <field name='rtpMaleB' component='rtpMaleBField'/> + <field name='rtpFemaleA' component='rtpFemaleAField'/> + <field name='rtpFemaleB' component='rtpFemaleBField'/> + <field name='rtpUndefinedA' component='rtpUndefinedAField'/> + <field name='rtpUndefinedB' component='rtpUndefinedBField'/> + </BeanValidator> + + <JXTitledPanel id="bodyPanel" constraints='BorderLayout.NORTH'> + <JPanel layout="{new GridLayout(3, 1)}"> + <JPanel id="malePanel" layout="{new GridLayout(1, 2)}" border='{new TitledBorder(t("tutti.editRtp.malePanel"))}'> + <Table id='maleAPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpMaleALabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpMaleAField'/> + </cell> + </row> + </Table> + <Table id='maleBPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpMaleBLabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpMaleBField'/> + </cell> + </row> + </Table> + </JPanel> + + <JPanel id="femalePanel" layout="{new GridLayout(1, 2)}" + border='{new TitledBorder(t("tutti.editRtp.femalePanel"))}'> + <Table id='femaleAPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpFemaleALabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpFemaleAField'/> + </cell> + </row> + </Table> + <Table id='femaleBPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpFemaleBLabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpFemaleBField'/> + </cell> + </row> + </Table> + </JPanel> + + <JPanel id="undefinedPanel" layout="{new GridLayout(1, 2)}" + border='{new TitledBorder(t("tutti.editRtp.undefinedPanel"))}'> + <Table id='undefinedAPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpUndefinedALabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpUndefinedAField'/> + </cell> + </row> + </Table> + <Table id='undefinedBPanel' fill='both'> + <row> + <cell> + <JLabel id='rtpUndefinedBLabel'/> + </cell> + <cell weightx='1'> + <NumberEditor id='rtpUndefinedBField'/> + </cell> + </row> + </Table> + </JPanel> + </JPanel> + + </JXTitledPanel> + + <JPanel id="actions" constraints='BorderLayout.SOUTH' layout="{new GridLayout(1, 2)}"> + <JButton id='cancelButton'/> + <JButton id='saveButton'/> + </JPanel> + +</JDialog> 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 new file mode 100644 index 0000000..ebd800e --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIHandler.java @@ -0,0 +1,85 @@ +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.util.AbstractTuttiUIHandler; +import jaxx.runtime.validator.swing.SwingValidator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.JComponent; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, RtpEditorUI> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(RtpEditorUIHandler.class); + + @Override + public void beforeInit(RtpEditorUI ui) { + super.beforeInit(ui); + + RtpEditorUIModel model = new RtpEditorUIModel(); + + listModelIsModify(model); + + this.ui.setContextValue(model); + + } + + @Override + public void afterInit(RtpEditorUI ui) { + + super.initUI(ui); + + ui.pack(); + ui.setResizable(true); + + } + + @Override + protected JComponent getComponentToFocus() { + return getUI().getRtpMaleAField(); + } + + @Override + public void onCloseUI() { + ui.dispose(); + } + + @Override + public SwingValidator<RtpEditorUIModel> getValidator() { + return ui.getValidator(); + } + + public void setBean(EditProtocolSpeciesRowModel rowModel) { + + Species species = rowModel.getSpecies(); + + String decorate = decorate(species); + + if (log.isInfoEnabled()) { + log.info("Edit RTP for species: " + decorate); + } + + ui.getBodyPanel().setTitle(t("tutti.rtpEdit.title", decorate)); + + getModel().setRowModel(rowModel); + + } + + public void openEditor() { + ui.setVisible(true); + } + + public void closeEditor() { + ui.dispose(); + } + +} \ 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 new file mode 100644 index 0000000..25a95b9 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUIModel.java @@ -0,0 +1,126 @@ +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.util.AbstractTuttiBeanUIModel; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeciesRowModel, RtpEditorUIModel> { + + 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"; + public static final String PROPERTY_RTP_FEMALE_B = "rtpFemaleB"; + public static final String PROPERTY_RTP_UNDEFINED_A = "rtpUndefinedA"; + public static final String PROPERTY_RTP_UNDEFINED_B = "rtpUndefinedB"; + + protected final Rtp rtpMale = new RtpBean(); + + protected final Rtp rtpFemale = new RtpBean(); + + protected final Rtp rtpUndefined = new RtpBean(); + + protected EditProtocolSpeciesRowModel rowModel; + + public RtpEditorUIModel() { + super(null, null); + } + + @Override + protected EditProtocolSpeciesRowModel newEntity() { + return null; + } + + public Rtp getRtpMale() { + return rtpMale; + } + + public Rtp getRtpUndefined() { + return rtpUndefined; + } + + public Rtp getRtpFemale() { + return rtpFemale; + } + + public Float getRtpMaleA() { + return rtpMale.getA(); + } + + public void setRtpMaleA(Float a) { + rtpMale.setA(a); + firePropertyChanged(PROPERTY_RTP_MALE_A, null, a); + } + + public Float getRtpMaleB() { + return rtpMale.getB(); + } + + public void setRtpMaleB(Float b) { + rtpMale.setB(b); + firePropertyChanged(PROPERTY_RTP_MALE_B, null, b); + } + + public Float getRtpFemaleA() { + return rtpFemale.getA(); + } + + public void setRtpFemaleA(Float a) { + rtpFemale.setA(a); + firePropertyChanged(PROPERTY_RTP_FEMALE_A, null, a); + } + + public Float getRtpFemaleB() { + return rtpFemale.getB(); + } + + public void setRtpFemaleB(Float b) { + rtpFemale.setB(b); + firePropertyChanged(PROPERTY_RTP_FEMALE_B, null, b); + } + + public Float getRtpUndefinedA() { + return rtpUndefined.getA(); + } + + public void setRtpUndefinedA(Float a) { + rtpUndefined.setA(a); + firePropertyChanged(PROPERTY_RTP_UNDEFINED_A, null, a); + } + + public Float getRtpUndefinedB() { + return rtpUndefined.getB(); + } + + public void setRtpUndefinedB(Float b) { + rtpUndefined.setB(b); + firePropertyChanged(PROPERTY_RTP_UNDEFINED_B, null, b); + } + + public void setRowModel(EditProtocolSpeciesRowModel rowModel) { + + this.rowModel = rowModel; + + Rtp rtpMale = rowModel.getRtpMale(); + setRtpMaleA(rtpMale == null ? null : rtpMale.getA()); + setRtpMaleB(rtpMale == null ? null : rtpMale.getB()); + + Rtp rtpFemale = rowModel.getRtpFemale(); + setRtpFemaleA(rtpFemale == null ? null : rtpFemale.getA()); + setRtpFemaleB(rtpFemale == null ? null : rtpFemale.getB()); + + Rtp rtpUndefined = rowModel.getRtpUndefined(); + setRtpUndefinedA(rtpUndefined == null ? null : rtpUndefined.getA()); + setRtpUndefinedB(rtpUndefined == null ? null : rtpUndefined.getB()); + + } + + public EditProtocolSpeciesRowModel getRowModel() { + return rowModel; + } +} \ 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 new file mode 100644 index 0000000..ef4b50c --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/CancelRtpAction.java @@ -0,0 +1,23 @@ +package fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions; + +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI; +import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CancelRtpAction extends SimpleActionSupport<RtpEditorUI> { + + private static final long serialVersionUID = 1L; + + public CancelRtpAction(RtpEditorUI ui) { + super(ui); + } + + @Override + protected void onActionPerformed(RtpEditorUI ui) { + ui.dispose(); + } +} \ 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 new file mode 100644 index 0000000..a2082b4 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java @@ -0,0 +1,36 @@ +package fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions; + +import fr.ifremer.tutti.persistence.entities.protocol.Rtps; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; + +/** + * Created on 14/01/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SaveRtpAction extends SimpleActionSupport<RtpEditorUI> { + + private static final long serialVersionUID = 1L; + + public SaveRtpAction(RtpEditorUI ui) { + super(ui); + } + + @Override + protected void onActionPerformed(RtpEditorUI ui) { + + RtpEditorUIModel model = ui.getModel(); + + EditProtocolSpeciesRowModel rowModel = model.getRowModel(); + + rowModel.setRtpMale(Rtps.newRtp(model.getRtpMale())); + 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/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index a4669b9..4daea25 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 @@ -1,6 +1,9 @@ application.action.create.error= application.error.ui.business.warning= jaxx.application.action.create.error= +rtpEditor.femalePanel= +rtpEditor.malePanel= +rtpEditor.undefinedPanel= swing.error.cannot.open.file= tutti.about.bottomText= tutti.about.message= @@ -1095,10 +1098,20 @@ tutti.editProtocol.table.header.operationFields.field= tutti.editProtocol.table.header.operationFields.field.tip= tutti.editProtocol.table.header.operationFields.importFileColumn= tutti.editProtocol.table.header.operationFields.importFileColumn.tip= +tutti.editProtocol.table.header.rtpFemaleA= +tutti.editProtocol.table.header.rtpFemaleA.tip= +tutti.editProtocol.table.header.rtpFemaleB= +tutti.editProtocol.table.header.rtpFemaleB.tip= +tutti.editProtocol.table.header.rtpMaleA= +tutti.editProtocol.table.header.rtpMaleA.tip= +tutti.editProtocol.table.header.rtpMaleB= +tutti.editProtocol.table.header.rtpMaleB.tip= tutti.editProtocol.table.header.speciesReferenceTaxonId= tutti.editProtocol.table.header.speciesReferenceTaxonId.tip= tutti.editProtocol.table.header.speciesSurveyCode= tutti.editProtocol.table.header.speciesSurveyCode.tip= +tutti.editProtocol.table.header.useRtp= +tutti.editProtocol.table.header.useRtp.tip= tutti.editProtocol.table.header.weight= tutti.editProtocol.table.header.weight.tip= tutti.editProtocol.title.choose.benthosExportFile= @@ -1112,6 +1125,33 @@ tutti.editProtocol.title.edit.protocol= tutti.editProtocol.warn.clean= tutti.editProtocol.warn.clone= tutti.editProtocol.warn.import= +tutti.editRtp.action.cancel= +tutti.editRtp.action.cancel.mnemonic= +tutti.editRtp.action.cancel.tip= +tutti.editRtp.action.save= +tutti.editRtp.action.save.mnemonic= +tutti.editRtp.action.save.tip= +tutti.editRtp.action.tip= +tutti.editRtp.button= +tutti.editRtp.button.tip= +tutti.editRtp.femalePanel= +tutti.editRtp.field.rtpFemaleA= +tutti.editRtp.field.rtpFemaleA.tip= +tutti.editRtp.field.rtpFemaleB= +tutti.editRtp.field.rtpFemaleB.tip= +tutti.editRtp.field.rtpMaleA= +tutti.editRtp.field.rtpMaleA.tip= +tutti.editRtp.field.rtpMaleB= +tutti.editRtp.field.rtpMaleB.tip= +tutti.editRtp.field.rtpUndefinedA= +tutti.editRtp.field.rtpUndefinedA.tip= +tutti.editRtp.field.rtpUndefinedB= +tutti.editRtp.field.rtpUndefinedB.tip= +tutti.editRtp.malePanel= +tutti.editRtp.simpleText= +tutti.editRtp.undefinedPanel= +tutti.editRtp.withRtp.tip= +tutti.editRtp.withoutRtp.tip= tutti.editSampleCategoryModel.action.close= tutti.editSampleCategoryModel.action.close.mnemonic= tutti.editSampleCategoryModel.action.close.tip= @@ -2026,6 +2066,7 @@ tutti.report.title= tutti.report.title.choose.saveReportFile= tutti.resetCruise.action.cruiseReloaded= tutti.resetProgram.action.programReloaded= +tutti.rtpEdit.title= tutti.selectBenthos.title= tutti.selectCruise.action.chooseCruiseExportFile= tutti.selectCruise.action.chooseProgramExportFile= 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 61efbe2..f3acfb3 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 @@ -1058,6 +1058,8 @@ tutti.editProtocol.table.header.speciesReferenceTaxonId=Espèce tutti.editProtocol.table.header.speciesReferenceTaxonId.tip=Code Rubin – Nom scientifique tutti.editProtocol.table.header.speciesSurveyCode=Code campagne tutti.editProtocol.table.header.speciesSurveyCode.tip=Code campagne (non synchronisable dans Harmonie) +tutti.editProtocol.table.header.useRtp=RTP +tutti.editProtocol.table.header.useRtp.tip=Relation taille-poids tutti.editProtocol.table.header.weight=Pesée tutti.editProtocol.table.header.weight.tip=L'espèce doit elle être pesée ? tutti.editProtocol.title.choose.benthosExportFile=Exporter les benthos @@ -1071,6 +1073,31 @@ 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.save=Enregistrer +tutti.editRtp.action.save.mnemonic=E +tutti.editRtp.action.save.tip=Enregister les RTP +tutti.editRtp.button=RTP +tutti.editRtp.button.tip=Éditer les RTP de l'espèce +tutti.editRtp.femalePanel=Femelle +tutti.editRtp.field.rtpFemaleA=A +tutti.editRtp.field.rtpFemaleA.tip=Paramètre A +tutti.editRtp.field.rtpFemaleB=B +tutti.editRtp.field.rtpFemaleB.tip=Paramètre B +tutti.editRtp.field.rtpMaleA=A +tutti.editRtp.field.rtpMaleA.tip=Paramètre A +tutti.editRtp.field.rtpMaleB=B +tutti.editRtp.field.rtpMaleB.tip=Paramètre B +tutti.editRtp.field.rtpUndefinedA=A +tutti.editRtp.field.rtpUndefinedA.tip=Paramètre A +tutti.editRtp.field.rtpUndefinedB=B +tutti.editRtp.field.rtpUndefinedB.tip=Paramètre B +tutti.editRtp.malePanel=Male +tutti.editRtp.undefinedPanel=Sexe inconnu +tutti.editRtp.withRtp.tip=RTP renseignés +tutti.editRtp.withoutRtp.tip=RTP non renseignés tutti.editSampleCategoryModel.action.close=Fermer tutti.editSampleCategoryModel.action.close.mnemonic=F tutti.editSampleCategoryModel.action.close.tip=Fermer l'édition des catégories @@ -1892,6 +1919,7 @@ 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.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 tutti.selectCruise.action.chooseProgramExportFile=Exporter -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit f1ea25f664b5aceeff706bd5aa2ed0f1165a10f5 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 0f712f86b194f6afd8423b479faa6b25a63ef6d0 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 4daea25..54ec8d1 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 @@ -2066,6 +2066,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= @@ -2294,6 +2296,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 f3acfb3..c97007a 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 @@ -1919,6 +1919,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 @@ -2129,6 +2131,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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 952635aa6736aad982c57f62cb3203ebfe80a26b 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 54ec8d1..1a92b95 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 c97007a..2de27e9 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit acc92afe0655dc991650ea360f7aa2712eb2b44c 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 2de27e9..0e5cddb 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>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit f71d3c349912265fab089e028327385dd1bfaa36 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 11:23:02 2016 +0100 nouvelle extension des fichiers css + libellés (refs #6115) --- .../swing/content/protocol/rtp/{RtpEditorUI.css => RtpEditorUI.jcss} | 0 .../src/main/resources/i18n/tutti-ui-swing_fr_FR.properties | 4 ++-- 2 files changed, 2 insertions(+), 2 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.jcss similarity index 100% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.css rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss 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 0e5cddb..9359cc6 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 @@ -1919,8 +1919,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.askCancelEditBeforeLeaving=Les relations taille-poids ne sont pas valides et ne peuvent pas être enregistrées +tutti.rtpEdit.askSaveBeforeLeaving=Des modifications n'ont pas été enregistrées 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 -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit fe655010e79b9ba743da66b48e36cac01e25d536 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 11:51:31 2016 +0100 correction renderer (refs #6115) --- .../swing/content/protocol/rtp/RtpCellEditor.java | 3 --- .../content/protocol/rtp/RtpCellRenderer.java | 24 ++++++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) 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 bf76dad..cf700b5 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 @@ -1,6 +1,5 @@ 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; @@ -66,8 +65,6 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor rowIndex = row; columnIndex = column; - EditProtocolSpeciesRowModel model = tableModel.getEntry(row); - editorButton.init(tableModel, row); return editorButton; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java index a924aef..09c4961 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -1,6 +1,10 @@ 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 jaxx.runtime.SwingUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.swing.JComponent; import javax.swing.JTable; @@ -19,6 +23,9 @@ import static org.nuiton.i18n.I18n.t; */ public class RtpCellRenderer extends DefaultTableCellRenderer { + /** Logger. */ + private static final Log log = LogFactory.getLog(RtpCellRenderer.class); + public static final String TEXT_PATTERN = "<html><body>%s</body></html>"; private static final long serialVersionUID = 1L; @@ -27,7 +34,7 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { private final String withRtp; - private Font defaulfFont; + private Font defaultFont; private Font selectedFont; @@ -51,12 +58,17 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { int row, int column) { - if (defaulfFont == null) { - defaulfFont = UIManager.getFont("Table.font"); - selectedFont = defaulfFont.deriveFont(Font.BOLD); + if (defaultFont == null) { + defaultFont = UIManager.getFont("Table.font"); + selectedFont = defaultFont.deriveFont(Font.BOLD); } - boolean useRtp = (boolean) value; + EditProtocolSpeciesRowModel rowModel = ((EditProtocolSpeciesTableModel) table.getModel()).getEntry(row); + + boolean useRtp = rowModel.isUseRtp(); + if (log.isInfoEnabled()) { + log.info("useRtp " + useRtp); + } String toolTipTextValue; String textValue; @@ -83,7 +95,7 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { if (isSelected) { setFont(selectedFont); } else { - setFont(defaulfFont); + setFont(defaultFont); } return this; -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 673fd6feb75ee88d2bec7662d4b510a8d22db618 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 12:32:42 2016 +0100 ajout des actions pour naviguer dans le tableau (refs #6115) --- .../content/protocol/rtp/RtpCellRenderer.java | 3 -- .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 5 ++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jcss | 20 +++++++ .../content/protocol/rtp/RtpEditorUIHandler.java | 47 +++++++++-------- .../content/protocol/rtp/RtpEditorUIModel.java | 58 +++++++++++++++++++-- .../protocol/rtp/actions/EditNextRowAction.java | 24 +++++++++ .../rtp/actions/EditPreviousRowAction.java | 24 +++++++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 3 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 ++ .../src/main/resources/icons/action-next.png | Bin 0 -> 349 bytes .../src/main/resources/icons/action-previous.png | Bin 0 -> 345 bytes 11 files changed, 156 insertions(+), 31 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java index 09c4961..960d9e3 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -66,9 +66,6 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { EditProtocolSpeciesRowModel rowModel = ((EditProtocolSpeciesTableModel) table.getModel()).getEntry(row); boolean useRtp = rowModel.isUseRtp(); - if (log.isInfoEnabled()) { - log.info("useRtp " + useRtp); - } String toolTipTextValue; String textValue; 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 9c0bf66..1112f41 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 @@ -64,6 +64,11 @@ public void closeEditor() { handler.closeEditor(); } <field name='rtpUndefinedB' component='rtpUndefinedBField'/> </BeanValidator> + <JToolBar id='headerToolBar'> + <JButton id="previousRowButton"/> + <JButton id="nextRowButton"/> + </JToolBar> + <JXTitledPanel id="bodyPanel" constraints='BorderLayout.NORTH'> <JPanel layout="{new GridLayout(3, 1)}"> <JPanel id="malePanel" layout="{new GridLayout(1, 2)}" border='{new TitledBorder(t("tutti.editRtp.malePanel"))}'> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss index d47e59d..9ecfc72 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpEditorUI.jcss @@ -13,6 +13,26 @@ NumberEditor { alwaysOnTop: true; } +#headerToolBar { + floatable: false; + opaque: true; + borderPainted: false; +} + +#previousRowButton { + actionIcon: previous; + toolTipText: "tutti.editRtp.action.previous.tip"; + enabled: {!model.isFirstRow()}; + _simpleAction: {fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions.EditPreviousRowAction.class}; +} + +#nextRowButton { + actionIcon: next; + toolTipText: "tutti.editRtp.action.next.tip"; + enabled: {!model.isLastRow()}; + _simpleAction: {fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions.EditNextRowAction.class}; +} + #rtpMaleALabel { text: "tutti.editRtp.field.rtpMaleA"; toolTipText: "tutti.editRtp.field.rtpMaleA.tip"; 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 62bd254..cf8700e 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 @@ -13,6 +13,9 @@ import org.apache.commons.logging.LogFactory; import javax.swing.JComponent; import javax.swing.JOptionPane; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + import static org.nuiton.i18n.I18n.t; /** @@ -49,9 +52,29 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, cm.setDragInsets(cr.getDragInsets()); cm.registerComponent(ui); + ui.getBodyPanel().setRightDecoration(ui.getHeaderToolBar()); + RtpEditorUIModel model = getModel(); listModelIsModify(model); listenValidatorValid(ui.getValidator(), model); + + model.addPropertyChangeListener(RtpEditorUIModel.PROPERTY_ROW, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + EditProtocolSpeciesRowModel rowModel = getModel().getRowModel(); + + Species species = rowModel.getSpecies(); + + String decorate = decorate(species); + + if (log.isInfoEnabled()) { + log.info("Edit RTP for species: " + decorate); + } + + getUI().getBodyPanel().setTitle(t("tutti.rtpEdit.title", decorate)); + } + }); } @Override @@ -117,29 +140,7 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, } public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { - - RtpEditorUIModel model = getModel(); - - model.setRowModel(tableModel, row); - - model.setModify(false); - - EditProtocolSpeciesRowModel rowModel = model.getRowModel(); - - Species species = rowModel.getSpecies(); - - String decorate = decorate(species); - - if (log.isInfoEnabled()) { - log.info("Edit RTP for species: " + decorate); - } - - ui.getBodyPanel().setTitle(t("tutti.rtpEdit.title", decorate)); - - if (log.isInfoEnabled()) { - log.info("model valid " + model.isValid()); - log.info("model modified " + model.isModify()); - } + getModel().setRowModel(tableModel, row); } public void openEditor() { 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 c078631..7f4fcb8 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 @@ -25,15 +25,23 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public static final String PROPERTY_RTP_UNDEFINED_A = "rtpUndefinedA"; public static final String PROPERTY_RTP_UNDEFINED_B = "rtpUndefinedB"; + public static final String PROPERTY_FIRST_ROW = "firstRow"; + public static final String PROPERTY_LAST_ROW = "lastRow"; + public static final String PROPERTY_ROW = "row"; + protected final Rtp rtpMale = new RtpBean(); protected final Rtp rtpFemale = new RtpBean(); protected final Rtp rtpUndefined = new RtpBean(); + protected boolean firstRow; + + protected boolean lastRow; + protected EditProtocolSpeciesTableModel tableModel; - protected int row; + protected int row = -1; public RtpEditorUIModel() { super(null, null); @@ -110,13 +118,53 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci firePropertyChanged(PROPERTY_RTP_UNDEFINED_B, null, b); } + public boolean isFirstRow() { + return firstRow; + } + + public void setFirstRow(boolean firstRow) { + Object oldValue = isFirstRow(); + this.firstRow = firstRow; + firePropertyChange(PROPERTY_FIRST_ROW, oldValue, firstRow); + } + + public boolean isLastRow() { + return lastRow; + } + + public void setLastRow(boolean lastRow) { + Object oldValue = isLastRow(); + this.lastRow = lastRow; + firePropertyChange(PROPERTY_LAST_ROW, oldValue, lastRow); + } + + public int getRow() { + return row; + } + + public void setRow(int row) { + Object oldValue = getRow(); + this.row = row; + firePropertyChange(PROPERTY_ROW, oldValue, row); + } + public void setRowModel(EditProtocolSpeciesTableModel tableModel, int row) { + this.tableModel = tableModel; + + setRowModel(row); + } + + public void setRowModel(int row) { + if (log.isInfoEnabled()) { log.info("setRowModel " + row); } - this.row = row; - this.tableModel = tableModel; + + setRow(row); + + setFirstRow(row == 0); + setLastRow(row == tableModel.getRowCount() - 1); EditProtocolSpeciesRowModel rowModel = tableModel.getEntry(row); @@ -132,6 +180,7 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci setRtpUndefinedA(rtpUndefined == null ? null : rtpUndefined.getA()); setRtpUndefinedB(rtpUndefined == null ? null : rtpUndefined.getB()); + setModify(false); } public EditProtocolSpeciesRowModel getRowModel() { @@ -139,7 +188,6 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci } public void reset() { - setRowModel(tableModel, row); - setModify(false); + setRowModel(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/EditNextRowAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java new file mode 100644 index 0000000..d0ef36c --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java @@ -0,0 +1,24 @@ +package fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions; + +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; + +/** + * @author Kevin Morin (Code Lutin) + * @since 4.4 + */ +public class EditNextRowAction extends SimpleActionSupport<RtpEditorUI> { + + public EditNextRowAction(RtpEditorUI rtpEditorUI) { + super(rtpEditorUI); + } + + @Override + protected void onActionPerformed(RtpEditorUI rtpEditorUI) { + RtpEditorUIModel model = rtpEditorUI.getModel(); + if (!model.isLastRow()) { + model.setRowModel(model.getRow() + 1); + } + } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java new file mode 100644 index 0000000..d948aaa --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java @@ -0,0 +1,24 @@ +package fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions; + +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI; +import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; + +/** + * @author Kevin Morin (Code Lutin) + * @since 4.4 + */ +public class EditPreviousRowAction extends SimpleActionSupport<RtpEditorUI> { + + public EditPreviousRowAction(RtpEditorUI rtpEditorUI) { + super(rtpEditorUI); + } + + @Override + protected void onActionPerformed(RtpEditorUI rtpEditorUI) { + RtpEditorUIModel model = rtpEditorUI.getModel(); + if (!model.isFirstRow()) { + model.setRowModel(model.getRow() - 1); + } + } +} 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 1a92b95..6eb1384 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 @@ -1,6 +1,7 @@ application.action.create.error= application.error.ui.business.warning= jaxx.application.action.create.error= +next= rtpEditor.femalePanel= rtpEditor.malePanel= rtpEditor.undefinedPanel= @@ -1131,6 +1132,8 @@ tutti.editRtp.action.cancel.tip= tutti.editRtp.action.close= tutti.editRtp.action.close.mnemonic= tutti.editRtp.action.close.tip= +tutti.editRtp.action.next.tip= +tutti.editRtp.action.previous.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 9359cc6..ef8fe9b 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 @@ -1,6 +1,7 @@ application.action.create.error= application.error.ui.business.warning= jaxx.application.action.create.error= +next= swing.error.cannot.open.file=Aucun programme n'est défini pour ouvrir ce type de fichier. Enregistrez le fichier et ouvrez le en dehors de l'application tutti.about.bottomText=Copyright %s - %s - version %s tutti.about.message=<h3>Allegro Campagne</h3><p><strong>Outil de saisie de données d'opérations et de captures au cours des campagnes halieutiques.</strong></p><br/><p>Ce logiciel permettra la saisie en mer des données d'opération de pêche (positions, environnement, engin, etc) et des captures associées (composition de la capture en espèces scientifiques avec poids, nombres, tailles etc) pour l'ensemble des campagnes halieutiques réalisées par l'Ifremer.</p><p>Ce projet a été initiée en [...] @@ -1076,6 +1077,8 @@ tutti.editProtocol.warn.import=Le protocole que vous venez d'importer ne sera sa tutti.editRtp.action.close=Fermer tutti.editRtp.action.close.mnemonic=F tutti.editRtp.action.close.tip=Fermer l'éditeur des RTP +tutti.editRtp.action.next.tip=Editer les RTP de la ligne suivante +tutti.editRtp.action.previous.tip=Editer les RTP de la ligne précédente tutti.editRtp.action.save=Enregistrer tutti.editRtp.action.save.mnemonic=E tutti.editRtp.action.save.tip=Enregister les RTP diff --git a/tutti-ui-swing/src/main/resources/icons/action-next.png b/tutti-ui-swing/src/main/resources/icons/action-next.png new file mode 100644 index 0000000..b1a1819 Binary files /dev/null and b/tutti-ui-swing/src/main/resources/icons/action-next.png differ diff --git a/tutti-ui-swing/src/main/resources/icons/action-previous.png b/tutti-ui-swing/src/main/resources/icons/action-previous.png new file mode 100644 index 0000000..5dc6967 Binary files /dev/null and b/tutti-ui-swing/src/main/resources/icons/action-previous.png differ -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 5b9c6e61d57621541c66e8d6a3904862e69ea8e8 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 14:39:26 2016 +0100 conversion entre index de vue et de modele (refs #6115) --- .../ui/swing/content/protocol/rtp/RtpButton.java | 5 +++-- .../swing/content/protocol/rtp/RtpCellEditor.java | 25 +++++++++++----------- .../content/protocol/rtp/RtpCellRenderer.java | 3 ++- .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 5 ++++- .../content/protocol/rtp/RtpEditorUIHandler.java | 6 +++--- .../content/protocol/rtp/RtpEditorUIModel.java | 14 +++++++----- 6 files changed, 34 insertions(+), 24 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 dd60643..96bc1f0 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 @@ -5,6 +5,7 @@ import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import jaxx.runtime.SwingUtil; import javax.swing.JToggleButton; +import javax.swing.RowSorter; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.event.WindowAdapter; @@ -67,8 +68,8 @@ public class RtpButton extends JToggleButton { } - public void init(EditProtocolSpeciesTableModel tableModel, int row) { - popup.setBean(tableModel, row); + public void init(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int rowIndex) { + popup.setBean(tableModel, rowSorter, rowIndex); } } \ 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 cf700b5..29bba6b 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 @@ -26,13 +26,13 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor return new RtpCellEditor(ui); } - protected JTable table; - - protected EditProtocolSpeciesTableModel tableModel; - - protected Integer rowIndex; - - protected Integer columnIndex; +// protected JTable table; +// +// protected EditProtocolSpeciesTableModel tableModel; +// +// protected Integer rowIndex; +// +// protected Integer columnIndex; protected final RtpButton editorButton; @@ -59,13 +59,14 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor boolean isSelected, int row, int column) { - this.table = table; - this.tableModel = (EditProtocolSpeciesTableModel) table.getModel(); +// this.table = table; +// this.tableModel = (EditProtocolSpeciesTableModel) table.getRowSorter().getModel(); + EditProtocolSpeciesTableModel tableModel = (EditProtocolSpeciesTableModel) table.getModel(); - rowIndex = row; - columnIndex = column; +// int rowIndex = table.convertRowIndexToModel(row); +// columnIndex = table.convertColumnIndexToModel(column); - editorButton.init(tableModel, row); + editorButton.init(tableModel, table.getRowSorter(), row); return editorButton; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java index 960d9e3..323d51f 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -63,7 +63,8 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { selectedFont = defaultFont.deriveFont(Font.BOLD); } - EditProtocolSpeciesRowModel rowModel = ((EditProtocolSpeciesTableModel) table.getModel()).getEntry(row); + int rowIndex = table.convertRowIndexToModel(row); + EditProtocolSpeciesRowModel rowModel = ((EditProtocolSpeciesTableModel) table.getModel()).getEntry(rowIndex); boolean useRtp = rowModel.isUseRtp(); 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 1112f41..6d2183e 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 @@ -34,6 +34,7 @@ org.nuiton.jaxx.widgets.number.NumberEditor javax.swing.JComponent + javax.swing.RowSorter </import> <script><![CDATA[ @@ -43,7 +44,9 @@ public RtpEditorUI(TuttiUI<?,?> parentUI) { TuttiUIUtil.setParentUI(this, parentUI); } -public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { handler.setBean(tableModel, row); } +public void setBean(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int row) { + handler.setBean(tableModel, rowSorter, 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 cf8700e..34f6d5e 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 @@ -12,7 +12,7 @@ import org.apache.commons.logging.LogFactory; import javax.swing.JComponent; import javax.swing.JOptionPane; - +import javax.swing.RowSorter; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -139,8 +139,8 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, return ui.getValidator(); } - public void setBean(EditProtocolSpeciesTableModel tableModel, int row) { - getModel().setRowModel(tableModel, row); + public void setBean(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int row) { + getModel().setRowModel(tableModel, rowSorter, row); } public void openEditor() { 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 7f4fcb8..e23eec1 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 @@ -8,6 +8,8 @@ import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import javax.swing.RowSorter; + /** * Created on 14/01/16. * @@ -41,6 +43,8 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci protected EditProtocolSpeciesTableModel tableModel; + protected RowSorter rowSorter; + protected int row = -1; public RtpEditorUIModel() { @@ -148,10 +152,10 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci firePropertyChange(PROPERTY_ROW, oldValue, row); } - public void setRowModel(EditProtocolSpeciesTableModel tableModel, int row) { + public void setRowModel(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int row) { this.tableModel = tableModel; - + this.rowSorter = rowSorter; setRowModel(row); } @@ -162,11 +166,10 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci } setRow(row); - setFirstRow(row == 0); setLastRow(row == tableModel.getRowCount() - 1); - EditProtocolSpeciesRowModel rowModel = tableModel.getEntry(row); + EditProtocolSpeciesRowModel rowModel = getRowModel(); Rtp rtpMale = rowModel.getRtpMale(); setRtpMaleA(rtpMale == null ? null : rtpMale.getA()); @@ -184,7 +187,8 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci } public EditProtocolSpeciesRowModel getRowModel() { - return tableModel.getEntry(row); + int rowIndex = rowSorter.convertRowIndexToModel(row); + return tableModel.getEntry(rowIndex); } public void reset() { -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 5e85a68da6b306a9cda70cf1d5a27591d55fd4b1 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 15:58:06 2016 +0100 check des modifs quand on navigue (refs #6115) --- .../content/protocol/rtp/RtpEditorUIHandler.java | 21 +++++++++++++++------ .../protocol/rtp/actions/EditNextRowAction.java | 2 +- .../protocol/rtp/actions/EditPreviousRowAction.java | 3 ++- 3 files changed, 18 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 34f6d5e..112891c 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 @@ -85,6 +85,15 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, @Override public void onCloseUI() { + boolean result = quitUI(); + + if (result) { + getModel().reset(); + ui.dispose(); + } + } + + public boolean quitUI() { boolean result = true; RtpEditorUIModel model = getModel(); @@ -98,15 +107,11 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, // model is not valid, ask user to continue or not - result = askCancelEditBeforeLeaving( - t("tutti.rtpEdit.askCancelEditBeforeLeaving")); + result = quitInvalidRtpForm(); } } - if (result) { - getModel().reset(); - ui.dispose(); - } + return result; } protected boolean quitUnsavedRtpForm() { @@ -134,6 +139,10 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, return result; } + protected boolean quitInvalidRtpForm() { + return askCancelEditBeforeLeaving(t("tutti.rtpEdit.askCancelEditBeforeLeaving")); + } + @Override public SwingValidator<RtpEditorUIModel> getValidator() { return ui.getValidator(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java index d0ef36c..f4fb190 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditNextRowAction.java @@ -17,7 +17,7 @@ public class EditNextRowAction extends SimpleActionSupport<RtpEditorUI> { @Override protected void onActionPerformed(RtpEditorUI rtpEditorUI) { RtpEditorUIModel model = rtpEditorUI.getModel(); - if (!model.isLastRow()) { + if (!model.isLastRow() && rtpEditorUI.getHandler().quitUI()) { model.setRowModel(model.getRow() + 1); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java index d948aaa..33334ce 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/EditPreviousRowAction.java @@ -17,7 +17,8 @@ public class EditPreviousRowAction extends SimpleActionSupport<RtpEditorUI> { @Override protected void onActionPerformed(RtpEditorUI rtpEditorUI) { RtpEditorUIModel model = rtpEditorUI.getModel(); - if (!model.isFirstRow()) { + + if (!model.isFirstRow() && rtpEditorUI.getHandler().quitUI()) { model.setRowModel(model.getRow() - 1); } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit d529bb6629c960ab9fe920cfc0a2a1b32b7d1899 Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 16:03:57 2016 +0100 repasser les dialog au dessus de l'editeur (refs #6115) --- .../ui/swing/content/protocol/rtp/RtpEditorUIHandler.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 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 112891c..8d1a86f 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 @@ -13,6 +13,7 @@ import org.apache.commons.logging.LogFactory; import javax.swing.JComponent; import javax.swing.JOptionPane; import javax.swing.RowSorter; +import java.awt.Component; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -119,9 +120,7 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, boolean result; - String message = t("tutti.rtpEdit.askSaveBeforeLeaving"); - - int answer = askSaveBeforeLeaving(message); + int answer = askSaveBeforeLeaving(t("tutti.rtpEdit.askSaveBeforeLeaving")); switch (answer) { case JOptionPane.YES_OPTION: getContext().getActionEngine().runAction(ui.getSaveButton()); @@ -148,6 +147,11 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, return ui.getValidator(); } + @Override + public Component getTopestUI() { + return getUI(); + } + public void setBean(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int row) { getModel().setRowModel(tableModel, rowSorter, row); } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 13442b2f604852c62fe46ce8f1b9394af69ef52b Author: Kevin Morin <morin@codelutin.com> Date: Tue Jan 19 17:54:00 2016 +0100 ajout des valuers des rtp en tooltip (refs #6115) --- .../java/fr/ifremer/tutti/service/DecoratorService.java | 2 ++ .../ui/swing/content/protocol/EditProtocolUIHandler.java | 7 +++++-- .../ui/swing/content/protocol/rtp/RtpCellRenderer.java | 13 +++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java index 83e45d2..77c3f6a 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; +import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; @@ -117,6 +118,7 @@ public class DecoratorService extends AbstractTuttiService { registerTuttiDecorator(TuttiLocation.class, "${label}$s#${name}$s", SEPARATOR, " - "); registerTuttiDecorator(Cruise.class, "${name}$s", SEPARATOR, " - "); registerTuttiDecorator(TuttiProtocol.class, "${name}$s", SEPARATOR, " - "); + registerTuttiDecorator(Rtp.class, "${a}$s#${b}$s", SEPARATOR, " - "); registerDecorator(new FishingOperationDecorator()); registerTuttiDecorator(FishingOperation.class, FILE_NAME_COMPATIBLE, "${stationNumber}$s#${fishingOperationNumber}$s#${multirigAggregation}$s#${gearShootingStartDate}$td%4$tm%4$tY", SEPARATOR, "-"); registerTuttiDecorator(Gear.class, "${label}$s#${name}$s", SEPARATOR, " - "); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 4b21d16..a84bb87 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -37,6 +37,7 @@ import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; import fr.ifremer.tutti.persistence.entities.protocol.OperationFieldMappingRow; +import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocols; @@ -340,6 +341,8 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI this.ui.getBenthosComboBox().reset(); this.ui.getCaracteristicMappingComboBox().reset(); + Decorator<Rtp> rtpDecorator = getDecorator(Rtp.class, null); + { // create species table model @@ -387,7 +390,7 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), - new RtpCellRenderer(), + new RtpCellRenderer(rtpDecorator), EditProtocolSpeciesTableModel.USE_RTP); initTable(table, @@ -452,7 +455,7 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), - new RtpCellRenderer(), + new RtpCellRenderer(rtpDecorator), EditProtocolSpeciesTableModel.USE_RTP); initTable(table, diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java index 323d51f..c922a5f 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -1,10 +1,12 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; +import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JTable; @@ -38,7 +40,10 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { private Font selectedFont; - public RtpCellRenderer() { + private Decorator<Rtp> decorator; + + public RtpCellRenderer(Decorator<Rtp> decorator) { + this.decorator = decorator; setHorizontalAlignment(CENTER); setIcon(SwingUtil.createActionIcon("edit-attachment")); this.withoutRtp = n("tutti.editRtp.withoutRtp.tip"); @@ -78,7 +83,11 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { } else { - toolTipTextValue = t(withRtp); + toolTipTextValue = decorator.toString(rowModel.getRtpMale()) + + " // " + + decorator.toString(rowModel.getRtpFemale()) + + " // " + + decorator.toString(rowModel.getRtpUndefined()); textValue = t(withRtp); } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit ee3499057b3a9c47533b921de1190b4bc33680f0 Author: Kevin Morin <morin@codelutin.com> Date: Wed Jan 20 12:12:46 2016 +0100 modif de l'icone des rtp + mise en forme du tooltip + highlighter (refs #6115) --- .../content/protocol/EditProtocolUIHandler.java | 32 +++++++++++++++++++-- .../ui/swing/content/protocol/rtp/RtpButton.java | 2 +- .../content/protocol/rtp/RtpCellRenderer.java | 18 ++++-------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 +- .../src/main/resources/icons/action-edit-rtp.png | Bin 0 -> 543 bytes .../src/main/resources/icons/action-next.png | Bin 349 -> 395 bytes .../src/main/resources/icons/action-previous.png | Bin 345 -> 389 bytes 8 files changed, 40 insertions(+), 16 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index a84bb87..0bf72e6 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -53,6 +53,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesAbleBatchRowHe import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpCellEditor; import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpCellRenderer; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; +import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.editor.bean.BeanDoubleList; import jaxx.runtime.swing.editor.bean.BeanDoubleListModel; @@ -65,9 +66,13 @@ import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; +import org.jdesktop.swingx.decorator.ComponentAdapter; +import org.jdesktop.swingx.decorator.HighlightPredicate; +import org.jdesktop.swingx.decorator.Highlighter; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; import org.jdesktop.swingx.table.TableColumnExt; import org.nuiton.decorator.Decorator; +import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import org.nuiton.jaxx.application.swing.util.CloseableUI; import javax.swing.JComboBox; @@ -84,6 +89,7 @@ import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumnModel; +import java.awt.Color; import java.awt.Component; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -390,12 +396,13 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), - new RtpCellRenderer(rtpDecorator), + new RtpCellRenderer(), EditProtocolSpeciesTableModel.USE_RTP); initTable(table, columnModel, speciesColumn, + EditProtocolSpeciesTableModel.USE_RTP, speciesRows, new ListSelectionListener() { @@ -455,12 +462,13 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), - new RtpCellRenderer(rtpDecorator), + new RtpCellRenderer(), EditProtocolSpeciesTableModel.USE_RTP); initTable(table, columnModel, speciesColumn, + EditProtocolSpeciesTableModel.USE_RTP, benthosRows, new ListSelectionListener() { @@ -970,6 +978,7 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI protected void initTable(final JXTable table, DefaultTableColumnModelExt columnModel, TableColumnExt speciesColumn, + ColumnIdentifier rtpIdentifier, List<EditProtocolSpeciesRowModel> rows, ListSelectionListener selectionListener) { @@ -984,6 +993,9 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI tableHeader.setReorderingAllowed(false); addHighlighters(table); + if (rtpIdentifier != null) { + addRtpHighlighter(table, rtpIdentifier); + } // always scroll to selected row SwingUtil.scrollToTableSelection(table); @@ -1049,6 +1061,22 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI tableModel.setRows(rows); } + protected void addRtpHighlighter(JXTable table, ColumnIdentifier identifier) { + Color cellWithValueColor = getConfig().getColorCellWithValue(); + + Highlighter commentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter( + new HighlightPredicate.AndHighlightPredicate( + new HighlightPredicate.IdentifierHighlightPredicate(identifier), + // for not null value + new HighlightPredicate() { + @Override + public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { + return (boolean) adapter.getValue(); + } + }), cellWithValueColor); + table.addHighlighter(commentHighlighter); + } + protected EditProtocolOperationFieldsRowModel createOperationFieldRow(String property, String column) { EditProtocolOperationFieldsRowModel newRow = new EditProtocolOperationFieldsRowModel(); newRow.addPropertyChangeListener(new PropertyChangeListener() { 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 96bc1f0..090d589 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 @@ -26,7 +26,7 @@ public class RtpButton extends JToggleButton { public RtpButton(final EditProtocolUI ui) { - setIcon(SwingUtil.createActionIcon("edit-attachment")); + setIcon(SwingUtil.createActionIcon("edit-rtp")); setText(t("tutti.editRtp.button")); setToolTipText(t("tutti.editRtp.button.tip")); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java index c922a5f..55f8355 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpCellRenderer.java @@ -1,12 +1,10 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; -import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JTable; @@ -40,12 +38,9 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { private Font selectedFont; - private Decorator<Rtp> decorator; - - public RtpCellRenderer(Decorator<Rtp> decorator) { - this.decorator = decorator; + public RtpCellRenderer() { setHorizontalAlignment(CENTER); - setIcon(SwingUtil.createActionIcon("edit-attachment")); + setIcon(SwingUtil.createActionIcon("edit-rtp")); this.withoutRtp = n("tutti.editRtp.withoutRtp.tip"); this.withRtp = n("tutti.editRtp.withRtp.tip"); } @@ -83,11 +78,10 @@ public class RtpCellRenderer extends DefaultTableCellRenderer { } else { - toolTipTextValue = decorator.toString(rowModel.getRtpMale()) - + " // " - + decorator.toString(rowModel.getRtpFemale()) - + " // " - + decorator.toString(rowModel.getRtpUndefined()); + toolTipTextValue = t("tutti.editRtp.tooltip", + rowModel.getRtpMale().getA(), rowModel.getRtpMale().getB(), + rowModel.getRtpFemale().getA(), rowModel.getRtpFemale().getB(), + rowModel.getRtpUndefined().getA(), rowModel.getRtpUndefined().getB()); textValue = t(withRtp); } 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 6eb1384..917c711 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 @@ -1155,6 +1155,7 @@ tutti.editRtp.field.rtpUndefinedB= tutti.editRtp.field.rtpUndefinedB.tip= tutti.editRtp.malePanel= tutti.editRtp.simpleText= +tutti.editRtp.tooltip= tutti.editRtp.undefinedPanel= tutti.editRtp.withRtp.tip= tutti.editRtp.withoutRtp.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 ef8fe9b..5cbaa21 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 @@ -1097,7 +1097,8 @@ tutti.editRtp.field.rtpUndefinedA=A tutti.editRtp.field.rtpUndefinedA.tip=Paramètre A tutti.editRtp.field.rtpUndefinedB=B tutti.editRtp.field.rtpUndefinedB.tip=Paramètre B -tutti.editRtp.malePanel=Male +tutti.editRtp.malePanel=Mâle +tutti.editRtp.tooltip=<ul><li><strong>Mâle \:</strong> <em>a \: </em>%1$s - <em>b \: </em>%2$s</li><li><strong>Femelle \:</strong> <em>a \: </em>%1$s - <em>b \: </em>%2$s</li><li><strong>Inconnu \:</strong> <em>a \: </em>%1$s - <em>b \: </em>%2$s</li></ul> tutti.editRtp.undefinedPanel=Sexe inconnu tutti.editRtp.withRtp.tip=RTP renseignés tutti.editRtp.withoutRtp.tip=RTP non renseignés diff --git a/tutti-ui-swing/src/main/resources/icons/action-edit-rtp.png b/tutti-ui-swing/src/main/resources/icons/action-edit-rtp.png new file mode 100644 index 0000000..701a60a Binary files /dev/null and b/tutti-ui-swing/src/main/resources/icons/action-edit-rtp.png differ diff --git a/tutti-ui-swing/src/main/resources/icons/action-next.png b/tutti-ui-swing/src/main/resources/icons/action-next.png index b1a1819..e252606 100644 Binary files a/tutti-ui-swing/src/main/resources/icons/action-next.png and b/tutti-ui-swing/src/main/resources/icons/action-next.png differ diff --git a/tutti-ui-swing/src/main/resources/icons/action-previous.png b/tutti-ui-swing/src/main/resources/icons/action-previous.png index 5dc6967..18f9cc1 100644 Binary files a/tutti-ui-swing/src/main/resources/icons/action-previous.png and b/tutti-ui-swing/src/main/resources/icons/action-previous.png differ -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 514e59e21934f1a6c9418f3dabb760bd8035997e Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 15:47:21 2016 +0100 suppression code commenté --- .../swing/content/protocol/rtp/RtpCellEditor.java | 32 ++-------------------- 1 file changed, 3 insertions(+), 29 deletions(-) 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 29bba6b..3b4746b 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 @@ -17,6 +17,7 @@ import java.util.EventObject; * Created on 14/01/16. * * @author Tony Chemit - chemit@codelutin.com + * @since 4.4 */ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor { @@ -26,14 +27,6 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor return new RtpCellEditor(ui); } -// protected JTable table; -// -// protected EditProtocolSpeciesTableModel tableModel; -// -// protected Integer rowIndex; -// -// protected Integer columnIndex; - protected final RtpButton editorButton; public RtpCellEditor(EditProtocolUI context) { @@ -59,16 +52,11 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor boolean isSelected, int row, int column) { -// this.table = table; -// this.tableModel = (EditProtocolSpeciesTableModel) table.getRowSorter().getModel(); - EditProtocolSpeciesTableModel tableModel = (EditProtocolSpeciesTableModel) table.getModel(); - -// int rowIndex = table.convertRowIndexToModel(row); -// columnIndex = table.convertColumnIndexToModel(column); + EditProtocolSpeciesTableModel tableModel = (EditProtocolSpeciesTableModel) table.getModel(); editorButton.init(tableModel, table.getRowSorter(), row); - return editorButton; + } @Override @@ -82,18 +70,4 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor return true; } -// @Override -// public boolean stopCellEditing() { -// boolean b = super.stopCellEditing(); -// if (b) { -// editorButton.setBean(null); -// } -// return b; -// } -// -// @Override -// public void cancelCellEditing() { -// editorButton.setBean(null); -// super.cancelCellEditing(); -// } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 5fc1d700f87e4882e16aeb721e22df5430022579 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 15:47:33 2016 +0100 Renommage titre --- tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5cbaa21..8288461 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 @@ -1925,7 +1925,7 @@ tutti.resetCruise.action.cruiseReloaded=<html><body>La campagne <strong>%s</stro tutti.resetProgram.action.programReloaded=<html><body>Le programme <strong>%s</strong> est rechargé</body></html>. tutti.rtpEdit.askCancelEditBeforeLeaving=Les relations taille-poids ne sont pas valides et ne peuvent pas être enregistrées tutti.rtpEdit.askSaveBeforeLeaving=Des modifications n'ont pas été enregistrées -tutti.rtpEdit.title=Édition des relations taille-poids de l'espèce %s +tutti.rtpEdit.title=Relations taille-poids de l'espèce %s tutti.selectBenthos.title=Choisissez une espèce du benthos tutti.selectCruise.action.chooseCruiseExportFile=Exporter tutti.selectCruise.action.chooseProgramExportFile=Exporter -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit c03118d215c2a0791e448d058dc0bd24f716c749 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 16:21:46 2016 +0100 centrer sur la fenetre principale l'éditeur de rtp --- .../java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/RtpButton.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 090d589..3ff2e8f 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 @@ -56,7 +56,7 @@ public class RtpButton extends JToggleButton { public void stateChanged(ChangeEvent e) { if (isSelected()) { if (!popup.isVisible()) { - SwingUtil.center(ui, popup); + SwingUtil.center(ui.getHandler().getContext().getMainUI(), popup); popup.openEditor(); } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 25d2b532e25ef09321d9f393c06e4c2250d5df64 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 17:18:18 2016 +0100 Bien modifier le modèle du tableau lorsqu'on enregistre un RTP --- .../ui/swing/content/protocol/rtp/RtpEditorUIHandler.java | 1 + .../ui/swing/content/protocol/rtp/RtpEditorUIModel.java | 15 +++++++++++++++ .../swing/content/protocol/rtp/actions/SaveRtpAction.java | 11 +---------- 3 files changed, 17 insertions(+), 10 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 8d1a86f..afcc7b0 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 @@ -9,6 +9,7 @@ import jaxx.runtime.swing.ComponentResizer; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXTitledPanel; import javax.swing.JComponent; import javax.swing.JOptionPane; 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 e23eec1..f172fad 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 @@ -2,6 +2,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.persistence.entities.protocol.Rtps; 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; @@ -194,4 +195,18 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public void reset() { setRowModel(row); } + + public void updateRowRtp() { + + EditProtocolSpeciesRowModel rowModel = getRowModel(); + rowModel.setRtpMale(Rtps.newRtp(getRtpMale())); + rowModel.setRtpFemale(Rtps.newRtp(getRtpFemale())); + rowModel.setRtpUndefined(Rtps.newRtp(getRtpUndefined())); + + setModify(false); + + tableModel.fireTableRowsUpdated(row, 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/SaveRtpAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/rtp/actions/SaveRtpAction.java index 0e00ba1..0c526b3 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 @@ -1,7 +1,5 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp.actions; -import fr.ifremer.tutti.persistence.entities.protocol.Rtps; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUI; import fr.ifremer.tutti.ui.swing.content.protocol.rtp.RtpEditorUIModel; import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; @@ -23,14 +21,7 @@ public class SaveRtpAction extends SimpleActionSupport<RtpEditorUI> { protected void onActionPerformed(RtpEditorUI ui) { RtpEditorUIModel model = ui.getModel(); - - EditProtocolSpeciesRowModel rowModel = model.getRowModel(); - - rowModel.setRtpMale(Rtps.newRtp(model.getRtpMale())); - rowModel.setRtpFemale(Rtps.newRtp(model.getRtpFemale())); - rowModel.setRtpUndefined(Rtps.newRtp(model.getRtpUndefined())); - - model.setModify(false); + model.updateRowRtp(); } } \ No newline at end of file -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 6c08e824f694f06f01c0a20d8689d5720c72095b Merge: 2db8dc6 25d2b53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jan 20 17:18:52 2016 +0100 Fixes #6115 Merge branch 'feature/6115_ajout_RTP' into develop .../entities/protocol/SpeciesProtocolBean.java | 25 +++ .../src/main/xmi/tutti-persistence.zargo | Bin 58480 -> 59339 bytes .../fr/ifremer/tutti/service/DecoratorService.java | 2 + .../protocol/EditProtocolSpeciesRowModel.java | 74 ++++++- .../protocol/EditProtocolSpeciesTableModel.java | 5 + .../ui/swing/content/protocol/EditProtocolUI.jaxx | 3 + .../content/protocol/EditProtocolUIHandler.java | 42 ++++ .../ui/swing/content/protocol/rtp/RtpButton.java | 75 ++++++++ .../swing/content/protocol/rtp/RtpCellEditor.java | 73 +++++++ .../content/protocol/rtp/RtpCellRenderer.java | 104 ++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jaxx | 156 +++++++++++++++ .../ui/swing/content/protocol/rtp/RtpEditorUI.jcss | 131 +++++++++++++ .../content/protocol/rtp/RtpEditorUIHandler.java | 167 ++++++++++++++++ .../content/protocol/rtp/RtpEditorUIModel.java | 212 +++++++++++++++++++++ .../protocol/rtp/actions/CloseRtpAction.java | 24 +++ .../protocol/rtp/actions/EditNextRowAction.java | 24 +++ .../rtp/actions/EditPreviousRowAction.java | 25 +++ .../protocol/rtp/actions/SaveRtpAction.java | 27 +++ .../rtp/RtpEditorUIModel-error-validation.xml | 74 +++++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 56 ++++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 40 ++++ .../src/main/resources/icons/action-edit-rtp.png | Bin 0 -> 543 bytes .../src/main/resources/icons/action-next.png | Bin 0 -> 395 bytes .../src/main/resources/icons/action-previous.png | Bin 0 -> 389 bytes 24 files changed, 1337 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm