Author: sletellier Date: 2009-03-09 14:40:20 +0000 (Mon, 09 Mar 2009) New Revision: 1919 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java isis-fish/trunk/src/main/resources/sensitivity.properties Log: IntervalPanel can be factored 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-03-09 13:49:51 UTC (rev 1918) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-03-09 14:40:20 UTC (rev 1919) @@ -217,7 +217,7 @@ <JLabel text="isisfish.common.season" enabled='{isPopSeasonInfoNotNull()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}'/> + <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"Interval"'/> </cell> </row> <row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 13:49:51 UTC (rev 1918) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 14:40:20 UTC (rev 1919) @@ -5,6 +5,7 @@ package fr.ifremer.isisfish.ui.sensitivity; +import fr.ifremer.isisfish.types.Month; import fr.ifremer.isisfish.ui.input.InputAction; import fr.ifremer.isisfish.ui.input.InputOneEquationUI; import fr.ifremer.isisfish.ui.widget.IntervalPanel; @@ -34,7 +35,6 @@ public static JComponent getEditor(JComponent c, TopiaEntity e) { JComponent result = null; try { -// TopiaEntity e = (TopiaEntity) c.getClientProperty("bean"); String fieldName = (String) c.getClientProperty("method"); result = c.getClass().newInstance(); @@ -42,14 +42,24 @@ ((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName))); } else if (result instanceof JTable){ -// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName)); + ((JTable) result).setModel(((JTable)c).getModel()); } else if (result instanceof MatrixPanelEditor){ ((MatrixPanelEditor) result).setMatrix((MatrixND)callMethod(e, fieldName)); } else if (result instanceof JComboBox){ -// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName)); + JComboBox combo = (JComboBox)c; + JComboBox comboResult = new JComboBox(); + comboResult.setModel(combo.getModel()); + comboResult.setSelectedIndex(combo.getSelectedIndex()); + result = comboResult; + } else if (result instanceof JList){ + JList list = (JList)c; + JList listResult = new JList(); + listResult.setModel(list.getModel()); + listResult.setSelectedIndices(list.getSelectedIndices()); + result = listResult; } else if (result instanceof JCheckBox){ ((JCheckBox) result).setSelected((Boolean)callMethod(e, fieldName)); @@ -69,8 +79,11 @@ ui.refresh(); result = ui; } else if (result instanceof IntervalPanel){ -// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName))); - + IntervalPanel ipResult = new IntervalPanel(); + IntervalPanel ip = (IntervalPanel)c; + ipResult.setLabelRenderer(Month.MONTH); + ipResult.setModel(ip.getModel().clone()); + result = ipResult; } } catch (Exception ex) { Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-09 13:49:51 UTC (rev 1918) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-09 14:40:20 UTC (rev 1919) @@ -38,6 +38,8 @@ <Boolean id='tabVisible' javaBean='false'/> + <Boolean id='saveEnabled' javaBean='false'/> + <script><![CDATA[ import org.codelutin.topia.persistence.TopiaEntity; @@ -73,7 +75,7 @@ <JLabel text='isisfish.factor.name'/> </cell> <cell columns='3' fill='horizontal' weightx='0.5'> - <JTextField id='factorName'/> + <JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/> </cell> </row> <row> @@ -121,7 +123,7 @@ <JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/> </cell> <cell columns='2' fill='horizontal' weightx='0.5'> - <JButton id='save' text='isisfish.common.save'/> + <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}'/> </cell> </row> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 13:49:51 UTC (rev 1918) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 14:40:20 UTC (rev 1919) @@ -246,6 +246,16 @@ return false; } + @Override + public Interval clone(){ + Interval result = new Interval(); + result.setFirst(this.getFirst()); + result.setLast(this.getLast()); + result.setMax(this.getMax()); + result.setMin(this.getMin()); + return result; + } + public static class IntervalIterator implements Iterator { private int min; @@ -282,5 +292,6 @@ public void remove() { throw new UnsupportedOperationException(); } + } } // Interval Modified: isis-fish/trunk/src/main/resources/sensitivity.properties =================================================================== --- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 13:49:51 UTC (rev 1918) +++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 14:40:20 UTC (rev 1919) @@ -43,6 +43,7 @@ PopulationSeasonInfo.ImmigrationMatrix PopulationSeasonInfo.MigrationMatrix PopulationSeasonInfo.UseEquationMigration +PopulationSeasonInfo.Interval Population.MigrationComment Population.MonthGapBetweenReproRecrutement Population.RecruitmentDistribution