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 868bca2d6c50e379ed47c8e65b08b4b995afe93f Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Oct 26 21:40:49 2016 +0200 Ajout des systèmes observés comme onglet de l'écran d'activité --- .../content/open/impl/seine/ActivitySeineUI.jaxx | 58 ++++++++++++++++++---- .../content/open/impl/seine/ActivitySeineUI.jcss | 33 ++++++++++++ .../open/impl/seine/ActivitySeineUIHandler.java | 2 + .../open/impl/seine/ActivitySeineUIModel.java | 20 ++++++++ .../i18n/application-swing_en_GB.properties | 1 + .../i18n/application-swing_es_ES.properties | 1 + .../i18n/application-swing_fr_FR.properties | 1 + 7 files changed, 105 insertions(+), 11 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jaxx index 4eb07c9..702b102 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jaxx @@ -21,7 +21,7 @@ --> <fr.ird.observe.application.swing.ui.content.open.ContentOpenableUI superGenericType='ActivitySeineDto' - contentTitle='{n("observe.storage.activitySeine.title")}'> + contentTitle='{n("observe.storage.activitySeine.title")}'> <style source="../../../Common.jcss"/> @@ -32,6 +32,7 @@ fr.ird.observe.services.dto.seine.FloatingObjectDto fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.FpaZoneDto + fr.ird.observe.services.dto.referential.seine.ObservedSystemDto fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto @@ -46,8 +47,10 @@ org.nuiton.jaxx.widgets.datetime.TimeEditor org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditor + org.nuiton.jaxx.widgets.select.FilterableDoubleList java.awt.Dimension + java.util.Collection javax.swing.SwingConstants @@ -71,8 +74,6 @@ errorTableModel='{getErrorTableModel()}' context='ui-create'> - <field name='observedSystemEmpty' component='{actionDown}'/> - <field name='observedSystemDistance' component='{actionDown}'/> <field name='longitude' component='coordinatesEditor'/> <field name='latitude' component='coordinatesEditor'/> <field name='quadrant' component='coordinatesEditor'/> @@ -128,7 +129,9 @@ void $afterCompleteSetup() { <JLabel id='vesselActivitySeineLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='vesselActivitySeine' genericType='ReferentialReference<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> + <BeanComboBox id='vesselActivitySeine' + genericType='ReferentialReference<VesselActivitySeineDto>' + _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> </cell> </row> @@ -138,7 +141,9 @@ void $afterCompleteSetup() { <JLabel id='surroundingActivityLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferentialReference<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> + <BeanComboBox id='surroundingActivity' constructorParams='this' + genericType='ReferentialReference<SurroundingActivityDto>' + _entityClass='SurroundingActivityDto.class'/> </cell> </row> @@ -148,7 +153,8 @@ void $afterCompleteSetup() { <JLabel id='previousFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='previousFpaZone' constructorParams='this' + genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -158,7 +164,8 @@ void $afterCompleteSetup() { <JLabel id='currentFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='currentFpaZone' constructorParams='this' + genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -168,7 +175,8 @@ void $afterCompleteSetup() { <JLabel id='nextFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='nextFpaZone' constructorParams='this' + genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -218,7 +226,8 @@ void $afterCompleteSetup() { <JLabel id='windLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='wind' genericType='ReferentialReference<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> + <BeanComboBox id='wind' genericType='ReferentialReference<WindDto>' + _entityClass='WindDto.class' constructorParams='this'/> </cell> </row> @@ -228,7 +237,8 @@ void $afterCompleteSetup() { <JLabel id='detectionModeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='detectionMode' genericType='ReferentialReference<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> + <BeanComboBox id='detectionMode' genericType='ReferentialReference<DetectionModeDto>' + _entityClass='DetectionModeDto.class' constructorParams='this'/> </cell> </row> @@ -238,7 +248,9 @@ void $afterCompleteSetup() { <JLabel id='reasonForNoFishingLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='reasonForNoFishing' genericType='ReferentialReference<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> + <BeanComboBox id='reasonForNoFishing' + genericType='ReferentialReference<ReasonForNoFishingDto>' + _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> </cell> </row> <row> @@ -249,6 +261,30 @@ void $afterCompleteSetup() { </Table> </tab> + <tab id="observedSystemTab"> + <Table fill="both"> + <!-- systeme observe --> + <row> + <cell columns="2" fill="both" weighty="0.7"> + <JScrollPane id='observedSystemPane' onFocusGained='observedSystem.requestFocus()'> + <FilterableDoubleList id='observedSystem' + genericType='ReferentialReference<ObservedSystemDto>' + _entityClass='ObservedSystemDto.class'/> + </JScrollPane> + </cell> + </row> + <!-- distance au système observe --> + <row> + <cell anchor='west'> + <JLabel id='observedSystemDistanceLabel'/> + </cell> + <cell weightx="1" fill="both"> + <NumberEditor id='observedSystemDistance' constructorParams='this'/> + </cell> + </row> + </Table> + </tab> + </JTabbedPane> </cell> </row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jcss index 8e587b2..1f2d831 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUI.jcss @@ -183,6 +183,39 @@ selectedItem:{bean.getReasonForNoFishing()}; } + +#observedSystemTab { + title:{t("observe.storage.activitySeine.tab.observedSystem")}; + icon:{getHandler().getErrorIconIfFalse(model.isObservedSystemTabValid())}; +} + +#observedSystemPane { + minimumSize:{new Dimension(10,150)}; +} + +#observedSystem { + bean:{bean}; + property: {ActivitySeineDto.PROPERTY_OBSERVED_SYSTEM}; + selected:{(Collection)bean.getObservedSystem()}; + _validatorLabel: {t("observe.common.observedSystem")}; + showListLabel: true; + universeLabel:{t("observe.storage.activityObservedSystem.availableObservedSystem")}; + selectedLabel:{t("observe.storage.activityObservedSystem.selectedObservedSystem")}; +} + +#observedSystemDistanceLabel { + text:"observe.common.observedSystemDistance"; + labelFor:{observedSystemDistance}; +} + +#observedSystemDistance { + bean:{bean}; + property: {ActivitySeineDto.PROPERTY_OBSERVED_SYSTEM_DISTANCE}; + model:{bean.getObservedSystemDistance()}; + useFloat:true; + numberPattern:{fr.ird.observe.application.swing.ui.UIHelper.DECIMAL2_PATTERN}; +} + #comment { columnHeaderView:{new JLabel(t("observe.common.comment"))}; minimumSize:{new Dimension(10,50)}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 999bfb8..70caed8 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -355,10 +355,12 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto> boolean generalTabValid = !errorProperties.removeAll(ActivitySeineUIModel.GENERAL_TAB_PROPERTIES); boolean measurementsTabValid = !errorProperties.removeAll(ActivitySeineUIModel.MEASUREMENTS_TAB_PROPERTIES); + boolean observedSystemTabValid = !errorProperties.removeAll(ActivitySeineUIModel.OBSERVED_SYSTEM_TAB_PROPERTIES); ActivitySeineUIModel model = (ActivitySeineUIModel) getModel(); model.setGeneralTabValid(generalTabValid); model.setMeasurementsTabValid(measurementsTabValid); + model.setObservedSystemTabValid(observedSystemTabValid); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIModel.java index 42689e7..51863c6 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIModel.java @@ -43,6 +43,8 @@ public class ActivitySeineUIModel extends ContentOpenableUIModel<ActivitySeineDt public static final String PROPERTY_MEASUREMENTS_TAB_VALID = "measurementsTabValid"; + public static final String PROPERTY_OBSERVED_SYSTEM_TAB_VALID = "observedSystemTabValid"; + public static final String PROPERTY_SET_OPERATION = "setOperation"; public static final String PROPERTY_CHANGED_ZONE_OPERATION = "changedZoneOperation"; @@ -65,11 +67,19 @@ public class ActivitySeineUIModel extends ContentOpenableUIModel<ActivitySeineDt ActivitySeineDto.PROPERTY_DETECTION_MODE, ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING).build(); + public static final Set<String> OBSERVED_SYSTEM_TAB_PROPERTIES = + ImmutableSet.<String>builder().add(ActivitySeineDto.PROPERTY_OBSERVED_SYSTEM_DISTANCE, + ActivitySeineDto.PROPERTY_OBSERVED_SYSTEM, + ActivitySeineDto.PROPERTY_WIND, + ActivitySeineDto.PROPERTY_DETECTION_MODE, + ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING).build(); + private static final long serialVersionUID = 1L; protected boolean generalTabValid; protected boolean measurementsTabValid; + protected boolean observedSystemTabValid; public ActivitySeineUIModel() { super(ActivitySeineDto.class); @@ -110,6 +120,16 @@ public class ActivitySeineUIModel extends ContentOpenableUIModel<ActivitySeineDt firePropertyChange(PROPERTY_GENERAL_TAB_VALID, oldValue, generalTabValid); } + public boolean isObservedSystemTabValid() { + return observedSystemTabValid; + } + + public void setObservedSystemTabValid(boolean observedSystemTabValid) { + Object oldValue = isObservedSystemTabValid(); + this.observedSystemTabValid = observedSystemTabValid; + firePropertyChange(PROPERTY_OBSERVED_SYSTEM_TAB_VALID, oldValue, observedSystemTabValid); + } + public boolean isSetOperation() { return VesselActivitySeineHelper.isSetOperation(bean.getVesselActivitySeine()); } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 517ed1a..a56e6b8 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -1540,6 +1540,7 @@ observe.storage.activitySeine.message.not.open=Activity is not opened, no edit p observe.storage.activitySeine.message.updating=Updating an activity observe.storage.activitySeine.tab.general=General caracteristics observe.storage.activitySeine.tab.measurements=Measurements +observe.storage.activitySeine.tab.observedSystem=Observed systems observe.storage.activitySeine.title=Activity observe.storage.activitySeineObservedSystem.title=Observed systems observe.storage.activitySeines.title=Activities diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index f229e6a..0499c0f 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -1540,6 +1540,7 @@ observe.storage.activitySeine.message.not.open=La actividad no está abierta, im observe.storage.activitySeine.message.updating=Se está modificando la actividad actual. observe.storage.activitySeine.tab.general=Características generales observe.storage.activitySeine.tab.measurements=Medidas +observe.storage.activitySeine.tab.observedSystem=Sistema observado observe.storage.activitySeine.title=Actividad observe.storage.activitySeineObservedSystem.title=Sistema observado observe.storage.activitySeines.title=Actividades diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 1ca1856..a8a846f 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -1540,6 +1540,7 @@ observe.storage.activitySeine.message.not.open=L'activité n'est pas ouverte, au observe.storage.activitySeine.message.updating=L'activité est en cours de modification. observe.storage.activitySeine.tab.general=Caractéristiques générales observe.storage.activitySeine.tab.measurements=Mesures +observe.storage.activitySeine.tab.observedSystem=Systèmes observés observe.storage.activitySeine.title=Activité observe.storage.activitySeineObservedSystem.title=Système observé observe.storage.activitySeines.title=Activités -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.