r1761 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/entities java/fr/ifremer/isisfish/ui/input resources/i18n
Author: sletellier Date: 2009-01-29 17:57:45 +0000 (Thu, 29 Jan 2009) New Revision: 1761 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationSeasonInfoImpl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/SetOfVesselsImpl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/StrategyImpl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Debug final -1 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -155,8 +155,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.change.equation"), eee); } @@ -176,8 +184,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } @@ -197,8 +213,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } @@ -218,8 +242,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } @@ -239,8 +271,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationSeasonInfoImpl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationSeasonInfoImpl.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationSeasonInfoImpl.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -648,8 +648,16 @@ if (getPopulation() != null) { eq.setName(getPopulation().getName() + "(" + toString() + ")"); } + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } @@ -672,8 +680,16 @@ if (getPopulation() != null) { eq.setName(getPopulation().getName() + "(" + toString() + ")"); } + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } @@ -696,8 +712,16 @@ if (getPopulation() != null) { eq.setName(getPopulation().getName() + "(" + toString() + ")"); } + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/SetOfVesselsImpl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/SetOfVesselsImpl.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/SetOfVesselsImpl.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -91,8 +91,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.change.equation"), eee); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/StrategyImpl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/StrategyImpl.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/StrategyImpl.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -145,8 +145,16 @@ } eq.setName(getName()); + + // Fire + String _oldValue = eq.getContent(); + fireOnPreWrite("content", _oldValue, content); + eq.setContent(content); eq.update(); + + fireOnPostWrite("content", _oldValue, content); + } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.change.equation"), eee); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -117,7 +117,7 @@ <JComboBox id="fieldGearParamType" model='{new DefaultComboBoxModel(fr.ifremer.isisfish.types.RangeOfValues.getPossibleTypes())}' onActionPerformed='getBean().setParameterName(fieldGearParamName.getSelectedText())' enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='0.5'> - <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue().getValues()}' onKeyReleased='getBean().setStandardisationFactor(Double.parseDouble(fieldGearParamPossibleValue.getText()))' enabled='{isActif()}'/> + <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue() == null ? null : getBean().getPossibleValue().getValues()}' onKeyReleased='getBean().setStandardisationFactor(Double.parseDouble(fieldGearParamPossibleValue.getText()))' enabled='{isActif()}'/> </cell> </row> <row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -538,7 +538,7 @@ */ public Object saveAsModel(String category, String language, String content) { try { - String name = showInputDialog(""); + String name = showInputDialog("isisfish.message.saveModel.dialog"); if ("".equals(name)) { // showMsgBox("Error " +_("isisfish.error.invalid.equation.name")); } @@ -756,6 +756,67 @@ return null; } + public void createPopulationSeasonInfo(Population pop) { + log.debug("createSeasonInfo called"); + try { + PopulationSeasonInfoDAO dao = IsisFishDAOHelper.getPopulationSeasonInfoDAO(pop.getTopiaContext()); + PopulationSeasonInfo seasonInfo = dao.create(); + seasonInfo.setFirstMonth(Month.MONTH[0]); + seasonInfo.setLastMonth(Month.MONTH[3]); + pop.addPopulationSeasonInfo(seasonInfo); + seasonInfo.setPopulation(pop); + seasonInfo.update(); + pop.update(); +// isisContext.commitTransaction(); + } catch (Exception eee) { + log.error("Can't create PopulationSeasonInfo", eee); + showMsgBox(eee); + } + } + + public void removePopulationSeasonInfo(Population pop, PopulationSeasonInfo populationSeasonInfo) { + log.debug("removeSeasonInfo called"); + try { + pop.removePopulationSeasonInfo(populationSeasonInfo); + pop.update(); + pop.getTopiaContext().commitTransaction(); + } catch (Exception eee) { + log.error("Can't remove PopulationSeasonInfo", eee); + showMsgBox(eee); + } + } + + public void createMetierSeasonInfo(Metier metier){ + log.debug("createSeasonInfo called"); + try { + MetierSeasonInfoDAO metierSeasonInfoPS = IsisFishDAOHelper.getMetierSeasonInfoDAO(metier.getTopiaContext()); + MetierSeasonInfo metierSeasonInfo = metierSeasonInfoPS.create(); + metierSeasonInfo.setFirstMonth(Month.MONTH[0]); + metierSeasonInfo.setLastMonth(Month.MONTH[3]); + metier.addMetierSeasonInfo(metierSeasonInfo); + metierSeasonInfo.update(); + metier.update(); +// isisContext.commitTransaction(); + + }catch(Exception eee){ + log.error("Can't create MetierSeasonInfo", eee); + showMsgBox(eee); + } + } + + public void removeMetierSeasonInfo(Metier metier, MetierSeasonInfo info){ + log.debug("createSeasonInfo called"); + try { + metier.removeMetierSeasonInfo(info); + metier.update(); + metier.getTopiaContext().commitTransaction(); + + }catch(Exception eee){ + log.error("Can't create MetierSeasonInfo", eee); + showMsgBox(eee); + } + } + public Object createRecruitmentDistribution(Population pop) { if (log.isTraceEnabled()) { log.trace("createRecruitmentDistributionontext called: " + pop); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -58,24 +58,32 @@ protected String methodSet; protected String name; protected Equation selectedEquation; +protected DocumentListener listener = null; -editor.getCurrentEditor().addDocumentListener(new DocumentListener() { +start(); +protected void start(){ + if (listener == null){ + listener = new DocumentListener() { - @Override - public void insertUpdate(DocumentEvent e) { - } + @Override + public void insertUpdate(DocumentEvent e) { + setEquation(); + } - @Override - public void removeUpdate(DocumentEvent e) { - } + @Override + public void removeUpdate(DocumentEvent e) { + setEquation(); + } - @Override - public void changedUpdate(DocumentEvent e) { - setEquation(); + @Override + public void changedUpdate(DocumentEvent e) { + } + }; } -}); - + editor.getCurrentEditor().addDocumentListener(listener); +} public void init(String lblText, TopiaEntity bean, String name, String methodGet, String methodSet, Class c){ + editor.getCurrentEditor().removeDocumentListener(listener); setLblText(lblText); this.bean = bean; this.methodGet = methodGet; @@ -86,6 +94,7 @@ setComboModel(); setFormule((Formule)combo.getSelectedItem()); setEditorText(); + editor.getCurrentEditor().addDocumentListener(listener); } protected Equation getEquation(){ Equation result = null; @@ -110,6 +119,7 @@ } } public void refresh(){ + editor.getCurrentEditor().removeDocumentListener(listener); try { editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); } catch (IOException ex) { @@ -120,7 +130,8 @@ setFormule((Formule)combo.getSelectedItem()); setEditorText(); } -} + editor.getCurrentEditor().addDocumentListener(listener); + } protected void setComboModel(){ java.util.List<Formule> formules = getAction().getFormules(getVerifier().getIsisContext(), name); if (formules != null){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -327,10 +327,6 @@ setSaveButton(saveButton, true); } - public void setNewButton(JButton saveButton, String name){ - setNewButton(saveButton, name, true); - } - public void setSaveButton(JButton saveButton, Boolean listener){ if (listener){ saveButton.removeActionListener(saveListener); @@ -341,12 +337,8 @@ this.currentSaveButton = saveButton; } - public void setCancelButton(JButton cancelButton){ - cancelButton.removeActionListener(cancelListener); - cancelButton.addActionListener(cancelListener); - cancelButton.setText(_("isisfish.common.cancel")); - cancelButton.setEnabled(changed); - this.currentCancelButton = cancelButton; + public void setNewButton(JButton saveButton, String name){ + setNewButton(saveButton, name, true); } public void setNewButton(JButton newButton, String t, Boolean listener){ @@ -360,9 +352,23 @@ this.currentNewButton = newButton; } + public void setCancelButton(JButton cancelButton){ + cancelButton.removeActionListener(cancelListener); + cancelButton.addActionListener(cancelListener); + cancelButton.setText(_("isisfish.common.cancel")); + cancelButton.setEnabled(changed); + this.currentCancelButton = cancelButton; + } + public void setDeleteButton(JButton deleteButton){ - deleteButton.removeActionListener(deleteListener); - deleteButton.addActionListener(deleteListener); + setDeleteButton(deleteButton, true); + } + + public void setDeleteButton(JButton deleteButton, boolean listener){ + if (listener){ + deleteButton.removeActionListener(deleteListener); + deleteButton.addActionListener(deleteListener); + } deleteButton.setEnabled(!changed); deleteButton.setText(_("isisfish.common.remove")); this.currentDeleteButton = deleteButton; Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java 2009-01-29 17:57:45 UTC (rev 1761) @@ -33,6 +33,7 @@ pane.setSelectedIndex(selectedIndex); } ui = (InputContentUI) pane.getSelectedComponent(); + ui.refresh(); cacheSelectedIndex = pane.getSelectedIndex(); pane.addChangeListener(this); } catch (Exception ex) { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -36,47 +36,44 @@ <!-- bean property --> <fr.ifremer.isisfish.entities.MetierImpl id='bean' javaBean='null'/> + <fr.ifremer.isisfish.entities.MetierSeasonInfo id='metierSeasonInfo' javaBean='null'/> + + <Boolean id='metierSeasonInfoNotNull' javaBean='false'/> + <script><![CDATA[ import fr.ifremer.isisfish.entities.Season; import fr.ifremer.isisfish.types.Month; import fr.ifremer.isisfish.ui.widget.Interval; import fr.ifremer.isisfish.entities.MetierSeasonInfo; - import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl; import fr.ifremer.isisfish.ui.widget.IntervalPanel; import fr.ifremer.isisfish.entities.Zone; import fr.ifremer.isisfish.entities.Metier; import fr.ifremer.isisfish.entities.MetierImpl; - import org.codelutin.topia.persistence.TopiaEntity; - import fr.ifremer.isisfish.ui.WelcomePanelUI; + import jaxx.runtime.swing.Item; - protected boolean seasonInit = true; protected IntervalPanel ip = new IntervalPanel(); displayMetierSeason.add(ip, BorderLayout.CENTER); ip.addPropertyChangeListener("first", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - Object selected = fieldMetierSeasonChoice.getSelectedItem(); - if (selected != null){ - Object value = ((GenericCell)selected).getValue(); // Data extraction - Season season = (Season) value; - Month first = season.getFirstMonth(); - first.setMonthNumber(ip.getModel().getFirst()); - season.setFirstMonth(first); - } + Season season = (Season) fieldMetierSeasonChoice.getSelectedItem(); + if (season != null){ + Month first = season.getFirstMonth(); + first.setMonthNumber(ip.getModel().getFirst()); + season.setFirstMonth(first); + } } }); + ip.addPropertyChangeListener("last", new PropertyChangeListener() { - ip.addPropertyChangeListener("last", new PropertyChangeListener() { - @Override public void propertyChange(PropertyChangeEvent evt) { - Object selected = fieldMetierSeasonChoice.getSelectedItem(); - if (selected != null){ - Object value = ((GenericCell)selected).getValue(); - // Data extraction - Season season = (Season) value; + // Data extraction + Season season = (Season) fieldMetierSeasonChoice.getSelectedItem(); + if (season != null){ Month last = season.getLastMonth(); last.setMonthNumber(ip.getModel().getLast()); season.setLastMonth(last); @@ -84,140 +81,89 @@ } }); + create.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + getContextValue(InputAction.class).createMetierSeasonInfo(getBean()); + setCombo(); + } + }); + + remove.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + getContextValue(InputAction.class).removeMetierSeasonInfo(getBean(), getMetierSeasonInfo()); + setCombo(); + } + }); + public void refresh() { + if (!isActif()){ + setMetierSeasonInfoNotNull(false); + } getVerifier().setSaveButton(save); getVerifier().setCancelButton(cancel); - getVerifier().setNewButton(create, "MetierSeasonInfo"); - getVerifier().setDeleteButton(remove); + getVerifier().setNewButton(create, "MetierSeasonInfo", false); + getVerifier().setDeleteButton(remove, false); Metier metier = getVerifier().getEntity(Metier.class); setBean((MetierImpl) metier); - if (metier != null){ - if (seasonInit){ - DefaultComboBoxModel seasonModel = new DefaultComboBoxModel(); - java.util.List<MetierSeasonInfo> metierSeasonInfo = metier.getMetierSeasonInfo(); - if (metierSeasonInfo != null){ - seasonModel.addElement(new GenericCell(" ", null, null)); - for (MetierSeasonInfo m : metierSeasonInfo){ - seasonModel.addElement(new GenericCell(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, MetierSeasonInfo.class)); - } - } - fieldMetierSeasonChoice.setModel(seasonModel); - } - Object selected = fieldMetierSeasonChoice.getSelectedItem(); - if (selected != null){ - Object value = ((GenericCell)selected).getValue(); - if (value != null){ + if (getBean() != null){ + setCombo(); + if (getMetierSeasonInfo() != null){ + + // Model instanciation + Interval interval = new Interval(); + interval.setMin(0); + interval.setMax(11); + interval.setFirst(0); + interval.setLast(2); - // Data extraction - Season season = (Season) value; - - // Model instanciation - Interval interval = new Interval(); - interval.setMin(0); - interval.setMax(11); - interval.setFirst(0); - interval.setLast(2); - - try { - log.debug("************** Interval ************"); - Month firstMonth = season.getFirstMonth(); - if (firstMonth != null) { - interval.setFirst(firstMonth.getMonthNumber()); - log.debug(" first : " + interval.getFirst()); - } else { - interval.setFirst(0); - } - - Month lastMonth = season.getLastMonth(); - if (lastMonth != null) { - interval.setLast(lastMonth.getMonthNumber()); - log.debug(" last : " + interval.getLast()); - } else { - interval.setLast(3); - } - } catch (Exception e) { - log.error("Unexpected origin.", e); - // Only trace the error and go on. + try { + log.debug("************** Interval ************"); + Month firstMonth = getMetierSeasonInfo().getFirstMonth(); + if (firstMonth != null) { + interval.setFirst(firstMonth.getMonthNumber()); + log.debug(" first : " + interval.getFirst()); + } else { + interval.setFirst(0); } - ip.setLabelRenderer(Month.MONTH); - ip.setModel(interval); - } - - DefaultListModel zonesModel = new DefaultListModel(); - java.util.List<Zone> metierZone = getRegion().getZone(); - if (metierZone != null){ - for (Zone z : metierZone ){ - zonesModel.addElement(z); - // new GenericCell(z.getName(), z, Zone.class) + Month lastMonth = getMetierSeasonInfo().getLastMonth(); + if (lastMonth != null) { + interval.setLast(lastMonth.getMonthNumber()); + log.debug(" last : " + interval.getLast()); + } else { + interval.setLast(3); } + } catch (Exception e) { + log.error("Unexpected origin.", e); + // Only trace the error and go on. } - metierZones.setModel(zonesModel); - if (value != null){ - Collection<Zone> zones = ((MetierSeasonInfo)value).getZone(); - int [] selectedIndices = new int[zones.size()]; - int cnt = 0; - for (Zone z : zones){ - selectedIndices[cnt] = zonesModel.indexOf(z); - cnt++; - } - metierZones.setSelectedIndices(selectedIndices); - fieldMetierSeasonZoneComment.setText(((MetierSeasonInfo)value).getSeasonZoneComment()); - } + ip.setLabelRenderer(Month.MONTH); + ip.setModel(interval); + + metierZones.fillList(getRegion().getZone(), getMetierSeasonInfo().getZone()); } - else{ - // Model instanciation - Interval interval = new Interval(); - interval.setMin(0); - interval.setMax(11); - interval.setFirst(0); - interval.setLast(2); - ip.setLabelRenderer(Month.MONTH); - ip.setModel(interval); - fieldMetierSeasonZoneComment.setText(""); - DefaultListModel zonesModel = new DefaultListModel(); - java.util.List<Zone> metierZone = getRegion().getZone(); - if (metierZone != null){ - for (Zone z : metierZone ){ - zonesModel.addElement(z); - // new GenericCell(z.getName(), z, Zone.class) - } - } - metierZones.setModel(zonesModel); - } } } - protected void zonesChanged(){ - Object selected = fieldMetierSeasonChoice.getSelectedItem(); - if (selected != null){ - Object value = ((GenericCell)selected).getValue(); - if (value != null){ - // Data extraction - MetierSeasonInfo season = (MetierSeasonInfo) value; - for (Object o : metierZones.getSelectedValues()){ - season.addZone((Zone)o); - } + protected void setCombo(){ + java.util.List<Item> items = new ArrayList<Item>(); + java.util.List<MetierSeasonInfo> metierSeasonInfo = getBean().getMetierSeasonInfo(); + if (metierSeasonInfo != null){ + for (MetierSeasonInfo m : metierSeasonInfo){ + items.add(new Item(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, false)); } } - } - protected void commentChanged(){ - Object selected = fieldMetierSeasonChoice.getSelectedItem(); - if (selected != null){ - Object value = ((GenericCell)selected).getValue(); - if (value != null){ - // Data extraction - MetierSeasonInfo season = (MetierSeasonInfo) value; - season.setSeasonZoneComment(fieldMetierSeasonZoneComment.getText()); - } + fieldMetierSeasonChoice.setItems(items); + } + protected void metierZonesChanged(){ + Object[] selected = metierZones.getSelectedValues(); + for (Object o : selected){ + getMetierSeasonInfo().addZone((Zone)o); } } - public void setSeasonInit(boolean b){ - seasonInit = b; - } - protected void metierSeasonChanged(){ - seasonInit = false; - refresh(); - } ]]></script> <Table id='body'> <row> @@ -228,34 +174,36 @@ <JLabel text="isisfish.metierSeasonInfoZone.selectSeason" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldMetierSeasonChoice" onActionPerformed='metierSeasonChanged()' enabled='{isActif()}'/> + <JComboBox id="fieldMetierSeasonChoice" + onActionPerformed='refresh();setMetierSeasonInfo((MetierSeasonInfoImpl)fieldMetierSeasonChoice.getSelectedItem());getVerifier().addCurrentEntity(getMetierSeasonInfo());setMetierSeasonInfoNotNull(getMetierSeasonInfo() != null);' + enabled='{isActif()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.metierSeasonInfoZone.season" enabled='{isActif()}'/> + <JLabel text="isisfish.metierSeasonInfoZone.season" enabled='{isMetierSeasonInfoNotNull()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JPanel id='displayMetierSeason' layout='{new BorderLayout()}' enabled='{isActif()}'/> + <JPanel id='displayMetierSeason' layout='{new BorderLayout()}' enabled='{isMetierSeasonInfoNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.common.zone" enabled='{isActif()}'/> + <JLabel text="isisfish.common.zone" enabled='{isMetierSeasonInfoNotNull()}'/> </cell> <cell fill='both' weightx='1.0' weighty='0.7'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="metierZones" onValueChanged='zonesChanged()' enabled='{isActif()}'/> + <JList id="metierZones" onValueChanged='metierZonesChanged()' enabled='{isMetierSeasonInfoNotNull()}'/> </JScrollPane> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.metierSeasonInfoZone.comments" enabled='{isActif()}'/> + <JLabel text="isisfish.metierSeasonInfoZone.comments" enabled='{isMetierSeasonInfoNotNull()}'/> </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JTextArea id="fieldMetierSeasonZoneComment" onKeyReleased='commentChanged()' enabled='{isActif()}'/> + <JTextArea id="fieldMetierSeasonZoneComment" text='{getMetierSeasonInfo() == null ? "" : jaxx.runtime.Util.getStringValue(getMetierSeasonInfo().getSeasonZoneComment())}' onKeyReleased='getMetierSeasonInfo().setSeasonZoneComment(fieldMetierSeasonZoneComment.getText())' enabled='{isMetierSeasonInfoNotNull()}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -37,53 +37,27 @@ <fr.ifremer.isisfish.entities.MetierImpl id='bean' javaBean='null'/> <script><![CDATA[ - import fr.ifremer.isisfish.entities.Gear; - import fr.ifremer.isisfish.entities.TripType; import fr.ifremer.isisfish.entities.Metier; import fr.ifremer.isisfish.entities.MetierImpl; - import fr.ifremer.isisfish.ui.WelcomePanelUI; - import org.codelutin.topia.persistence.TopiaEntity; - import org.codelutin.topia.TopiaException; - import java.util.logging.Level; import java.util.logging.Logger; + import java.util.logging.Level; public void refresh() { getVerifier().setSaveButton(save); getVerifier().setCancelButton(cancel); getVerifier().setNewButton(create, "Metier"); getVerifier().setDeleteButton(remove); + Metier metier = getVerifier().getEntity(Metier.class); + setBean((MetierImpl) metier); try { - Metier metier = getVerifier().getEntity(Metier.class); - setBean((MetierImpl) metier); - DefaultComboBoxModel model = new DefaultComboBoxModel(getRegion().getGear().toArray()); - fieldMetierGear.setModel(model); - if (metier != null){ - fieldMetierName.setText(metier.getName()); - fieldMetierParam.setText(metier.getGearParameterValue()); - fieldMetierComment.setText(metier.getComment()); + if (getBean() != null){ + jaxx.runtime.swing.Utils.fillComboBox(fieldMetierGear, getRegion().getGear(), getBean().getGear()); } - else{ - fieldMetierName.setText(""); - fieldMetierParam.setText(""); - fieldMetierComment.setText(""); - } } catch (Exception ex) { - Logger.getLogger(MetierTabUI.class.getName()).log(Level.SEVERE, null, ex); + Logger.getLogger(MetierTabUI.class.getName()).log(Level.SEVERE, null, ex); } } - protected void nameChanged(){ - getBean().setName(fieldMetierName.getText()); - } - protected void gearChanged(){ - getBean().setGear((Gear)fieldMetierGear.getSelectedItem()); - } - protected void paramChanged(){ - getBean().setGearParameterValue(fieldMetierParam.getText()); - } - protected void commentChanged(){ - getBean().setComment(fieldMetierComment.getText()); - } ]]></script> <Table id='bady'> <row> @@ -94,7 +68,7 @@ <JLabel text="isisfish.metier.name" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldMetierName" onKeyReleased='nameChanged()' enabled='{isActif()}'/> + <JTextField id="fieldMetierName" text='{getBean().getName()}' onKeyReleased='getBean().setName(fieldMetierName.getText())' enabled='{isActif()}'/> </cell> </row> <row> @@ -102,7 +76,7 @@ <JLabel text="isisfish.common.gear" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldMetierGear" onActionPerformed='gearChanged()' enabled='{isActif()}'/> + <JComboBox id="fieldMetierGear" onActionPerformed='getBean().setGear((Gear)fieldMetierGear.getSelectedItem())' enabled='{isActif()}'/> </cell> </row> <row> @@ -110,7 +84,7 @@ <JLabel text="isisfish.metier.rangeValues" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldMetierParam" onKeyReleased='paramChanged()' enabled='{isActif()}'/> + <JTextField id="fieldMetierParam" text='{jaxx.runtime.Util.getStringValue(getBean().getGearParameterValue())}' onKeyReleased='getBean().setGearParameterValue(fieldMetierParam.getText())' enabled='{isActif()}'/> </cell> </row> <row> @@ -119,7 +93,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JTextArea id="fieldMetierComment" onKeyReleased='commentChanged()' enabled='{isActif()}'/> + <JTextArea id="fieldMetierComment" text='{jaxx.runtime.Util.getStringValue(getBean().getComment())}' onKeyReleased='getBean().setComment(fieldMetierComment.getText())' enabled='{isActif()}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -45,8 +45,7 @@ setNextPath("$root/$tripTypes"); metierTab.addChangeListener(new InputTabbedPaneListener()); public void refresh() { - getVerifier().addCurrentPanel(metierTabUI, metierSeasonInfoUI, metierSeasonSpeciesUI); - metierSeasonInfoUI.setSeasonInit(true); + getVerifier().addCurrentPanel(metierSeasonSpeciesUI, metierSeasonInfoUI, metierTabUI); } ]]></script> <JPanel id='body' layout='{new BorderLayout()}'> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -80,7 +80,9 @@ growthEquation.init(_("isisfish.populationBasics.growth"), getBean(), "Growth", "Growth", "EquationGrowth", fr.ifremer.isisfish.equation.PopulationGrowth.class); growthReverseEquation.init(_("isisfish.populationBasics.growthReverse"), getBean(), "GrowthReverse", "GrowthReverse", "EquationGrowthReverse", fr.ifremer.isisfish.equation.PopulationGrowthReverse.class); if (getBean() != null){ - jaxx.runtime.swing.Utils.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup()); + if (getBean().getPopulationGroup() != null){ + jaxx.runtime.swing.Utils.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup()); + } setTableAgeLengthModel(); } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -82,7 +82,7 @@ </row> <row> <cell columns='2' fill='both' weightx='1.0'> - <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationCapturability' matrix='{getBean().getCapturability().copy()}' enabled='{isActif()}'/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationCapturability' matrix='{getBean().getCapturability() == null ? null : getBean().getCapturability().copy()}' enabled='{isActif()}'/> </cell> </row> <row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -38,16 +38,19 @@ <fr.ifremer.isisfish.entities.PopulationGroupImpl id='populationGroup' javaBean='null'/> + <Boolean id='popGroupNotNull' javaBean='false'/> + <script><![CDATA[ - import fr.ifremer.isisfish.entities.PopulationGroup; import fr.ifremer.isisfish.entities.PopulationGroupImpl; import fr.ifremer.isisfish.entities.Population; import fr.ifremer.isisfish.entities.PopulationImpl; import org.codelutin.math.matrix.gui.MatrixPanelListener; import org.codelutin.math.matrix.gui.MatrixPanelEvent; +import org.codelutin.math.matrix.AbstractMatrixND; +import org.codelutin.math.matrix.MatrixND; -addPropertyChangeListener("bean", new PropertyChangeListener() { +addPropertyChangeListener("populationGroup", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getOldValue() != null || evt.getNewValue() == null) { // remove previous binding on getBean() @@ -59,7 +62,7 @@ fieldPopulationGroupMinLength.setText(""); fieldPopulationGroupMaxLength.setText(""); fieldPopulationGroupComment.setText(""); -// fieldPopulationGroupNaturalDeathRate.setMatrix(null); + fieldPopulationGroupNaturalDeathRate.setMatrix(null); } if (evt.getNewValue() != null) { // add binding on getBean() @@ -69,13 +72,13 @@ }); public void refresh(){ + if (!isActif()){ + setPopGroupNotNull(false); + } getVerifier().setSaveButton(save); getVerifier().setCancelButton(cancel); Population population = getVerifier().getEntity(Population.class); setBean((PopulationImpl) population); - if (getPopulationGroup() != null){ - getVerifier().addCurrentEntity(getPopulationGroup()); - } if (getBean() != null){ jaxx.runtime.swing.Utils.fillComboBox(fieldPopulationGroupPopulationGroup,getBean().getPopulationGroup(), null); } @@ -88,66 +91,67 @@ <JLabel text="isisfish.common.populationGroup" enabled='{isActif()}'/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JComboBox id='fieldPopulationGroupPopulationGroup' onActionPerformed='setPopulationGroup((PopulationGroupImpl)fieldPopulationGroupPopulationGroup.getSelectedItem())' enabled='{isActif()}'/> + <JComboBox id='fieldPopulationGroupPopulationGroup' onActionPerformed='setPopulationGroup((PopulationGroupImpl)fieldPopulationGroupPopulationGroup.getSelectedItem());getVerifier().addCurrentEntity(getPopulationGroup());setPopGroupNotNull(getPopulationGroup() != null);' enabled='{isActif()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.meanWeigth" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.meanWeigth" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationGroupMeanWeight" text='{getPopulationGroup().getMeanWeight()}' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupMeanWeight" text='{getPopulationGroup().getMeanWeight()}' editable='{false}' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.price" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.price" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationGroupPrice" text='{getPopulationGroup().getPrice()}' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupPrice" text='{getPopulationGroup().getPrice()}' editable='{false}' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.naturalDeathRate" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.naturalDeathRate" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationGroupNaturalDeathRate' matrix='{getBean() == null || getPopulationGroup() == null ? null : ((AbstractMatrixND)getBean().getNaturalDeathRateMatrix()).getSubMatrixOnSemantic(0, getPopulationGroup())}' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.reproductionRate" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.reproductionRate" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationGroupReproductionRate" text='{getPopulationGroup().getReproductionRate()}' onKeyReleased='getPopulationGroup().setReproductionRate(Double.parseDouble(fieldPopulationGroupReproductionRate.getText()))' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupReproductionRate" text='{getPopulationGroup().getReproductionRate()}' onKeyReleased='getPopulationGroup().setReproductionRate(Double.parseDouble(fieldPopulationGroupReproductionRate.getText()))' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.age" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.age" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationGroupAge" text='{getPopulationGroup().getAge()}' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupAge" text='{getPopulationGroup().getAge()}' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.length" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.length" enabled='{isPopGroupNotNull()}'/> </cell> <cell fill='both' weightx='0.5'> - <JTextField id="fieldPopulationGroupMinLength" text='{getPopulationGroup().getMinLength()}' onKeyReleased='getPopulationGroup().setMinLength(Double.parseDouble(fieldPopulationGroupMinLength.getText()))' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupMinLength" text='{getPopulationGroup().getMinLength()}' onKeyReleased='getPopulationGroup().setMinLength(Double.parseDouble(fieldPopulationGroupMinLength.getText()))' enabled='{isPopGroupNotNull()}'/> </cell> <cell fill='both' weightx='0.5'> - <JTextField id="fieldPopulationGroupMaxLength" text='{getPopulationGroup().getMaxLength()}' onKeyReleased='getPopulationGroup().setMaxLength(Double.parseDouble(fieldPopulationGroupMaxLength.getText()))' enabled='{isActif()}'/> + <JTextField id="fieldPopulationGroupMaxLength" text='{getPopulationGroup().getMaxLength()}' onKeyReleased='getPopulationGroup().setMaxLength(Double.parseDouble(fieldPopulationGroupMaxLength.getText()))' enabled='{isPopGroupNotNull()}'/> </cell> </row> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationGroup.comments" enabled='{isActif()}'/> + <JLabel text="isisfish.populationGroup.comments" enabled='{isPopGroupNotNull()}'/> </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> - <JTextArea id="fieldPopulationGroupComment" text='{jaxx.runtime.Util.getStringValue(getPopulationGroup().getComment())}' onKeyReleased='getPopulationGroup().setComment(fieldPopulationGroupComment.getText())' enabled='{isActif()}'/> + <JTextArea id="fieldPopulationGroupComment" text='{jaxx.runtime.Util.getStringValue(getPopulationGroup().getComment())}' onKeyReleased='getPopulationGroup().setComment(fieldPopulationGroupComment.getText())' enabled='{isPopGroupNotNull()}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -80,7 +80,9 @@ @Override public void matrixChanged(MatrixPanelEvent arg0) { - popInfo.setMigrationMatrix(populationMigrationEmigrationTable.getMatrix()); + if (popInfo != null){ + popInfo.setMigrationMatrix(populationMigrationEmigrationTable.getMatrix()); + } } }); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -79,7 +79,9 @@ @Override public void matrixChanged(MatrixPanelEvent arg0) { - popInfo.setImmigrationMatrix(populationMigrationImmigrationTable.getMatrix()); + if (popInfo != null){ + popInfo.setImmigrationMatrix(populationMigrationImmigrationTable.getMatrix()); + } } }); if (popInfo != null){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -81,7 +81,9 @@ @Override public void matrixChanged(MatrixPanelEvent arg0) { - popInfo.setMigrationMatrix(populationMigrationMigrationTable.getMatrix()); + if (popInfo != null){ + popInfo.setMigrationMatrix(populationMigrationMigrationTable.getMatrix()); + } } }); if (popInfo != null){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -38,6 +38,8 @@ <fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl id='populationSeasonInfo' javaBean='null'/> + <Boolean id='popSeasonInfoNotNull' javaBean='false'/> + <script><![CDATA[ import fr.ifremer.isisfish.entities.PopulationSeasonInfo; import fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl; @@ -53,9 +55,11 @@ @Override public void propertyChange(PropertyChangeEvent evt) { - Month first = getPopulationSeasonInfo().getFirstMonth(); - first.setMonthNumber(ip.getModel().getFirst()); - getPopulationSeasonInfo().setFirstMonth(first); + if (getPopulationSeasonInfo() != null){ + Month first = getPopulationSeasonInfo().getFirstMonth(); + first.setMonthNumber(ip.getModel().getFirst()); + getPopulationSeasonInfo().setFirstMonth(first); + } } }); @@ -63,9 +67,11 @@ @Override public void propertyChange(PropertyChangeEvent evt) { - Month last = getPopulationSeasonInfo().getLastMonth(); - last.setMonthNumber(ip.getModel().getLast()); - getPopulationSeasonInfo().setLastMonth(last); + if (getPopulationSeasonInfo() != null){ + Month last = getPopulationSeasonInfo().getLastMonth(); + last.setMonthNumber(ip.getModel().getLast()); + getPopulationSeasonInfo().setLastMonth(last); + } } }); @@ -83,16 +89,34 @@ } }); +create.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + getContextValue(InputAction.class).createPopulationSeasonInfo(getBean()); + setCombo(); + } +}); + +remove.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + getContextValue(InputAction.class).removePopulationSeasonInfo(getBean(), getPopulationSeasonInfo()); + setCombo(); + } +}); + public void refresh(){ + if (!isActif()){ + setPopSeasonInfoNotNull(false); + } getVerifier().setSaveButton(save); getVerifier().setCancelButton(cancel); - getVerifier().setNewButton(create, "PopulationSeasonInfo"); - getVerifier().setDeleteButton(remove); + getVerifier().setNewButton(create, "PopulationSeasonInfo", false); + getVerifier().setDeleteButton(remove, false); Population population = getVerifier().getEntity(Population.class); setBean((PopulationImpl) population); - if (getBean() != null){ - jaxx.runtime.swing.Utils.fillComboBox(fieldPopulationSeasonInfoChooser,getBean().getPopulationSeasonInfo(), null); - } // Model instanciation Interval interval = new Interval(); @@ -128,6 +152,16 @@ ip.setLabelRenderer(Month.MONTH); ip.setModel(interval); } +protected void setCombo(){ + if (getBean() != null){ + jaxx.runtime.swing.Utils.fillComboBox(fieldPopulationSeasonInfoChooser,getBean().getPopulationSeasonInfo(), null); + } +} +protected void seasonGroupChanged(){ + if (getPopulationSeasonInfo() == null){ + getPopulationSeasonInfo().setGroupChange(fieldPopulationSeasonGroupChange.isSelected()); + } +} ]]> </script> <Table id='body'> @@ -139,15 +173,17 @@ <JLabel text="isisfish.populationSeasons.selectSeason" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationSeasonInfoChooser" onActionPerformed='setPopulationSeasonInfo((PopulationSeasonInfoImpl)fieldPopulationSeasonInfoChooser.getSelectedItem())' enabled='{isActif()}'/> + <JComboBox id="fieldPopulationSeasonInfoChooser" + onActionPerformed='setPopulationSeasonInfo((PopulationSeasonInfoImpl)fieldPopulationSeasonInfoChooser.getSelectedItem());getVerifier().addCurrentEntity(getPopulationSeasonInfo());setPopSeasonInfoNotNull(getPopulationSeasonInfo() != null);' + enabled='{isActif()}'/> </cell> </row> <row> <cell anchor='east'> - <JLabel text="isisfish.common.season" enabled='{isActif()}'/> + <JLabel text="isisfish.common.season" enabled='{isPopSeasonInfoNotNull()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JPanel id='fieldPopulationSeasonInterval' layout='{new BorderLayout()}' enabled='{isActif()}'/> + <JPanel id='fieldPopulationSeasonInterval' layout='{new BorderLayout()}' enabled='{isPopSeasonInfoNotNull()}'/> </cell> </row> <row> @@ -156,24 +192,24 @@ </cell> <cell fill='horizontal' weightx='1.0'> <JCheckBox id="fieldPopulationSeasonGroupChange" text="isisfish.populationSeasons.changeGroup" selected='{getPopulationSeasonInfo().getGroupChange()}' - onActionPerformed='getPopulationSeasonInfo().setGroupChange(fieldPopulationSeasonGroupChange.isSelected())' enabled='{isActif()}'/> + onActionPerformed='seasonGroupChanged()' enabled='{isPopSeasonInfoNotNull()}'/> </cell> </row> <row> <cell anchor='east'> - <JLabel text="isisfish.populationSeasons.distributionSpawning" enabled='{isActif()}'/> + <JLabel text="isisfish.populationSeasons.distributionSpawning" enabled='{isPopSeasonInfoNotNull()}'/> </cell> <cell fill='both' weightx='1.0'> - <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationSeasonReproductionDistribution' matrix='{getPopulationSeasonInfo().getLengthChangeMatrix()}' enabled='{isActif()}'/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationSeasonReproductionDistribution' matrix='{getPopulationSeasonInfo() == null ? null : getPopulationSeasonInfo().getLengthChangeMatrix()}' enabled='{isPopSeasonInfoNotNull()}'/> </cell> </row> <row> <cell anchor='east'> - <JLabel text="isisfish.populationSeasons.comments" enabled='{isActif()}'/> + <JLabel text="isisfish.populationSeasons.comments" enabled='{isPopSeasonInfoNotNull()}'/> </cell> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <JTextArea id="fieldPopulationSeasonComment" text='{jaxx.runtime.Util.getStringValue(getBean().getSeasonsComment())}' onKeyReleased='getBean().setSeasonsComment(fieldPopulationSeasonComment.getText())' enabled='{isActif()}'/> + <JTextArea id="fieldPopulationSeasonComment" text='{jaxx.runtime.Util.getStringValue(getBean().getSeasonsComment())}' onKeyReleased='getBean().setSeasonsComment(fieldPopulationSeasonComment.getText())' enabled='{isPopSeasonInfoNotNull()}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -76,7 +76,7 @@ jaxx.runtime.swing.Utils.fillComboBox(fieldSetOfVesselsPort,getRegion().getPort(), getBean().getPort()); jaxx.runtime.swing.Utils.fillComboBox(fieldSetOfVesselsVesselType,getRegion().getVesselType(), getBean().getVesselType()); - technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), bean, "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class); + technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), getBean(), "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class); getVerifier().addCurrentPanel(technicalEfficiency); } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -73,7 +73,7 @@ VesselType vesselType = getVerifier().getEntity(VesselType.class); setBean((VesselTypeImpl) vesselType); if (getBean() != null){ - vesselTypeTripType.fillList(getRegion().getTripType(), getBean().getTripType()); + vesselTypeTripType.fillList(getRegion().getTripType(), getBean().getTripType() == null ? null : getBean().getTripType()); } } protected void tripTypeChanged(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2009-01-29 17:57:45 UTC (rev 1761) @@ -83,7 +83,7 @@ if (log.isDebugEnabled()) { log.debug("zone nb cells : "+ ( zone==null ? 0 : zone.getCell().size() ) ); } - zoneCells.fillList(getRegion().getCell(), getBean() == null ? java.util.Collections.EMPTY_LIST : getBean().getCell()); + setZoneCells(); zoneMap.setFisheryRegion(getRegion()); if (mapListener == null){ zoneMap.setActiveMouseMode(new SelectMouseMode(false)); @@ -94,17 +94,17 @@ } refreshMap(); } +protected void setZoneCells(){ + zoneCells.fillList(getRegion().getCell(), getBean() == null ? null : getBean().getCell()); +} protected void setMapListener(){ if (mapListener == null){ mapListener = new OpenMapEvents(zoneMap, new SelectMouseMode(false), CellSelectionLayer.MULT_SELECTION) { @Override public boolean onMouseClicked() { - if (!isActif()) { - //TODO don't known what does mean that return... - return false; - } java.util.List<Cell> selectedCell = zoneMap.getSelectedCells(); getBean().setCell(selectedCell); + setZoneCells(); return true; } }; Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-01-29 17:57:45 UTC (rev 1761) @@ -558,6 +558,7 @@ isisfish.message.removing.region=Removing region %1$s ... isisfish.message.result.verif.region=R\u00E9sultat de la v\u00E9rification de la r\u00E9gion isisfish.message.save.finished=Save finished +isisfish.message.saveModel.dialog=Model name to save isisfish.message.saveModel.finished=Save model finished isisfish.message.setting.cache.aspects=Setting Cache aspects isisfish.message.setting.trace.aspects=Setting Trace aspects Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-01-28 10:35:22 UTC (rev 1760) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-01-29 17:57:45 UTC (rev 1761) @@ -558,6 +558,7 @@ isisfish.message.removing.region=Suppression de lar\u00E9gion %1$s ... isisfish.message.result.verif.region=R\u00E9sultat de la v\u00E9rification de la r\u00E9gion isisfish.message.save.finished=Sauvegarde termin\u00E9e +isisfish.message.saveModel.dialog=Nom du model \u00E0 sauvegarder isisfish.message.saveModel.finished=Sauvegarde du mod\u00E8le termin\u00E9e isisfish.message.setting.cache.aspects=Mise en place des aspects Cache isisfish.message.setting.trace.aspects=Mise en place des aspects Trace
participants (1)
-
sletellier@users.labs.libre-entreprise.org