r3279 - in isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input: . model
Author: chatellier Date: 2011-04-21 12:53:31 +0000 (Thu, 21 Apr 2011) New Revision: 3279 Log: Fix save/cancel buttons binding. Remove deprecated code. Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/PortComboModel.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/SetOfVesselsComboModel.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/TripTypeComboModel.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/VesselTypeComboModel.java Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionParametersUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsBasicsUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionParametersUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionParametersUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionParametersUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -26,6 +26,7 @@ <!-- bean property --> <fr.ifremer.isisfish.entities.SetOfVessels id='bean' javaBean='null'/> + <fr.ifremer.isisfish.entities.EffortDescription id='effortDescription' javaBean='null'/> <import> @@ -43,7 +44,15 @@ bean='{getBean()}' beanClass='fr.ifremer.isisfish.entities.SetOfVessels' uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> </BeanValidator> - + + <BeanValidator id='validatorEffort' context="setofvessels" + bean='{getEffortDescription()}' beanClass='fr.ifremer.isisfish.entities.EffortDescription' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + + <ChangeModel id="changeModel" changed="{validator.isChanged() || validatorEffort.isChanged()}" + valid="{validator.isValid() && validatorEffort.isValid()}"/> + <script><![CDATA[ protected void $afterCompleteSetup() { addPropertyChangeListener(PROPERTY_BEAN, new PropertyChangeListener() { @@ -88,7 +97,12 @@ if (getEffortDescription() != null) { getSaveVerifier().addCurrentEntity(getEffortDescription()); - + selectedEffort.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent evt) { + changeModel.setStayChanged(true); + } + }); + /* NumberEditor is not working fieldEffortDescriptionFishingOperation.init(); fieldEffortDescriptionGearsNumberPerOperation.init(); @@ -119,7 +133,7 @@ <Table border='{BorderFactory.createTitledBorder(_("isisfish.effortDescription.effortTitle"))}'> <row> <cell anchor='east'> - <JLabel text="isisfish.effortDescription.fishingOperation" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.fishingOperation" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0'> <!--NumberEditor id='fieldEffortDescriptionFishingOperation' constructorParams='this' @@ -128,23 +142,23 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FishingOperation"'/--> <JFormattedTextField id="fieldEffortDescriptionFishingOperation" text='{String.valueOf(getEffortDescription().getFishingOperation())}' onKeyReleased='getEffortDescription().setFishingOperation(Integer.parseInt(fieldEffortDescriptionFishingOperation.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FishingOperation"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FishingOperation"'/> </cell> </row> <row> <cell anchor='east'> - <JLabel text="isisfish.effortDescription.fishingOperationDuration" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.fishingOperationDuration" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0'> <JTextField id="fieldEffortDescriptionFishingOperationDuration" text='{String.valueOf(getEffortDescription().getFishingOperationDuration() == null ? "" : getEffortDescription().getFishingOperationDuration().getHour())}' toolTipText="isisfish.effortDescription.fishingOperationDuration.tooltip" onKeyReleased='getEffortDescription().setFishingOperationDuration(new TimeUnit(3600 * Double.parseDouble(fieldEffortDescriptionFishingOperationDuration.getText())))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FishingOperationDuration"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FishingOperationDuration"'/> </cell> </row> <row> <cell anchor='east'> - <JLabel text="isisfish.effortDescription.gearsNumberPerOperation" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.gearsNumberPerOperation" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0'> <!--NumberEditor id='fieldEffortDescriptionGearsNumberPerOperation' constructorParams='this' @@ -153,7 +167,7 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"GearsNumberPerOperation"'/--> <JTextField id="fieldEffortDescriptionGearsNumberPerOperation" text='{String.valueOf(getEffortDescription().getGearsNumberPerOperation())}' onKeyReleased='getEffortDescription().setGearsNumberPerOperation(Integer.parseInt(fieldEffortDescriptionGearsNumberPerOperation.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"GearsNumberPerOperation"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"GearsNumberPerOperation"'/> </cell> </row> </Table> @@ -164,7 +178,7 @@ <Table anchor='north' fill='both' weighty='1.0' border='{BorderFactory.createTitledBorder(_("isisfish.effortDescription.economicTitle"))}'> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.crewSize" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.crewSize" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionCrewSize' constructorParams='this' @@ -173,12 +187,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewSize"'/--> <JTextField id="fieldEffortDescriptionCrewSize" text='{String.valueOf(getEffortDescription().getCrewSize())}' onKeyReleased='getEffortDescription().setCrewSize(Integer.parseInt(fieldEffortDescriptionCrewSize.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewSize"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewSize"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.unitCostOfFishing" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.unitCostOfFishing" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionUnitCostOfFishing' constructorParams='this' @@ -187,12 +201,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"UnitCostOfFishing"'/--> <JTextField id="fieldEffortDescriptionUnitCostOfFishing" text='{String.valueOf(getEffortDescription().getUnitCostOfFishing())}' onKeyReleased='getEffortDescription().setUnitCostOfFishing(Double.parseDouble(fieldEffortDescriptionUnitCostOfFishing.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"UnitCostOfFishing"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"UnitCostOfFishing"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.fixedCrewSalary" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.fixedCrewSalary" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionFixedCrewSalary' constructorParams='this' @@ -201,12 +215,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FixedCrewSalary"'/--> <JTextField id="fieldEffortDescriptionFixedCrewSalary" text='{String.valueOf(getEffortDescription().getFixedCrewSalary())}' onKeyReleased='getEffortDescription().setFixedCrewSalary(Double.parseDouble(fieldEffortDescriptionFixedCrewSalary.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FixedCrewSalary"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"FixedCrewSalary"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.crewFoodCost" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.crewFoodCost" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionCrewFoodCost' constructorParams='this' @@ -215,12 +229,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewFoodCost"'/--> <JTextField id="fieldEffortDescriptionCrewFoodCost" text='{String.valueOf(getEffortDescription().getCrewFoodCost())}' onKeyReleased='getEffortDescription().setCrewFoodCost(Double.parseDouble(fieldEffortDescriptionCrewFoodCost.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewFoodCost"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewFoodCost"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.crewShareRate" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.crewShareRate" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionCrewShareRate' constructorParams='this' @@ -229,12 +243,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewShareRate"'/--> <JTextField id="fieldEffortDescriptionCrewShareRate" text='{String.valueOf(getEffortDescription().getCrewShareRate())}' onKeyReleased='getEffortDescription().setCrewShareRate(Double.parseDouble(fieldEffortDescriptionCrewShareRate.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewShareRate"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"CrewShareRate"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.repairAndMaintenanceGearCost" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.repairAndMaintenanceGearCost" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionRepairAndMaintenanceGearCost' constructorParams='this' @@ -243,12 +257,12 @@ _sensitivityMethod='"RepairAndMaintenanceGearCost"' useSign='true'/--> <JTextField id="fieldEffortDescriptionRepairAndMaintenanceGearCost" text='{String.valueOf(getEffortDescription().getRepairAndMaintenanceGearCost())}' onKeyReleased='getEffortDescription().setRepairAndMaintenanceGearCost(Double.parseDouble(fieldEffortDescriptionRepairAndMaintenanceGearCost.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"RepairAndMaintenanceGearCost"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"RepairAndMaintenanceGearCost"'/> </cell> </row> <row> <cell anchor='east' fill='none' weighty='0.0'> - <JLabel text="isisfish.effortDescription.landingCosts" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.landingCosts" enabled='{getEffortDescription() != null}'/> </cell> <cell fill='horizontal' weightx='1.0' weighty='0.0'> <!--NumberEditor id='fieldEffortDescriptionLandingCosts' constructorParams='this' @@ -257,12 +271,12 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"LandingCosts"'/--> <JTextField id="fieldEffortDescriptionLandingCosts" text='{String.valueOf(getEffortDescription().getLandingCosts())}' onKeyReleased='getEffortDescription().setLandingCosts(Double.parseDouble(fieldEffortDescriptionLandingCosts.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"LandingCosts"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"LandingCosts"'/> </cell> </row> <row> <cell anchor='northeast' fill='none' weighty='1.0'> - <JLabel text="isisfish.effortDescription.otherRunningCost" enabled='{isActive()}'/> + <JLabel text="isisfish.effortDescription.otherRunningCost" enabled='{getEffortDescription() != null}'/> </cell> <cell anchor='north' fill='horizontal' weightx='1.0' weighty='1.0'> <!--NumberEditor id='fieldEffortDescriptionOtherRunningCost' constructorParams='this' @@ -271,7 +285,7 @@ _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"OtherRunningCost"'/--> <JTextField id="fieldEffortDescriptionOtherRunningCost" text='{String.valueOf(getEffortDescription().getOtherRunningCost())}' onKeyReleased='getEffortDescription().setOtherRunningCost(Double.parseDouble(fieldEffortDescriptionOtherRunningCost.getText()))' - enabled='{isActive()}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"OtherRunningCost"'/> + enabled='{getEffortDescription() != null}' decorator='boxed' _sensitivityBean='{EffortDescription.class}' _sensitivityMethod='"OtherRunningCost"'/> </cell> </row> </Table> @@ -281,13 +295,13 @@ <cell fill='horizontal' weightx='0.3'> <JButton id='save' decorator='boxed' text="isisfish.common.save" - enabled="{validator.isValid() && validator.isChanged()}" - onActionPerformed="getSaveVerifier().save();validator.setChanged(false);"/> + enabled="{changeModel.isValid() && changeModel.isChanged()}" + onActionPerformed="getSaveVerifier().save();validator.setChanged(false);validatorEffort.setChanged(false);changeModel.setStayChanged(false)"/> </cell> <cell fill='horizontal' weightx='0.3'> <JButton id='cancel' decorator='boxed' text="isisfish.common.cancel" - enabled="{validator.isChanged()}" + enabled="{changeModel.isChanged()}" onActionPerformed="getSaveVerifier().cancel()"/> </cell> </row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -164,7 +164,8 @@ </cell> <cell fill='horizontal' weightx='1.0'> <JComboBox id="fieldMetierSeasonInfo" onItemStateChanged='metierSeasonInfoChanged()' - renderer="{new fr.ifremer.isisfish.ui.input.renderer.MetierSeasonInfoComboRenderer()}" enabled='{isActive()}'/> + renderer="{new fr.ifremer.isisfish.ui.input.renderer.MetierSeasonInfoComboRenderer()}" + enabled='{isActive() && !changeModel.isChanged()}'/> </cell> </row> <row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -52,6 +52,15 @@ uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> </BeanValidator> + <BeanValidator id='validatorGroup' context="population" + bean='{getPopulationGroup()}' beanClass='fr.ifremer.isisfish.entities.PopulationGroup' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI" + parentValidator="{getValidator()}"> + </BeanValidator> + + <ChangeModel id="changeModel" changed="{validator.isChanged() || validatorGroup.isChanged()}" + valid="{validator.isValid() && validatorGroup.isValid()}" /> + <script><![CDATA[ protected void $afterCompleteSetup() { addPropertyChangeListener(PROPERTY_BEAN, new PropertyChangeListener() { @@ -240,7 +249,7 @@ <JButton id='save' decorator='boxed' text="isisfish.common.save" enabled="{validator.isValid() && validator.isChanged()}" - onActionPerformed="getSaveVerifier().save();validator.setChanged(false);"/> + onActionPerformed="getSaveVerifier().save();validator.setChanged(false);validatorGroup.setChanged(false)"/> </cell> <cell fill='horizontal' weightx='0.5'> <JButton id='cancel' decorator='boxed' Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -53,6 +53,9 @@ parentValidator="{getValidator()}"> </BeanValidator> + <ChangeModel id="changeModel" changed="{validator.isChanged() || validatorSeason.isChanged()}" + valid="{validator.isValid() && validatorSeason.isValid()}" /> + <script><![CDATA[ protected Interval seasonInterval; @@ -256,7 +259,7 @@ </cell> <cell fill='horizontal' weightx='1.0'> <JComboBox id="fieldPopulationSeasonInfoChooser" - onItemStateChanged='seasonChanged()' enabled='{isActive()}' + onItemStateChanged='seasonChanged()' enabled='{isActive() && !changeModel.isChanged()}' renderer="{new fr.ifremer.isisfish.ui.input.renderer.PopulationSeasonInfoComboRenderer()}"/> </cell> </row> @@ -333,13 +336,13 @@ <cell fill='horizontal' weightx='0.5'> <JButton id='save' decorator='boxed' text="isisfish.common.save" - enabled="{validator.isValid() && validator.isChanged()}" - onActionPerformed="save();validator.setChanged(false);"/> + enabled="{changeModel.isValid() && changeModel.isChanged()}" + onActionPerformed="save();validator.setChanged(false);validatorSeason.setChanged(false);"/> </cell> <cell fill='horizontal' weightx='0.5'> <JButton id='cancel' decorator='boxed' text="isisfish.common.cancel" - enabled="{validator.isChanged()}" + enabled="{changeModel.isChanged()}" onActionPerformed="getSaveVerifier().cancel()"/> </cell> </row> @@ -347,7 +350,7 @@ <cell fill='horizontal' weightx='0.5'> <JButton id='create' decorator='boxed' text="isisfish.common.new" - enabled="{!validator.isChanged()}" + enabled="{!changeModel.isChanged()}" onActionPerformed="create()"/> </cell> <cell fill='horizontal' weightx='0.5'> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -34,6 +34,9 @@ uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> </BeanValidator> + <ChangeModel id="changeModel" changed="{validator.isChanged()}" + valid="{validator.isValid()}" /> + <import> fr.ifremer.isisfish.entities.Equation fr.ifremer.isisfish.entities.Gear @@ -95,7 +98,7 @@ // hack to enable save button :( oneSelectivity.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { - validator.setChanged(true); + changeModel.setStayChanged(true); } }); } @@ -191,13 +194,13 @@ <cell fill='horizontal' weightx='1.0'> <JButton id='save' decorator='boxed' text="isisfish.common.save" - enabled="{validator.isValid() && validator.isChanged()}" - onActionPerformed="getSaveVerifier().save();validator.setChanged(false);"/> + enabled="{changeModel.isValid() && changeModel.isChanged()}" + onActionPerformed="getSaveVerifier().save();validator.setChanged(false);changeModel.setStayChanged(false);"/> </cell> <cell fill='horizontal' weightx='1.0'> <JButton id='cancel' decorator='boxed' text="isisfish.common.cancel" - enabled="{validator.isChanged()}" + enabled="{changeModel.isChanged()}" onActionPerformed="getSaveVerifier().cancel()"/> </cell> </row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsBasicsUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsBasicsUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsBasicsUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -33,6 +33,8 @@ fr.ifremer.isisfish.entities.VesselType fr.ifremer.isisfish.entities.Formule fr.ifremer.isisfish.entities.SetOfVessels + fr.ifremer.isisfish.ui.input.model.PortComboModel + fr.ifremer.isisfish.ui.input.model.VesselTypeComboModel jaxx.runtime.swing.editor.NumberEditor java.beans.PropertyChangeEvent java.beans.PropertyChangeListener @@ -55,8 +57,15 @@ } if (evt.getNewValue() != null) { init = true; - jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsPort,getFisheryRegion().getPort(), getBean().getPort(), true); - jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsVesselType,getFisheryRegion().getVesselType(), getBean().getVesselType(), true); + + PortComboModel modelPort = new PortComboModel(getFisheryRegion().getPort()); + fieldSetOfVesselsPort.setModel(modelPort); + fieldSetOfVesselsPort.setSelectedItem(getBean().getPort()); + + VesselTypeComboModel modelVessel = new VesselTypeComboModel(getFisheryRegion().getVesselType()); + fieldSetOfVesselsVesselType.setModel(modelVessel); + fieldSetOfVesselsVesselType.setSelectedItem(getBean().getVesselType()); + init=false; } } @@ -114,7 +123,8 @@ <JLabel text="isisfish.common.port" enabled='{isActive()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JAXXComboBox id="fieldSetOfVesselsPort" onActionPerformed='portChanged()' enabled='{isActive()}' decorator='boxed'/> + <JComboBox id="fieldSetOfVesselsPort" onItemStateChanged='portChanged()' + enabled='{isActive()}' decorator='boxed'/> </cell> </row> <row> @@ -122,7 +132,8 @@ <JLabel text="isisfish.setOfVessels.vesselType" enabled='{isActive()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JAXXComboBox id="fieldSetOfVesselsVesselType" onActionPerformed='vesselTypeChanged()' enabled='{isActive()}' decorator='boxed'/> + <JComboBox id="fieldSetOfVesselsVesselType" onItemStateChanged='vesselTypeChanged()' + enabled='{isActive()}' decorator='boxed'/> </cell> </row> <row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -26,6 +26,19 @@ <fr.ifremer.isisfish.entities.Strategy id='bean' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo0' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo1' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo2' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo3' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo4' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo5' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo6' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo7' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo8' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo9' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo10' javaBean='null'/> + <fr.ifremer.isisfish.entities.StrategyMonthInfo id='strategyMonthInfo11' javaBean='null'/> + <import> org.apache.commons.lang.StringUtils java.beans.PropertyChangeEvent @@ -37,16 +50,90 @@ bean='{getBean()}' beanClass='fr.ifremer.isisfish.entities.Strategy' uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> </BeanValidator> - + + <BeanValidator id='validator0' context="month" + bean='{getStrategyMonthInfo0()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator1' context="month" + bean='{getStrategyMonthInfo1()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator2' context="month" + bean='{getStrategyMonthInfo2()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator3' context="month" + bean='{getStrategyMonthInfo3()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator4' context="month" + bean='{getStrategyMonthInfo4()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator5' context="month" + bean='{getStrategyMonthInfo5()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator6' context="month" + bean='{getStrategyMonthInfo6()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator7' context="month" + bean='{getStrategyMonthInfo7()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator8' context="month" + bean='{getStrategyMonthInfo8()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator9' context="month" + bean='{getStrategyMonthInfo9()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator10' context="month" + bean='{getStrategyMonthInfo10()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + <BeanValidator id='validator11' context="month" + bean='{getStrategyMonthInfo11()}' beanClass='fr.ifremer.isisfish.entities.StrategyMonthInfo' + uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> + </BeanValidator> + + <ChangeModel id="changeModel" changed="{validator0.isChanged() || validator1.isChanged() || validator2.isChanged() || validator3.isChanged() || validator4.isChanged() || validator5.isChanged() || validator6.isChanged() || validator7.isChanged() || validator8.isChanged() || validator9.isChanged() || validator10.isChanged() || validator11.isChanged()}" + valid="{validator0.isValid() && validator1.isValid() && validator2.isValid() && validator3.isValid() && validator4.isValid() && validator5.isValid() && validator6.isValid() && validator7.isValid() && validator8.isValid() && validator9.isValid() && validator10.isValid() && validator11.isValid()}" /> + <script><![CDATA[ protected void $afterCompleteSetup() { addPropertyChangeListener(PROPERTY_BEAN, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getNewValue() == null) { - + setStrategyMonthInfo0(null); + setStrategyMonthInfo1(null); + setStrategyMonthInfo2(null); + setStrategyMonthInfo3(null); + setStrategyMonthInfo4(null); + setStrategyMonthInfo5(null); + setStrategyMonthInfo6(null); + setStrategyMonthInfo7(null); + setStrategyMonthInfo8(null); + setStrategyMonthInfo9(null); + setStrategyMonthInfo10(null); + setStrategyMonthInfo11(null); } if (evt.getNewValue() != null) { - + setStrategyMonthInfo0(getBean().getStrategyMonthInfo().get(0)); + setStrategyMonthInfo1(getBean().getStrategyMonthInfo().get(1)); + setStrategyMonthInfo2(getBean().getStrategyMonthInfo().get(2)); + setStrategyMonthInfo3(getBean().getStrategyMonthInfo().get(3)); + setStrategyMonthInfo4(getBean().getStrategyMonthInfo().get(4)); + setStrategyMonthInfo5(getBean().getStrategyMonthInfo().get(5)); + setStrategyMonthInfo6(getBean().getStrategyMonthInfo().get(6)); + setStrategyMonthInfo7(getBean().getStrategyMonthInfo().get(7)); + setStrategyMonthInfo8(getBean().getStrategyMonthInfo().get(8)); + setStrategyMonthInfo9(getBean().getStrategyMonthInfo().get(9)); + setStrategyMonthInfo10(getBean().getStrategyMonthInfo().get(10)); + setStrategyMonthInfo11(getBean().getStrategyMonthInfo().get(11)); } } }); @@ -81,55 +168,55 @@ <row> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyJanuary' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="0" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.january"))}' /> + strategyMonthInfo="{getStrategyMonthInfo0()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.january"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyFebuary' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="1" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.february"))}' /> + strategyMonthInfo="{getStrategyMonthInfo1()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.february"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyMarch' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="2" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.march"))}' /> + strategyMonthInfo="{getStrategyMonthInfo2()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.march"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyApril' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="3" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.april"))}' /> + strategyMonthInfo="{getStrategyMonthInfo3()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.april"))}' /> </cell> </row> <row> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyMay' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="4" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.may"))}' /> + strategyMonthInfo="{getStrategyMonthInfo4()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.may"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyJune' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="5" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.june"))}' /> + strategyMonthInfo="{getStrategyMonthInfo5()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.june"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyJuly' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="6" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.july"))}' /> + strategyMonthInfo="{getStrategyMonthInfo6()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.july"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyAugust' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="7" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.august"))}' /> + strategyMonthInfo="{getStrategyMonthInfo7()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.august"))}' /> </cell> </row> <row> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategySeptember' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="8" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.september"))}' /> + strategyMonthInfo="{getStrategyMonthInfo8()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.september"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyOctober' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="9" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.october"))}' /> + strategyMonthInfo="{getStrategyMonthInfo9()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.october"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyNovember' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="10" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.november"))}' /> + strategyMonthInfo="{getStrategyMonthInfo10()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.november"))}' /> </cell> <cell fill='both' weightx='1' weighty='1' insets='0'> <StrategyOneMonthInfoUI id='strategyDecember' bean="{getBean()}" active="{isActive()}" constructorParams='this' - month="11" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.december"))}' /> + strategyMonthInfo="{getStrategyMonthInfo11()}" strategieMonthText='{StringUtils.capitalize(_("isisfish.month.december"))}' /> </cell> </row> </Table> @@ -138,13 +225,13 @@ <cell fill='horizontal' weightx='1'> <JButton id='save' decorator='boxed' text="isisfish.common.save" - enabled="{validator.isValid() && validator.isChanged()}" - onActionPerformed="getSaveVerifier().save();validator.setChanged(false);"/> + enabled="{changeModel.isValid() && changeModel.isChanged()}" + onActionPerformed="getSaveVerifier().save();validator.setChanged(false);validator0.setChanged(false);validator1.setChanged(false);validator2.setChanged(false);validator3.setChanged(false);validator4.setChanged(false);validator5.setChanged(false);validator6.setChanged(false);validator7.setChanged(false);validator8.setChanged(false);validator9.setChanged(false);validator10.setChanged(false);validator11.setChanged(false);"/> </cell> <cell fill='horizontal' weightx='1'> <JButton id='cancel' decorator='boxed' text="isisfish.common.cancel" - enabled="{validator.isChanged()}" + enabled="{changeModel.isChanged()}" onActionPerformed="getSaveVerifier().cancel()"/> </cell> </row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -24,7 +24,6 @@ --> <fr.ifremer.isisfish.ui.input.InputContentUI superGenericType='Strategy'> - <Integer id="month" javaBean="null"/> <String id="strategieMonthText" javaBean='null'/> <!-- bean property --> @@ -41,17 +40,22 @@ org.nuiton.math.matrix.gui.MatrixPanelListener java.beans.PropertyChangeEvent java.beans.PropertyChangeListener + fr.ifremer.isisfish.ui.input.model.TripTypeComboModel </import> <script><![CDATA[ +protected boolean init; + protected void $afterCompleteSetup() { - addPropertyChangeListener(PROPERTY_BEAN, new PropertyChangeListener() { + addPropertyChangeListener(PROPERTY_STRATEGY_MONTH_INFO, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getNewValue() == null) { } if (evt.getNewValue() != null) { + init = true; refresh(); + init = false; } } }); @@ -67,44 +71,23 @@ } public void refresh() { - Strategy strategy = (Strategy)getSaveVerifier().getEntity(Strategy.class); - - // don't use setBean(null) here - //setBean(strategy); + if (getStrategyMonthInfo() != null) { + numberOfTrips.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); + fieldStrategyMonthInfoProportion.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); + fieldStrategyMonthInfoMinInactivityDays.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); - if (getBean() != null) { - Object[] monthInfos = getBean().getStrategyMonthInfo().toArray(); - if (monthInfos.length != 0) { - - // add null before, for second to be considered as a changed event - // otherwize, setBean has no effect - setStrategyMonthInfo(null); - setStrategyMonthInfo((StrategyMonthInfo)monthInfos[month]); - getSaveVerifier().addCurrentEntity(getStrategyMonthInfo()); - - if (getStrategyMonthInfo() != null) { - numberOfTrips.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); - fieldStrategyMonthInfoProportion.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); - fieldStrategyMonthInfoMinInactivityDays.putClientProperty("sensitivityBeanID", getStrategyMonthInfo().getTopiaId()); - ActionListener[] listeners = fieldStrategyMonthInfoTripType.getActionListeners(); - for (ActionListener listener : listeners) { - fieldStrategyMonthInfoTripType.removeActionListener(listener); - } - jaxx.runtime.SwingUtil.fillComboBox(fieldStrategyMonthInfoTripType,getFisheryRegion().getTripType(), getStrategyMonthInfo().getTripType(), true); - for (ActionListener listener : listeners) { - fieldStrategyMonthInfoTripType.addActionListener(listener); - } - setProportionMetierMatrix(); - } - else { - // don't put in addPropertyChangeListener - // if called after, remove content :( - numberOfTrips.setText(""); - fieldStrategyMonthInfoMinInactivityDays.setText(""); - fieldStrategyMonthInfoProportion.setMatrix(null); - } - } + TripTypeComboModel model = new TripTypeComboModel(getFisheryRegion().getTripType()); + fieldStrategyMonthInfoTripType.setModel(model); + fieldStrategyMonthInfoTripType.setSelectedItem(getStrategyMonthInfo().getTripType()); + setProportionMetierMatrix(); } + else { + // don't put in addPropertyChangeListener + // if called after, remove content :( + numberOfTrips.setText(""); + fieldStrategyMonthInfoMinInactivityDays.setText(""); + fieldStrategyMonthInfoProportion.setMatrix(null); + } } protected void setProportionMetierMatrix() { @@ -125,7 +108,8 @@ </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JAXXComboBox id="fieldStrategyMonthInfoTripType" onActionPerformed='getStrategyMonthInfo().setTripType((TripType)fieldStrategyMonthInfoTripType.getSelectedItem())' + <JComboBox id="fieldStrategyMonthInfoTripType" + onActionPerformed='getStrategyMonthInfo().setTripType((TripType)fieldStrategyMonthInfoTripType.getSelectedItem())' enabled='{isActive()}' decorator='boxed'/> </cell> </row> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -36,6 +36,7 @@ fr.ifremer.isisfish.ui.WelcomePanelUI java.beans.PropertyChangeEvent java.beans.PropertyChangeListener + fr.ifremer.isisfish.ui.input.model.SetOfVesselsComboModel </import> <BeanValidator id='validator' context="basics" @@ -45,20 +46,26 @@ </BeanValidator> <script><![CDATA[ +protected boolean init; + protected void $afterCompleteSetup() { addPropertyChangeListener(PROPERTY_BEAN, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getNewValue() == null) { - + fieldStrategyName.setText(""); + fieldStrategyProportionSetOfVessels.setText(""); + fieldStrategyComment.setText(""); } if (evt.getNewValue() != null) { - refresh(); + init = true; + setSetOfVesselsModel(); + init = false; } } }); } -public void refresh() { +/*public void refresh() { //Strategy strategy = (Strategy)getSaveVerifier().getEntity(Strategy.class); // add null before, for second to be considered as a changed event @@ -85,23 +92,18 @@ // code to replace bindings : strategyInactivity.setActive(isActive()); } -} +}*/ protected void setSetOfVesselsModel() { - ActionListener[] listeners = fieldStrategySetOfVessels.getActionListeners(); - for (ActionListener listener : listeners) { - fieldStrategySetOfVessels.removeActionListener(listener); - } - jaxx.runtime.SwingUtil.fillComboBox(fieldStrategySetOfVessels,getFisheryRegion().getSetOfVessels(), getBean().getSetOfVessels(), true); - for (ActionListener listener : listeners) { - fieldStrategySetOfVessels.addActionListener(listener); - } + SetOfVesselsComboModel modelVessel = new SetOfVesselsComboModel(getFisheryRegion().getSetOfVessels()); + fieldStrategySetOfVessels.setModel(modelVessel); + fieldStrategySetOfVessels.setSelectedItem(getBean().getSetOfVessels()); } -protected void inactivityEquationActionPerformed() { - boolean checked = fieldUseEquationInactivity.isSelected(); - getBean().setInactivityEquationUsed(checked); - strategyInactivity.setActive(checked); +protected void setOfVesselsChanged() { + if (!init) { + getBean().setSetOfVessels((SetOfVessels)fieldStrategySetOfVessels.getSelectedItem()); + } } ]]></script> <JPanel id="body"> @@ -122,7 +124,9 @@ <JLabel text="isisfish.common.setOfVessels" enabled='{isActive()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JAXXComboBox id="fieldStrategySetOfVessels" onActionPerformed='getBean().setSetOfVessels((SetOfVessels)fieldStrategySetOfVessels.getSelectedItem())' enabled='{isActive()}' decorator='boxed'/> + <JComboBox id="fieldStrategySetOfVessels" + onItemStateChanged='setOfVesselsChanged()' + enabled='{isActive()}' decorator='boxed'/> </cell> </row> <row> @@ -146,13 +150,14 @@ <cell fill='horizontal' weightx='1.0'> <JCheckBox id="fieldUseEquationInactivity" selected='{getBean().getInactivityEquationUsed()}' text="isisfish.strategy.inactivityEquationUsed" - onActionPerformed='inactivityEquationActionPerformed()' enabled='{isActive()}' decorator='boxed'/> + onActionPerformed='getBean().setInactivityEquationUsed(fieldUseEquationInactivity.isSelected())' enabled='{isActive()}' decorator='boxed'/> </cell> </row> <row> <cell columns="2" fill='both' weightx='1.0' weighty='0.5'> <InputOneEquationUI id="strategyInactivity" constructorParams='this' - text='isisfish.strategy.inactivity' + text='isisfish.strategy.inactivity' + active="{isActive() && getBean().getInactivityEquationUsed()}" bean='{getBean()}' formuleCategory='Inactivity' beanProperty='InactivityEquation' clazz='{fr.ifremer.isisfish.equation.StrategyInactivityEquation.class}' decorator='boxed' _sensitivityBean='{Strategy.class}' _sensitivityMethod='"Inactivity"'/> <!-- bindings not work well actif='{getBean().getInactivityEquationUsed()}' --> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2011-04-21 12:52:57 UTC (rev 3278) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2011-04-21 12:53:31 UTC (rev 3279) @@ -45,6 +45,8 @@ </BeanValidator> <script><![CDATA[ +protected boolean init; + protected void $afterCompleteSetup() { setButtonTitle(_("isisfish.input.continueSetOfVessels")); setNextPath(n_("isisfish.input.tree.setofvessels")); @@ -63,7 +65,7 @@ fieldVesselTypeComment.setText(""); } if (evt.getNewValue() != null) { - + setTripTypeListModel(); } } }); @@ -91,21 +93,28 @@ } }*/ -protected void setListModel() { - java.util.List<TripType> tripTypes = getFisheryRegion().getTripType(); +protected void setTripTypeListModel() { + init = true; + List<TripType> tripTypes = getFisheryRegion().getTripType(); TripTypeListModel tripTypeModel = new TripTypeListModel(tripTypes); vesselTypeTripType.setModel(tripTypeModel); if (getBean() != null && getBean().getTripType() != null) { - vesselTypeTripType.setSelectedValues(getBean().getTripType().toArray()); + for (TripType tripType : getBean().getTripType()) { + int index = tripTypes.indexOf(tripType); + vesselTypeTripType.addSelectionInterval(index, index); + } } + init = false; } -protected void tripTypeChanged(){ - java.util.List<TripType> tripTypes = new java.util.ArrayList<TripType>(); - for (Object o : vesselTypeTripType.getSelectedValues()) { - tripTypes.add((TripType)o); +protected void tripTypeChanged() { + if (!init) { + java.util.List<TripType> tripTypes = new java.util.ArrayList<TripType>(); + for (Object o : vesselTypeTripType.getSelectedValues()) { + tripTypes.add((TripType)o); + } + getBean().setTripType(tripTypes); } - getBean().setTripType(tripTypes); } ]]></script> <JPanel id="body"> @@ -208,8 +217,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.7'> <JScrollPane> - <JAXXList id="vesselTypeTripType" selectedValues='{getBean().getTripType() == null ? null : getBean().getTripType().toArray()}' - onMouseClicked='tripTypeChanged()' + <JList id="vesselTypeTripType" onValueChanged='tripTypeChanged()' cellRenderer="{new fr.ifremer.isisfish.ui.input.renderer.TripTypeListRenderer()}" enabled='{isActive()}' decorator='boxed' _sensitivityBean='{VesselType.class}' _sensitivityMethod='"TripType"'/> </JScrollPane> Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/PortComboModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/PortComboModel.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/PortComboModel.java 2011-04-21 12:53:31 UTC (rev 3279) @@ -0,0 +1,82 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric + * %% + * 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 2 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-2.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.input.model; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +import fr.ifremer.isisfish.entities.Port; + +/** + * Model pour la liste des {@link Port}. + * + * Pas de selection par defaut. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class PortComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 6171850179969290032L; + + /** Port list */ + protected List<Port> portsList; + + /** + * Constructor with ports list. + * + * @param portsList ports list + */ + public PortComboModel(List<Port> portsList) { + this.portsList = portsList; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return portsList.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (portsList != null) { + size = portsList.size(); + } + return size; + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/PortComboModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/SetOfVesselsComboModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/SetOfVesselsComboModel.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/SetOfVesselsComboModel.java 2011-04-21 12:53:31 UTC (rev 3279) @@ -0,0 +1,82 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric + * %% + * 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 2 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-2.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.input.model; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +import fr.ifremer.isisfish.entities.SetOfVessels; + +/** + * Model pour la liste des {@link SetOfVessels}. + * + * Pas de selection par defaut. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class SetOfVesselsComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 6171850179969290032L; + + /** VesselType list */ + protected List<SetOfVessels> setOfVesselsList; + + /** + * Constructor with ports list. + * + * @param setOfVesselsList ports list + */ + public SetOfVesselsComboModel(List<SetOfVessels> setOfVesselsList) { + this.setOfVesselsList = setOfVesselsList; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return setOfVesselsList.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (setOfVesselsList != null) { + size = setOfVesselsList.size(); + } + return size; + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/SetOfVesselsComboModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/TripTypeComboModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/TripTypeComboModel.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/TripTypeComboModel.java 2011-04-21 12:53:31 UTC (rev 3279) @@ -0,0 +1,82 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric + * %% + * 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 2 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-2.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.input.model; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +import fr.ifremer.isisfish.entities.TripType; + +/** + * Model pour la liste des {@link TripType}. + * + * Pas de selection par defaut. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class TripTypeComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 6171850179969290032L; + + /** Trip types list */ + protected List<TripType> tripTypes; + + /** + * Constructor with trip types list. + * + * @param tripTypes Trip types list + */ + public TripTypeComboModel(List<TripType> tripTypes) { + this.tripTypes = tripTypes; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return tripTypes.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (tripTypes != null) { + size = tripTypes.size(); + } + return size; + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/TripTypeComboModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/VesselTypeComboModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/VesselTypeComboModel.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/VesselTypeComboModel.java 2011-04-21 12:53:31 UTC (rev 3279) @@ -0,0 +1,82 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric + * %% + * 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 2 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-2.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.input.model; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +import fr.ifremer.isisfish.entities.VesselType; + +/** + * Model pour la liste des {@link VesselType}. + * + * Pas de selection par defaut. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class VesselTypeComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 6171850179969290032L; + + /** VesselType list */ + protected List<VesselType> vesselTypeList; + + /** + * Constructor with ports list. + * + * @param vesselTypeList ports list + */ + public VesselTypeComboModel(List<VesselType> vesselTypeList) { + this.vesselTypeList = vesselTypeList; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return vesselTypeList.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (vesselTypeList != null) { + size = vesselTypeList.size(); + } + return size; + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/model/VesselTypeComboModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org