This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 32e4194e841901e226d3388fa8728d3f44f56116 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 25 17:54:12 2016 +0200 Utilisation d'un TimeEditor pour le temps depuis le déclenchement (écran Capture) --- .../table/impl/longline/CatchLonglineUI.jaxx | 3 +- .../table/impl/longline/CatchLonglineUI.jcss | 9 +++-- .../impl/longline/CatchLonglineUIHandler.java | 46 ++++++++++++++++++---- .../table/impl/longline/CatchLonglineUIModel.java | 16 ++++++++ 4 files changed, 62 insertions(+), 12 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx index b6a137e..bf7b2c1 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -52,6 +52,7 @@ jaxx.runtime.swing.editor.bean.BeanComboBox org.nuiton.jaxx.widgets.select.FilterableDoubleList org.nuiton.jaxx.widgets.datetime.DateTimeEditor + org.nuiton.jaxx.widgets.datetime.TimeEditor java.awt.Dimension @@ -384,7 +385,7 @@ <JLabel id='timeSinceContactLabel'/> </cell> <cell> - <NumberEditor id='timeSinceContact' constructorParams='this'/> + <TimeEditor id='timeSinceContact' constructorParams='this'/> </cell> </row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss index 251fb3d..c8e08b7 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUI.jcss @@ -422,11 +422,11 @@ } #timeSinceContact { - property:{BranchlineDto.PROPERTY_TIME_SINCE_CONTACT}; - bean:{branchlineBean}; + propertyTime:{CatchLonglineUIModel.PROPERTY_BRANCHLINE_TIME_SINCE_CONTACT}; + bean:{model}; enabled:{BooleanUtils.isTrue(branchlineBean.getTimer())}; - model:{branchlineBean.getTimeSinceContact()}; - numberPattern:{fr.ird.observe.application.swing.ui.UIHelper.LONG_10_DIGITS_PATTERN}; + time:{model.getBranchlineTimeSinceContact()}; + showTimeEditorSlider:false; _validatorLabel:{t("observe.content.branchline.timeSinceContact")}; } @@ -439,6 +439,7 @@ date:{branchlineBean.getTimerTimeOnBoard()}; propertyDate: {BranchlineDto.PROPERTY_TIMER_TIME_ON_BOARD}; bean:{branchlineBean}; + showTimeEditorSlider:false; enabled:{BooleanUtils.isTrue(branchlineBean.getTimer())}; label:{t("observe.content.branchline.timerTimeOnBoard")}; _validatorLabel:{t("observe.content.branchline.timerTimeOnBoard")}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 20dea2b..bf75e79 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -24,9 +24,15 @@ package fr.ird.observe.application.swing.ui.content.table.impl.longline; import com.google.common.collect.Lists; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.db.constants.DataContextType; import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; -import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.ObserveMainUI; +import fr.ird.observe.application.swing.ui.UIHelper; +import fr.ird.observe.application.swing.ui.content.ContentUIInitializer; +import fr.ird.observe.application.swing.ui.content.ContentUIModel; +import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; @@ -50,12 +56,6 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.BranchlineService; import fr.ird.observe.services.service.longline.SetLonglineCatchService; import fr.ird.observe.services.service.longline.TripLonglineService; -import fr.ird.observe.application.swing.ui.ObserveMainUI; -import fr.ird.observe.application.swing.ui.UIHelper; -import fr.ird.observe.application.swing.ui.content.ContentUIInitializer; -import fr.ird.observe.application.swing.ui.content.ContentUIModel; -import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.validator.swing.SwingValidator; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -63,6 +63,7 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.util.DateUtil; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -71,8 +72,10 @@ import javax.swing.JTable; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeListener; +import java.util.Calendar; import java.util.Collection; import java.util.Collections; +import java.util.Date; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -161,6 +164,8 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat POSITION_HELPER_ENTRY.setContextValue(getUi(), positionHelper); + getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_BRANCHLINE_TIME_SINCE_CONTACT, + evt -> getUi().getBranchlineValidator().setChanged(true)); } @Override @@ -172,6 +177,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat super.openUI(); + getUi().getTimeSinceContact().getSliderHidor().setVisible(false); + getUi().getTimerTimeOnBoard().getSliderHidor().setVisible(false); + // Reset all sections LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); getUi().getSection().setData(positionHelper.getSections()); @@ -204,6 +212,19 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat BranchlineDto branchline = ui.getBranchlineBean(); + if (BooleanUtils.isTrue(branchline.getTimer())) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(getModel().getBranchlineTimeSinceContact()); + int minutes = calendar.get(Calendar.MINUTE); + int hours = calendar.get(Calendar.HOUR); + branchline.setTimeSinceContact(minutes + 60L * hours); + } else { + branchline.setTimeSinceContact(null); + } + if (log.isInfoEnabled()) { + log.info("Time since contact: " + branchline.getTimeSinceContact()); + } + String openSetLonglineId = getDataContext().getSelectedSetLonglineId(); SaveResultDto saveResult = getBranchLineService().save(openSetLonglineId, branchline); saveResult.toDto(branchline); @@ -733,6 +754,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } branchlineValidator.setBean(null); + getModel().setBranchlineTimeSinceContact(null); } else { @@ -749,6 +771,16 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat ui.getValidator().setBean(getBean()); } + if (BooleanUtils.isTrue(branchline.getTimer())) { + Long timeSinceContact = branchline.getTimeSinceContact(); + if (timeSinceContact != null) { + Date timeSinceContactDate = DateUtil.createDate(0, (int) (timeSinceContact % 60), (int) (timeSinceContact / 60f), 0, 0, 0); + getModel().setBranchlineTimeSinceContact(timeSinceContactDate); + } + } else { + Date timeSinceContactDate = DateUtil.createDate(0, 0, 0, 0, 0, 0); + getModel().setBranchlineTimeSinceContact(timeSinceContactDate); + } branchlineValidator.setBean(branchline); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIModel.java index 02c7d51..c5ce76c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/CatchLonglineUIModel.java @@ -34,6 +34,7 @@ import fr.ird.observe.application.swing.ui.content.table.ObserveContentTableUI; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderModelBuilder; +import java.util.Date; import java.util.List; import java.util.Set; @@ -53,6 +54,8 @@ public class CatchLonglineUIModel extends ContentTableUIModel<SetLonglineCatchDt public static final String PROPERTY_BRANCHLINE_TAB_VALID = "branchlineTabValid"; + public static final String PROPERTY_BRANCHLINE_TIME_SINCE_CONTACT = "branchlineTimeSinceContact"; + public static final String PROPERTY_SHOW_INDIVIDUAL_TABS = "showIndividualTabs"; public static final Set<String> CARACTERISTIC_TAB_PROPERTIES = @@ -109,6 +112,8 @@ public class CatchLonglineUIModel extends ContentTableUIModel<SetLonglineCatchDt protected boolean branchlineTabValid; + protected Date branchlineTimeSinceContact; + public CatchLonglineUIModel(CatchLonglineUI ui) { super(SetLonglineCatchDto.class, CatchLonglineDto.class, @@ -213,6 +218,17 @@ public class CatchLonglineUIModel extends ContentTableUIModel<SetLonglineCatchDt firePropertyChange(PROPERTY_BRANCHLINE_TAB_VALID, null, branchlineTabValid); } + public Date getBranchlineTimeSinceContact() { + return branchlineTimeSinceContact; + } + + public void setBranchlineTimeSinceContact(Date branchlineTimeSinceContact) { +// Date oldValue = getBranchlineTimeSinceContact(); + this.branchlineTimeSinceContact = branchlineTimeSinceContact; + firePropertyChange(PROPERTY_BRANCHLINE_TIME_SINCE_CONTACT, null, branchlineTimeSinceContact); + + } + @Override protected ContentTableModel<SetLonglineCatchDto, CatchLonglineDto> createTableModel(ObserveContentTableUI<SetLonglineCatchDto, CatchLonglineDto> ui, List<ContentTableMeta<CatchLonglineDto>> contentTableMetas) { return new CatchLonglineTableModel(ui, contentTableMetas); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.