Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 60a5d9ed by Tony CHEMIT at 2017-06-14T11:07:52+02:00 Do not reload states when table model is adjusting (See #612) - - - - - 2 changed files: - application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedTableModel.java - application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedUIHandler.java Changes: ===================================== application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedTableModel.java ===================================== --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedTableModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedTableModel.java @@ -45,6 +45,7 @@ public class NonTargetCatchReleasedTableModel extends ContentTableModel<SetSeine private static final Log log = LogFactory.getLog(NonTargetCatchReleasedTableModel.class); private static final long serialVersionUID = 1L; + private boolean adjusting; public NonTargetCatchReleasedTableModel(ObserveContentTableUI<SetSeineNonTargetCatchReleasedDto, NonTargetCatchReleasedDto, ?> context, List<ContentTableMeta<NonTargetCatchReleasedDto>> contentTableMetas) { @@ -53,7 +54,12 @@ public class NonTargetCatchReleasedTableModel extends ContentTableModel<SetSeine @Override protected void load(NonTargetCatchReleasedDto source, NonTargetCatchReleasedDto target) { - NonTargetCatchReleasedHelper.copyNonTargetCatchReleasedDto(source, target); + adjusting = true; + try { + NonTargetCatchReleasedHelper.copyNonTargetCatchReleasedDto(source, target); + } finally { + adjusting = false; + } } @Override @@ -90,4 +96,8 @@ public class NonTargetCatchReleasedTableModel extends ContentTableModel<SetSeine getModel().setCanResetRow(false); getModel().setModified(true); } + + public boolean isAdjusting() { + return adjusting; + } } ===================================== application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedUIHandler.java ===================================== --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchReleasedUIHandler.java @@ -98,8 +98,10 @@ public class NonTargetCatchReleasedUIHandler extends ContentTableUIHandler<SetSe public NonTargetCatchReleasedUIHandler() { super(DataContextType.SetSeine); speciesChanged = evt -> { - ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); - updateSpecies(species, getTableEditBean().getNonTargetCatchReleasedState()); + if (!getTableModel().isAdjusting()) { + ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); + updateSpecies(species, getTableEditBean().getNonTargetCatchReleasedState()); + } }; onToogleTimeEditorSliderChangedListener = evt -> { Boolean newValue = (Boolean) evt.getNewValue(); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/60a5d9ed4c34e5c4c38a03c84f3f... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/60a5d9ed4c34e5c4c38a03c84f3f... You're receiving this email because of your account on gitlab.com.