branch feature/7937 updated (e100100 -> 9c3e9d4)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7937 in repository tutti. See http://git.codelutin.com/tutti.git from e100100 ajouter bouton pour recopier les valeurs a et b saisie dans Mâle vers femelles et Indéterminé. (refs#7937) new 7ee337f bug : pour fermer il faut parfois cliquer deux fois sur [Fermer] (refs #7937) new 9c3e9d4 n'activer RTP que si méthode de mensuration renseignée. Donc dans la navigation flèche avant flèche arrière penser à "sauter" les espèces sans méthode de mensuration (fixes #7937) The 2 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 9c3e9d43cdce327361cf79b1ff6f0fa99cc34775 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 25 18:27:44 2016 +0100 n'activer RTP que si méthode de mensuration renseignée. Donc dans la navigation flèche avant flèche arrière penser à "sauter" les espèces sans méthode de mensuration (fixes #7937) commit 7ee337fa7e94aa399034a622bc68c7739917df89 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 25 15:19:39 2016 +0100 bug : pour fermer il faut parfois cliquer deux fois sur [Fermer] (refs #7937) Summary of changes: .../protocol/EditProtocolSpeciesTableModel.java | 42 ++++++++++++++++++++++ .../content/protocol/EditProtocolUIHandler.java | 3 -- .../ui/swing/content/protocol/rtp/RtpButton.java | 14 +++++--- .../swing/content/protocol/rtp/RtpCellEditor.java | 4 +-- .../content/protocol/rtp/RtpEditorUIHandler.java | 9 ++--- .../content/protocol/rtp/RtpEditorUIModel.java | 32 ++++++++++++++--- 6 files changed, 84 insertions(+), 20 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7937 in repository tutti. See http://git.codelutin.com/tutti.git commit 7ee337fa7e94aa399034a622bc68c7739917df89 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 25 15:19:39 2016 +0100 bug : pour fermer il faut parfois cliquer deux fois sur [Fermer] (refs #7937) --- .../tutti/ui/swing/content/protocol/rtp/RtpButton.java | 14 ++++++++++---- .../ui/swing/content/protocol/rtp/RtpEditorUIHandler.java | 1 - 2 files changed, 10 insertions(+), 5 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 c9064b4..1fba689 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 @@ -27,11 +27,13 @@ package fr.ifremer.tutti.ui.swing.content.protocol.rtp; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import jaxx.runtime.SwingUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.swing.JToggleButton; import javax.swing.RowSorter; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -44,6 +46,9 @@ import static org.nuiton.i18n.I18n.t; */ public class RtpButton extends JToggleButton { + /** Logger. */ + private static final Log log = LogFactory.getLog(RtpButton.class); + private static final long serialVersionUID = 1L; protected final RtpEditorUI popup; @@ -75,9 +80,10 @@ public class RtpButton extends JToggleButton { } }); - addChangeListener(new ChangeListener() { + addActionListener(new ActionListener() { + @Override - public void stateChanged(ChangeEvent e) { + public void actionPerformed(ActionEvent e) { if (isSelected()) { if (!popup.isVisible()) { SwingUtil.center(ui.getHandler().getContext().getMainUI(), popup); 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 fff1340..2dcfb9e 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 @@ -33,7 +33,6 @@ 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; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7937 in repository tutti. See http://git.codelutin.com/tutti.git commit 9c3e9d43cdce327361cf79b1ff6f0fa99cc34775 Author: Kevin Morin <morin@codelutin.com> Date: Mon Jan 25 18:27:44 2016 +0100 n'activer RTP que si méthode de mensuration renseignée. Donc dans la navigation flèche avant flèche arrière penser à "sauter" les espèces sans méthode de mensuration (fixes #7937) --- .../protocol/EditProtocolSpeciesTableModel.java | 42 ++++++++++++++++++++++ .../content/protocol/EditProtocolUIHandler.java | 3 -- .../swing/content/protocol/rtp/RtpCellEditor.java | 4 +-- .../content/protocol/rtp/RtpEditorUIHandler.java | 8 ++--- .../content/protocol/rtp/RtpEditorUIModel.java | 32 ++++++++++++++--- 5 files changed, 74 insertions(+), 15 deletions(-) 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 e1aae83..f7d85e3 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 @@ -29,6 +29,8 @@ import org.jdesktop.swingx.table.TableColumnModelExt; import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -98,6 +100,25 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel result.setCountIfNoFrequencyEnabled(true); result.setCalcifySampleEnabled(true); result.setValid(true); + + result.addPropertyChangeListener(EditProtocolSpeciesRowModel.PROPERTY_LENGTH_STEP_PMFM, + new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + + if (evt.getNewValue() == null) { + + EditProtocolSpeciesRowModel rowModel = (EditProtocolSpeciesRowModel) evt.getSource(); + rowModel.setRtpMale(null); + rowModel.setRtpFemale(null); + rowModel.setRtpUndefined(null); + + } + + } + }); + return result; } @@ -117,6 +138,27 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel fireTableCellUpdated(rowIndex, columnIndex); } + @Override + protected boolean isCellEditable(int rowIndex, + int columnIndex, + ColumnIdentifier<EditProtocolSpeciesRowModel> propertyName) { + + boolean result = super.isCellEditable(rowIndex, + columnIndex, + propertyName); + if (result) { + + if (USE_RTP.equals(propertyName)) { + + // must have filled a species to edit this column + EditProtocolSpeciesRowModel entry = getEntry(rowIndex); + result = entry.getLengthStepPmfm() != null; + + } + } + return result; + } + /** * Return the list of used species in the table (used to fill the * comparator cache for species sort) 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 0bf72e6..c92afd3 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,7 +37,6 @@ 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; @@ -347,8 +346,6 @@ 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 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 6e063a7..883b7ee 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 @@ -55,8 +55,8 @@ public class RtpCellEditor extends AbstractCellEditor implements TableCellEditor public RtpCellEditor(EditProtocolUI context) { - this.editorButton = new RtpButton(context); - this.editorButton.setBorder(new LineBorder(Color.BLACK)); + editorButton = new RtpButton(context); + editorButton.setBorder(new LineBorder(Color.BLACK)); addCellEditorListener(new CellEditorListener() { @Override public void editingStopped(ChangeEvent e) { 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 2dcfb9e..95ba647 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 @@ -29,7 +29,6 @@ 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; @@ -69,12 +68,11 @@ public class RtpEditorUIHandler extends AbstractTuttiUIHandler<RtpEditorUIModel, super.initUI(ui); ui.pack(); - ui.setResizable(true); - ComponentResizer cr = new ComponentResizer(); - cr.registerComponent(ui); +// ComponentResizer cr = new ComponentResizer(); +// cr.registerComponent(ui); ComponentMover cm = new ComponentMover(); - cm.setDragInsets(cr.getDragInsets()); +// cm.setDragInsets(cr.getDragInsets()); cm.registerComponent(ui); ui.getBodyPanel().setRightDecoration(ui.getHeaderToolBar()); 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 1b29a0f..cc2981b 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 @@ -34,6 +34,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.swing.RowSorter; +import java.util.ArrayList; +import java.util.List; /** * Created on 14/01/16. @@ -68,7 +70,9 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci protected EditProtocolSpeciesTableModel tableModel; - protected RowSorter rowSorter; + // list of the indexes of the rows in the table model + // only the rows with lengthstep caracteristics are in the list + protected List<Integer> rows = new ArrayList<>(); protected int row = -1; @@ -180,8 +184,26 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci public void setRowModel(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int row) { this.tableModel = tableModel; - this.rowSorter = rowSorter; - setRowModel(row); + + int rowIndex = 0; + + for (int i = 0 ; i < tableModel.getRowCount() ; i++) { + + int rowIndexInModel = rowSorter.convertRowIndexToModel(i); + EditProtocolSpeciesRowModel rowModel = tableModel.getEntry(rowIndexInModel); + + if (rowModel.getLengthStepPmfm() != null ) { + + rows.add(rowIndexInModel); + if (row == i) { + rowIndex = rows.size() - 1; + } + + } + + } + + setRowModel(rowIndex); } public void setRowModel(int row) { @@ -192,7 +214,7 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci setRow(row); setFirstRow(row == 0); - setLastRow(row == tableModel.getRowCount() - 1); + setLastRow(row == rows.size() - 1); EditProtocolSpeciesRowModel rowModel = getRowModel(); @@ -212,7 +234,7 @@ public class RtpEditorUIModel extends AbstractTuttiBeanUIModel<EditProtocolSpeci } public EditProtocolSpeciesRowModel getRowModel() { - int rowIndex = rowSorter.convertRowIndexToModel(row); + int rowIndex = rows.get(row); return tableModel.getEntry(rowIndex); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm