r2030 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/simulator/sensitivity java/fr/ifremer/isisfish/simulator/sensitivity/domain java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources resources/i18n
Author: sletellier Date: 2009-03-24 15:46:42 +0000 (Tue, 24 Mar 2009) New Revision: 2030 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 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/PopulationRecruitmentUI.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/StrategyOneMonthInfoUI.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/EquationContinuousPanel.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties isis-fish/trunk/src/main/resources/sensitivity.properties Log: Equation and matrix continuous factor with coeficient are enabled Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -47,6 +47,11 @@ * Nom du facteur. */ protected String name; + + /** + * Commentaire du facteur. + */ + protected String comment; /** * Domaine du facteur. @@ -118,6 +123,24 @@ } /** + * Get comment. + * + * @return the comment + */ + public String getComment() { + return comment; + } + + /** + * Set comment. + * + * @param the comment to set + */ + public void setComment(String comment) { + this.comment = comment; + } + + /** * Get domain. * * @return the domain Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -45,6 +45,12 @@ /** Operation. (=,+,-,/) */ protected String operator; + /** Coefficient in percent */ + protected Double coefficient; + + /** Valeur de reference in percent */ + protected Double referenceValue; + /** * Empty constructor. */ @@ -89,6 +95,42 @@ } /** + * Get coefficient. + * + * @return the coefficient + */ + public Double getCoefficient() { + return coefficient; + } + + /** + * Set coefficient. + * + * @param the coefficient to set + */ + public void setCoefficient(Double coefficient) { + this.coefficient = coefficient; + } + + /** + * Get reference value. + * + * @return the reference value + */ + public Double getReferenceValue() { + return referenceValue; + } + + /** + * Set reference value. + * + * @param the reference value.to set + */ + public void setReferenceValue(Double referenceValue) { + this.referenceValue = referenceValue; + } + + /** * {@inheritDoc}. * * In equation continuous domain, value appear in 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -91,10 +91,11 @@ </cell> </row> <row> - <cell columns='2' fill='both' weightx='1.0'> + <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationCapturability' constructorParams='null, false' - matrix='{getBean().getCapturability() == null ? null : getBean().getCapturability().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"Capturability"'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationCapturability' + matrix='{getBean().getCapturability() == null ? null : getBean().getCapturability().copy()}' + enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"Capturability"'/> </JScrollPane> </cell> </row> @@ -104,7 +105,7 @@ </cell> </row> <row> - <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> + <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> <JTextArea id="fieldPopulationCapturabilityComment" text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getCapturabilityComment())}' onKeyReleased='getBean().setCapturabilityComment(fieldPopulationCapturabilityComment.getText())' enabled='{isActif()}' decorator='boxed'/> </JScrollPane> 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -134,7 +134,7 @@ </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationGroupNaturalDeathRate' constructorParams='null, false' + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationGroupNaturalDeathRate' matrix='{getBean() == null || getPopulationGroup() == null ? null : ((AbstractMatrixND)getBean().getNaturalDeathRateMatrix()).getSubMatrixOnSemantic(0, getPopulationGroup())}' enabled='{isPopGroupNotNull()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"NaturalDeathRateMatrix"'/> </JScrollPane> 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -205,7 +205,7 @@ <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationEmigrationTable' constructorParams='null, false' linearModel="true" enabled='{isActif()}'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationEmigrationTable' linearModel="true" enabled='{isActif()}'/> </JScrollPane> </cell> </row> 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -201,7 +201,7 @@ <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationImmigrationTable' constructorParams='null, false' linearModel="true" enabled='{isActif()}'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationImmigrationTable' linearModel="true" enabled='{isActif()}'/> </JScrollPane> </cell> </row> 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -216,7 +216,7 @@ <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationMigrationTable' constructorParams='null, false' linearModel='{true}' enabled='{isActif()}'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='populationMigrationMigrationTable' linearModel='{true}' enabled='{isActif()}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -114,8 +114,9 @@ </cell> <cell fill='both' weightx='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationRecruitmentDistribution' constructorParams='null, false' - matrix='{getBean().getRecruitmentDistribution() == null ? null : getBean().getRecruitmentDistribution().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"RecruitmentDistribution"'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationRecruitmentDistribution' + matrix='{getBean().getRecruitmentDistribution() == null ? null : getBean().getRecruitmentDistribution().copy()}' + enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"RecruitmentDistribution"'/> </JScrollPane> </cell> </row> 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-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -236,7 +236,7 @@ </cell> <cell fill='both' weightx='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationSeasonReproductionDistribution' constructorParams='null, false' + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id ='fieldPopulationSeasonReproductionDistribution' matrix='{getPopulationSeasonInfo() == null ? null : getPopulationSeasonInfo().getLengthChangeMatrix()}' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"LengthChangeMatrix"'/> </JScrollPane> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -150,7 +150,7 @@ <row> <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id="fieldStrategyMonthInfoProportion" constructorParams='null, false' linearModelShowDefault='{true}' linearModel='{true}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id="fieldStrategyMonthInfoProportion" linearModelShowDefault='{true}' linearModel='{true}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/> </JScrollPane> </cell> </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-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -21,6 +21,7 @@ import fr.ifremer.isisfish.entities.Formule; import fr.ifremer.isisfish.entities.Selectivity; import fr.ifremer.isisfish.entities.TargetSpecies; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain; @@ -116,6 +117,7 @@ } else if (result instanceof InputOneEquationUI){ InputOneEquationUI origine = (InputOneEquationUI) c; InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction())); + ui.setSelectedEquation(origine.getSelectedEquation()); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); ui.setClazz(origine.getClazz()); @@ -197,6 +199,7 @@ if (c instanceof InputOneEquationUI){ InputOneEquationUI origine = (InputOneEquationUI) c; EquationContinuousPanel ui = new EquationContinuousPanel(new JAXXInitialContext().add(new InputAction())); + ui.setSelectedEquation(origine.getSelectedEquation()); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); ui.setClazz(origine.getClazz()); @@ -210,7 +213,6 @@ if (m != null){ matrixPanel.setMatrix(m.clone()); } - continuousPanel = matrixPanel.getDefaultContinuousPanel(); result = matrixPanel; } else { continuousPanel = new DefaultContinuousPanel(); @@ -232,7 +234,7 @@ } return new JTextField(); } - public static ContinuousPanelContainer getContinuousPanelWithValue(JComponent c, ContinuousDomain domain) { + public static ContinuousPanelContainer getContinuousPanelWithValue(JComponent c, ContinuousDomain domain, Factor f) { ContinuousPanelContainer result = null; try { DefaultContinuousPanel continuousPanel = null; @@ -241,6 +243,7 @@ EquationContinuousPanel ui = new EquationContinuousPanel(new JAXXInitialContext().add(new InputAction())); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); + ui.getEditor().getEditor().setText((String)f.getValue()); ui.setClazz(origine.getClazz()); ui.setMethodGet(origine.getMethodGet()); ui.setMethodSet(origine.getMethodSet()); @@ -258,8 +261,8 @@ if (m != null){ panel.setMatrix(m.clone()); } - continuousPanel = panel.getDefaultContinuousPanel(); panel.getOperator().setSelectedItem(matrixDomain.getOperator()); + panel.getCoef().setText("" + matrixDomain.getCoefficient()); result = panel; } else { continuousPanel = new DefaultContinuousPanel(); @@ -318,6 +321,7 @@ } else if (result instanceof InputOneEquationUI){ InputOneEquationUI origine = (InputOneEquationUI) c; InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction())); + ui.getEditor().setText((String)value); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); ui.setClazz(origine.getClazz()); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanel.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -48,6 +48,9 @@ import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; import javax.swing.table.TableCellEditor; import javax.swing.table.TableModel; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.apache.commons.lang.StringUtils; protected String[] columnNames = {"Name", "Value", "Coef", "Operator", "Action"}; protected java.util.List<EquationContinuousDomain> datas = new ArrayList<EquationContinuousDomain>(); @@ -85,9 +88,9 @@ if (columnIndex == 0){ return datas.get(rowIndex).getVariableName(); } else if (columnIndex == 1){ - return datas.get(rowIndex).getMinBound(); + return datas.get(rowIndex).getReferenceValue(); } else if (columnIndex == 2){ - return datas.get(rowIndex).getMaxBound(); + return datas.get(rowIndex).getCoefficient(); } else if (columnIndex == 3){ return datas.get(rowIndex).getOperator(); } else if (columnIndex == 4){ @@ -103,9 +106,9 @@ if (columnIndex == 0){ datas.get(rowIndex).setVariableName((String)aValue); } else if (columnIndex == 1){ - datas.get(rowIndex).setMinBound(Long.parseLong((String)aValue)); + datas.get(rowIndex).setReferenceValue(Double.parseDouble((String)aValue)); } else if (columnIndex == 2){ - datas.get(rowIndex).setMaxBound(Long.parseLong((String)aValue)); + datas.get(rowIndex).setCoefficient(Double.parseDouble((String)aValue)); } else if (columnIndex == 3){ datas.get(rowIndex).setOperator((String)aValue); } @@ -134,7 +137,9 @@ public void actionPerformed(ActionEvent e) { JComboBox source = (JComboBox)e.getSource(); int i = operateurs.indexOf(source); - datas.get(i).setOperator((String)source.getSelectedItem()); + if (datas.size() <= i){ + datas.get(i).setOperator((String)source.getSelectedItem()); + } } }); return result; @@ -158,8 +163,17 @@ } protected void valid(int i){ String variableName = datas.get(i).getVariableName(); - String text = editor.getEditor().getText().replaceAll(variableName, "getValue('" + variableName + "'}"); - editor.getEditor().setText(text); + String[] lines = editor.getEditor().getText().split("\n"); + String result = ""; + for (String line : lines){ + Pattern p = Pattern.compile("(^.*\\ *" + variableName + "\\ *\\=\\ *).*\\;$"); + Matcher matcher = p.matcher(line); + if (matcher.find()) { + line = matcher.group(1) + "getValueAndCompute('" + bean.toString() + "." + StringUtils.uncapitalize(methodGet) + "." + variableName + "');"; + } + result += line + "\n"; + } + editor.getEditor().setText(result); } protected void setTable(){ params.setModel(getTableModel()); @@ -203,34 +217,6 @@ public void removeCellEditorListener(CellEditorListener l) { } }); - params.addMouseListener(new MouseListener() { - - @Override - public void mouseClicked(MouseEvent e) { - if (params.getSelectedRow() != -1){ - remove.setEnabled(true); - } - else { - remove.setEnabled(false); - } - } - - @Override - public void mousePressed(MouseEvent e) { - } - - @Override - public void mouseReleased(MouseEvent e) { - } - - @Override - public void mouseEntered(MouseEvent e) { - } - - @Override - public void mouseExited(MouseEvent e) { - } - }); } protected void add(){ datas.add(new EquationContinuousDomain()); @@ -239,10 +225,12 @@ } protected void remove(){ int i = params.getSelectedRow(); - datas.remove(i); - operateurs.remove(i); - actions.remove(i); - setTable(); + if (i != -1){ + datas.remove(i); + operateurs.remove(i); + actions.remove(i); + setTable(); + } } ]]> </script> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -31,24 +31,24 @@ * @author letellier */ public class FactorAction { - public static void saveContinue(JComponent cOrigine, String name, String path, ContinuousPanelContainer panel, SimulAction action, boolean exist){ + public static void saveContinue(JComponent cOrigine, String name, String comment, String path, ContinuousPanelContainer panel, SimulAction action, boolean exist){ DefaultContinuousPanel defaultPanel = null; if (MatrixContinuousPanel.class.isInstance(panel)){ MatrixContinuousPanel matrixPanel = (MatrixContinuousPanel)panel; - defaultPanel = matrixPanel.getDefaultContinuousPanel(); + Double coef = Double.valueOf(matrixPanel.getCoef().getText()); MatrixND matrix = matrixPanel.getMatrix(); String operateur = (String)matrixPanel.getOperator().getSelectedItem(); - action.addContinuousMatrixFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), matrix, operateur, cOrigine, exist); + action.addContinuousMatrixFactor(name, comment, path, coef, matrix, operateur, cOrigine, exist); } else if (EquationContinuousPanel.class.isInstance(panel)){ EquationContinuousPanel equationPanel = (EquationContinuousPanel)panel; List<EquationContinuousDomain> domains = equationPanel.getDomains(); for (EquationContinuousDomain domain : domains){ - action.addContinuousEquationFactor(name, path, domain, equationPanel.getEditor().getEditor().getText(), cOrigine, exist); + action.addContinuousEquationFactor(name, comment, path, domain, equationPanel.getEditor().getEditor().getText(), cOrigine, exist); } } else if (DefaultContinuousPanel.class.isInstance(panel)){ defaultPanel = (DefaultContinuousPanel)panel; - action.addContinuousFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), cOrigine, exist); + action.addContinuousFactor(name, comment, path, getMin(defaultPanel), getMax(defaultPanel), cOrigine, exist); } } protected static Double getMin(DefaultContinuousPanel defaultPanel){ @@ -57,12 +57,12 @@ protected static Double getMax(DefaultContinuousPanel defaultPanel){ return Double.parseDouble(defaultPanel.getMax()); } - public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action, boolean exist){ + public static void saveDiscret(JComponent cOrigine, String name, String comment, String path, List<JComponent> components, SimulAction action, boolean exist){ List<Serializable> values = new ArrayList<Serializable>(); for(JComponent c: components){ values.add((Serializable)EditorHelper.getValue(c)); } - action.addDiscreteFactor(name, path, values, cOrigine, exist); + action.addDiscreteFactor(name, comment, path, values, cOrigine, exist); } } ; \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -27,6 +27,7 @@ import javax.swing.tree.DefaultTreeCellRenderer; import fr.ifremer.isisfish.simulator.sensitivity.Factor; +import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; /** * Factor tree cell renderer. @@ -62,7 +63,13 @@ else if (userObject instanceof Factor) { Factor<?> factor = (Factor)userObject; //c = new JLabel(factor.getName()); - c.setText(factor.getName()); + if (factor.getDomain() instanceof EquationContinuousDomain){ + EquationContinuousDomain domain = (EquationContinuousDomain)factor.getDomain(); + c.setText(factor.getName() + "." + domain.getVariableName()); + } + else { + c.setText(factor.getName()); + } } } 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-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -124,13 +124,14 @@ this.cOrigine = cOrigine; this.path = f.getPath(); factorName.setText(f.getName()); + comment.setText(f.getComment()); Domain domain = f.getDomain(); this.factor = f; if (ContinuousDomain.class.isInstance(domain)){ ContinuousDomain cDomain = (ContinuousDomain) domain; - continuousPanel = EditorHelper.getContinuousPanelWithValue(cOrigine, cDomain); + continuousPanel = EditorHelper.getContinuousPanelWithValue(cOrigine, cDomain, f); init(); continueRadion.setSelected(true); @@ -189,16 +190,19 @@ } protected void save(){ if (continueRadion.isSelected()){ - getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continuousPanel, getSimulAction(), isExistingValue()); + getFactorAction().saveContinue(cOrigine, factorName.getText(), comment.getText(), path, continuousPanel, getSimulAction(), isExistingValue()); } else { - getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction(), isExistingValue()); + getFactorAction().saveDiscret(cOrigine, factorName.getText(), comment.getText(), path, discretComponents, getSimulAction(), isExistingValue()); } getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel(); - this.dispose(); + exit(); } protected void remove(){ getSimulAction().removeFactor(factor); getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel(); + exit(); +} +protected void exit(){ this.dispose(); } ]]> @@ -257,7 +261,7 @@ </row> <row> <cell fill='horizontal' weightx='0.25'> - <JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/> + <JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='exit()'/> </cell> <cell fill='horizontal' weightx='0.25'> <JButton id='remove' text='isisfish.common.remove' visible='{isExistingValue()}' onActionPerformed='remove()'/> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -41,22 +41,25 @@ </script> <Table id='content' constraints='BorderLayout.CENTER'> <row> - <cell fill='both' columns='2' weightx='1' weighty='1'> - <DefaultContinuousPanel id='defaultContinuousPanel' continuePossible='{isContinuePossible()}' continueSelected='{isContinueSelected()}'/> - </cell> - </row> - <row> <cell fill='horizontal'> <JLabel text='isisfish.factor.value' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> </cell> <cell fill='both' weightx='1' weighty='1'> <JScrollPane> - <JAXXMatrixEditor id='componentPanel' constructorParams='false' matrix='{getMatrix() == null ? null : getMatrix().clone()}' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> + <JAXXMatrixEditor id='componentPanel' dimensionEdit='{false}' matrix='{getMatrix() == null ? null : getMatrix().clone()}' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> </JScrollPane> </cell> </row> <row> <cell fill='horizontal'> + <JLabel text='isisfish.factor.coefficient' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> + </cell> + <cell fill='both' columns='2' weightx='1' weighty='1'> + <JTextField id='coef' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> + </cell> + </row> + <row> + <cell fill='horizontal'> <JLabel text='isisfish.factor.operateur' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> </cell> <cell fill='horizontal' weightx='1' columns='3'> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-24 15:46:42 UTC (rev 2030) @@ -564,7 +564,7 @@ <cell columns="4" fill="both" weightx="1.0" weighty="0.6"> <JTabbedPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> <tab title='{_("isisfish.params.populationNumbers")}'> - <org.codelutin.math.matrix.gui.JAXXMatrixEditor id="simulParamsNumbers" constructorParams='null, false' name="isisfish.params.populationNumbers"/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id="simulParamsNumbers" name="isisfish.params.populationNumbers"/> </tab> <tab title='{_("isisfish.params.ruleParameters")}'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-24 15:46:42 UTC (rev 2030) @@ -826,9 +826,9 @@ return result; } - public void addFactor(String path, Factor f, JComponent c) { - factors.put(path + f.getName(), f); - factorComponent.put(path + f.getName(), c); + public void addFactor(Factor f, JComponent c) { + factors.put(f.getPath() + f.getName(), f); + factorComponent.put(f.getPath() + f.getName(), c); designPlan.setFactors(getFactors()); } @@ -836,20 +836,21 @@ return factors.get(name); } - public void addContinuousFactor(String name, String path, Double min, + public void addContinuousFactor(String name, String comment, String path, Double min, Double max, JComponent c, boolean exist) { Factor f = new Factor(name); ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>(); domain.setMinBound(min); domain.setMaxBound(max); f.setDomain(domain); + f.setComment(comment); f.setPath(path); if (exist) removeFactor(f); - addFactor(path, f, c); + addFactor(f, c); } - public void addDiscreteFactor(String name, String path, + public void addDiscreteFactor(String name, String comment, String path, List<Serializable> values, JComponent c, boolean exist) { Factor f = new Factor(name); DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>(); @@ -862,39 +863,40 @@ i++; } f.setDomain(domain); + f.setComment(comment); f.setPath(path); if (exist) removeFactor(f); - addFactor(path, f, c); + addFactor(f, c); } - public void addContinuousEquationFactor(String name, String path, + public void addContinuousEquationFactor(String name, String comment, String path, EquationContinuousDomain domain, String equation, JComponent c, boolean exist) { Factor f = new Factor(name); f.setValue(equation); f.setDomain(domain); + f.setComment(comment); f.setPath(path + domain.getVariableName()); if (exist) removeFactor(f); - addFactor(path, f, c); + addFactor(f, c); } - public void addContinuousMatrixFactor(String name, String path, - Double min, Double max, MatrixND matrix, + public void addContinuousMatrixFactor(String name, String comment, String path, + Double coef, MatrixND matrix, String operateur, JComponent c, boolean exist) { Factor f = new Factor(name); MatrixContinuousDomain<Serializable> domain = new MatrixContinuousDomain<Serializable>(); domain.setMatrix(matrix); domain.setOperator(operateur); - domain.setMaxBound(max); - domain.setMinBound(min); + domain.setCoefficient(coef); + f.setComment(comment); f.setDomain(domain); f.setPath(path); - f.setValue(matrix); if (exist) removeFactor(f); - addFactor(path, f, c); + addFactor(f, c); } public JComponent getFactorComponent(Factor f) { 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-24 15:46:42 UTC (rev 2030) @@ -352,6 +352,7 @@ isisfish.export.directory=Export directory isisfish.export.saved=Export saved isisfish.export.title=Results export +isisfish.factor.coefficient=Coefficient (in %) isisfish.factor.comment=Comment isisfish.factor.continue=Continue factor isisfish.factor.discret=Discret factor 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-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-24 15:46:42 UTC (rev 2030) @@ -352,6 +352,7 @@ isisfish.export.directory=Dossier d'export isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s isisfish.export.title=Export des r\u00E9sultats +isisfish.factor.coefficient=Co\u00E9fficient (en %) isisfish.factor.comment=Commentaires isisfish.factor.continue=Facteur continu isisfish.factor.discret=Facteur discret Modified: isis-fish/trunk/src/main/resources/sensitivity.properties =================================================================== --- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-23 17:45:43 UTC (rev 2029) +++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-24 15:46:42 UTC (rev 2030) @@ -17,7 +17,6 @@ Gear.ParameterName Gear.PossibleValue Metier.GearParameterValue -Metier.Interval Metier.Zone MetierSeasonInfo.SpeciesTargetSpecies Population.GeographicId @@ -29,10 +28,11 @@ Population.MeanWeight Population.Price Population.ReproductionEquation -PopulationGroup.MeanWeight -PopulationGroup.Price Population.NaturalDeathRateMatrix Population.NaturalDeathRate +Population.Capturability +PopulationGroup.MeanWeight +PopulationGroup.Price PopulationGroup.ReproductionRate PopulationGroup.Age PopulationGroup.MinLength @@ -42,7 +42,6 @@ PopulationSeasonInfo.ImmigrationMatrix PopulationSeasonInfo.MigrationMatrix PopulationSeasonInfo.UseEquationMigration -PopulationSeasonInfo.Interval PopulationSeasonInfo.LengthChangeMatrix PopulationSeasonInfo.GroupChange Population.MonthGapBetweenReproRecrutement
participants (1)
-
sletellier@users.labs.libre-entreprise.org