Author: chatellier Date: 2009-06-17 15:09:28 +0000 (Wed, 17 Jun 2009) New Revision: 2402 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/EquationContinuousPanelUI.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/MatrixContinuousPanelUI.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: #1877, les coeff des UI equation et matrice continue sont en % 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-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-06-17 15:09:28 UTC (rev 2402) @@ -70,67 +70,72 @@ /** Class logger. */ private static Log log = LogFactory.getLog(InputTabbedPaneListener.class); - public static String getMethod(JComponent c){ - return (String) c.getClientProperty("method"); - } - public static JComponent getEditor(JComponent c, TopiaEntity e) { - JComponent result = null; + public static String getMethod(JComponent c) { + return (String) c.getClientProperty("method"); + } + + public static JComponent getEditor(JComponent c, TopiaEntity e) { + JComponent result = null; try { String fieldName = getMethod(c); result = c.getClass().newInstance(); if (result instanceof JTextField) { - ((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName))); + ((JTextComponent) result).setText(String.valueOf(callMethod(e, + fieldName))); - } else if (result instanceof NumberEditor){ + } else if (result instanceof NumberEditor) { NumberEditor ui = (NumberEditor) c; JTextField numEditor = new JTextField(); numEditor.setText(String.valueOf(ui.getModel())); result = numEditor; - } else if (result instanceof MatrixEditor){ + } else if (result instanceof MatrixEditor) { MatrixEditor ui = (MatrixEditor) c; - MatrixND m = (MatrixND)callMethod(e, fieldName); + MatrixND m = (MatrixND) callMethod(e, fieldName); JAXXMatrixEditor matrix = new JAXXMatrixEditor(false); - if (m != null){ + if (m != null) { matrix.setMatrix(m.clone()); } matrix.setLinearModel(ui.isLinearModel()); matrix.setLinearModelShowDefault(ui.isLinearModelShowDefault()); result = matrix; - - } else if (result instanceof JTable){ - ((JTable) result).setModel(((JTable)c).getModel()); - } else if (result instanceof JComboBox){ - JComboBox combo = (JComboBox)c; + } else if (result instanceof JTable) { + ((JTable) result).setModel(((JTable) c).getModel()); + + } else if (result instanceof JComboBox) { + 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; + } 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)); - JCheckBox cOrigin = (JCheckBox)c; + } else if (result instanceof JCheckBox) { + ((JCheckBox) result).setSelected((Boolean) callMethod(e, + fieldName)); + JCheckBox cOrigin = (JCheckBox) c; ((JCheckBox) result).setText(cOrigin.getText()); - } else if (result instanceof JRadioButton){ - ((JRadioButton) result).setSelected((Boolean)callMethod(e, fieldName)); - JRadioButton cOrigin = (JRadioButton)c; + } else if (result instanceof JRadioButton) { + ((JRadioButton) result).setSelected((Boolean) callMethod(e, + fieldName)); + JRadioButton cOrigin = (JRadioButton) c; ((JRadioButton) result).setText(cOrigin.getText()); - } else if (result instanceof SpeciesStructuredUI){ - SpeciesStructuredUI origine = (SpeciesStructuredUI)c; + } else if (result instanceof SpeciesStructuredUI) { + SpeciesStructuredUI origine = (SpeciesStructuredUI) c; SpeciesStructuredUI ui = new SpeciesStructuredUI(); ui.setActif(true); result = ui; - }else if (result instanceof InputOneEquationUI){ + } else if (result instanceof InputOneEquationUI) { InputOneEquationUI origine = (InputOneEquationUI) c; - InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction())); + InputOneEquationUI ui = new InputOneEquationUI( + new JAXXInitialContext().add(new InputAction())); ui.setSelectedEquation(origine.getSelectedEquation()); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); @@ -141,59 +146,70 @@ ui.setActif(true); ui.refresh(); result = ui; - } else if (result instanceof IntervalPanel){ + } else if (result instanceof IntervalPanel) { IntervalPanel ipResult = new IntervalPanel(); - IntervalPanel ip = (IntervalPanel)c; + IntervalPanel ip = (IntervalPanel) c; ipResult.setLabelRenderer(Month.MONTH); ipResult.setModel(ip.getModel().clone()); result = ipResult; - } else if (result instanceof RangeOfValuesUI){ + } else if (result instanceof RangeOfValuesUI) { result = new JTextField(""); - } else if (result instanceof SelectivityEditorUI){ - SelectivityEditorUI origine = (SelectivityEditorUI)c; - SelectivityEditorUI ui = new SelectivityEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier())); + } else if (result instanceof SelectivityEditorUI) { + SelectivityEditorUI origine = (SelectivityEditorUI) c; + SelectivityEditorUI ui = new SelectivityEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion()).add( + new InputSaveVerifier())); ui.setBean(origine.getBean()); ui.setActif(true); ui.refresh(); ui.setActif(true); result = ui; - } else if (result instanceof MetierSeasonInfoSpeciesEditorUI){ - MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c; - MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier())); + } else if (result instanceof MetierSeasonInfoSpeciesEditorUI) { + MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI) c; + MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion()).add( + new InputSaveVerifier())); ui.setBean(origine.getBean()); - if (origine.getMetierSeasonInfo() != null){ + if (origine.getMetierSeasonInfo() != null) { ui.setMetierSeasonInfo(origine.getMetierSeasonInfo()); ui.setMetierSeasonSelected(true); ui.setActif(true); } ui.refresh(); result = ui; - } else if (result instanceof PopulationZonesEditorUI){ - PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c; - PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion())); + } else if (result instanceof PopulationZonesEditorUI) { + PopulationZonesEditorUI origine = (PopulationZonesEditorUI) c; + PopulationZonesEditorUI ui = new PopulationZonesEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion())); ui.setBean(origine.getBean()); ui.setActif(true); ui.refresh(); result = ui; - } else if (result instanceof PopulationMigrationMigrationUI){ - PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI)c; - PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationMigrationUI) { + PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) c; + PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); ui.setActif(true); ui.refreshPanel(); result = ui; - } else if (result instanceof PopulationMigrationEmigrationUI){ - PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI)c; - PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationEmigrationUI) { + PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) c; + PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); ui.setActif(true); ui.refreshPanel(); result = ui; - } else if (result instanceof PopulationMigrationImmigrationUI){ - PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI)c; - PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationImmigrationUI) { + PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) c; + PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); ui.setActif(true); @@ -204,15 +220,18 @@ log.error(ex); } return result; - } - public static ContinuousPanelContainerUI getContinuousPanel(JComponent c, TopiaEntity e){ - ContinuousPanelContainerUI result = null; + } + + public static ContinuousPanelContainerUI getContinuousPanel(JComponent c, + TopiaEntity e) { + ContinuousPanelContainerUI result = null; try { String fieldName = getMethod(c); DefaultContinuousPanelUI continuousPanel = null; - if (c instanceof InputOneEquationUI){ + if (c instanceof InputOneEquationUI) { InputOneEquationUI origine = (InputOneEquationUI) c; - EquationContinuousPanelUI ui = new EquationContinuousPanelUI(new JAXXInitialContext().add(new InputAction())); + EquationContinuousPanelUI ui = new EquationContinuousPanelUI( + new JAXXInitialContext().add(new InputAction())); ui.setSelectedEquation(origine.getSelectedEquation()); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); @@ -221,10 +240,10 @@ ui.setMethodSet(origine.getMethodSet()); ui.setBean(e); result = ui; - } else if (c instanceof MatrixEditor){ + } else if (c instanceof MatrixEditor) { MatrixContinuousPanelUI matrixPanel = new MatrixContinuousPanelUI(); - MatrixND m = (MatrixND)callMethod(e, fieldName); - if (m != null){ + MatrixND m = (MatrixND) callMethod(e, fieldName); + if (m != null) { matrixPanel.setMatrix(m.clone()); } result = matrixPanel; @@ -232,199 +251,224 @@ continuousPanel = new DefaultContinuousPanelUI(); result = continuousPanel; } - if (continuousPanel != null){ - continuousPanel.init(getNewBoundEditor(c, e), getNewBoundEditor(c, e)); + if (continuousPanel != null) { + continuousPanel.init(getNewBoundEditor(c, e), + getNewBoundEditor(c, e)); } } catch (Exception ex) { log.error(ex); } return result; - } - public static JTextField getNewBoundEditor(JComponent c, TopiaEntity e) { - String fieldName = getMethod(c); - Object value = callMethod(e, fieldName); - if (JTextComponent.class.isInstance(c)){ - return new JTextField(String.valueOf(value)); - } - return new JTextField(); - } - public static ContinuousPanelContainerUI getContinuousPanelWithValue(JComponent c, ContinuousDomain domain, Factor f) { - ContinuousPanelContainerUI result = null; + } + + public static JTextField getNewBoundEditor(JComponent c, TopiaEntity e) { + String fieldName = getMethod(c); + Object value = callMethod(e, fieldName); + if (JTextComponent.class.isInstance(c)) { + return new JTextField(String.valueOf(value)); + } + return new JTextField(); + } + + public static ContinuousPanelContainerUI getContinuousPanelWithValue( + JComponent c, ContinuousDomain domain, Factor f) { + ContinuousPanelContainerUI result = null; try { DefaultContinuousPanelUI continuousPanel = null; - if (c instanceof InputOneEquationUI){ + if (c instanceof InputOneEquationUI) { InputOneEquationUI origine = (InputOneEquationUI) c; - EquationContinuousPanelUI ui = new EquationContinuousPanelUI(new JAXXInitialContext().add(new InputAction())); + EquationContinuousPanelUI ui = new EquationContinuousPanelUI( + new JAXXInitialContext().add(new InputAction())); ui.setLblText(origine.getLblText()); ui.setNameEquation(origine.getNameEquation()); - ui.getEditor().getEditor().setText((String)f.getValue()); + ui.getEditor().getEditor().setText((String) f.getValue()); ui.setClazz(origine.getClazz()); ui.setMethodGet(origine.getMethodGet()); ui.setMethodSet(origine.getMethodSet()); ui.setBean(origine.getBean()); - EquationContinuousDomain equationDomain = (EquationContinuousDomain)domain; + EquationContinuousDomain equationDomain = (EquationContinuousDomain) domain; ui.addDomain(equationDomain); ui.setTable(); result = ui; - } else if (c instanceof MatrixEditor){ + } else if (c instanceof MatrixEditor) { MatrixContinuousPanelUI panel = new MatrixContinuousPanelUI(); - MatrixContinuousDomain matrixDomain = (MatrixContinuousDomain)domain; + MatrixContinuousDomain matrixDomain = (MatrixContinuousDomain) domain; MatrixND m = matrixDomain.getMatrix(); - if (m != null){ + if (m != null) { panel.setMatrix(m.clone()); } panel.getOperator().setSelectedItem(matrixDomain.getOperator()); - panel.getCoef().setText("" + matrixDomain.getCoefficient()); + panel.getCoef().setText(String.valueOf(matrixDomain.getCoefficient() * 100)); result = panel; } else { continuousPanel = new DefaultContinuousPanelUI(); result = continuousPanel; } - if (continuousPanel != null){ - continuousPanel.init(new JTextField(String.valueOf(domain.getMinBound())), new JTextField(String.valueOf(domain.getMaxBound()))); + if (continuousPanel != null) { + continuousPanel.init(new JTextField(String.valueOf(domain + .getMinBound())), new JTextField(String.valueOf(domain + .getMaxBound()))); } } catch (Exception ex) { log.error(ex); } return result; - } + } - public static JComponent getEditorWithValue(JComponent c) { - return getEditorWithValue(c, getValue(c)); - } - - public static JComponent getEditorWithValue(JComponent c, Object value) { - JComponent result = null; + public static JComponent getEditorWithValue(JComponent c) { + return getEditorWithValue(c, getValue(c)); + } + + public static JComponent getEditorWithValue(JComponent c, Object value) { + JComponent result = null; try { result = c.getClass().newInstance(); if (result instanceof JTextComponent) { ((JTextComponent) result).setText(String.valueOf(value)); - } else if (result instanceof NumberEditor){ + } else if (result instanceof NumberEditor) { JTextField numEditor = new JTextField(); numEditor.setText(String.valueOf(value)); result = numEditor; - } else if (result instanceof JTable){ -// ((JTable) result).setModel(((JTable)c).getModel()); + } else if (result instanceof JTable) { + // ((JTable) result).setModel(((JTable)c).getModel()); - } else if (result instanceof RangeOfValuesUI){ + } else if (result instanceof RangeOfValuesUI) { result = new JTextField(value.toString()); - } else if (result instanceof MatrixEditor){ + } else if (result instanceof MatrixEditor) { MatrixEditor ui = (MatrixEditor) c; - MatrixND m = (MatrixND)value; + MatrixND m = (MatrixND) value; JAXXMatrixEditor matrix = new JAXXMatrixEditor(false); - if (m != null){ + if (m != null) { matrix.setMatrix(m.clone()); } matrix.setLinearModel(ui.isLinearModel()); matrix.setLinearModelShowDefault(ui.isLinearModelShowDefault()); result = matrix; - } else if (result instanceof JComboBox){ - JComboBox combo = (JComboBox)c; + } else if (result instanceof JComboBox) { + JComboBox combo = (JComboBox) c; JComboBox comboResult = new JComboBox(); comboResult.setModel(combo.getModel()); comboResult.setSelectedItem(value); result = comboResult; - } else if (result instanceof JAXXList){ - JAXXList list = (JAXXList)c; + } else if (result instanceof JAXXList) { + JAXXList list = (JAXXList) c; JAXXList listResult = new JAXXList(); listResult.setModel(list.getModel()); listResult.setSelectedValues((Object[]) value); listResult.setSelectedIndices(list.getSelectedIndices()); result = listResult; - } else if (result instanceof JCheckBox){ - ((JCheckBox) result).setSelected((Boolean)value); - JCheckBox ch = (JCheckBox)c; + } else if (result instanceof JCheckBox) { + ((JCheckBox) result).setSelected((Boolean) value); + JCheckBox ch = (JCheckBox) c; ((JCheckBox) result).setText(ch.getText()); - } else if (result instanceof JRadioButton){ - ((JRadioButton) result).setSelected((Boolean)value); + } else if (result instanceof JRadioButton) { + ((JRadioButton) result).setSelected((Boolean) value); JRadioButton cOrigin = (JRadioButton) c; ((JRadioButton) result).setText(cOrigin.getText()); - } else if (result instanceof SpeciesStructuredUI){ - SpeciesStructuredUI origine = (SpeciesStructuredUI)c; + } else if (result instanceof SpeciesStructuredUI) { + SpeciesStructuredUI origine = (SpeciesStructuredUI) c; SpeciesStructuredUI ui = new SpeciesStructuredUI(); - ui.getFieldSpeciesDynamicAge().setSelected((Boolean)value); + ui.getFieldSpeciesDynamicAge().setSelected((Boolean) value); ui.setActif(true); result = ui; - } else if (result instanceof InputOneEquationUI){ + } else if (result instanceof InputOneEquationUI) { InputOneEquationUI origine = (InputOneEquationUI) c; - InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction())); - ui.getEditor().setText((String)value); + 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()); - ui.setFormule((Formule)value); + ui.setFormule((Formule) value); ui.setActif(true); ui.refresh(); result = ui; - } else if (result instanceof IntervalPanel){ + } else if (result instanceof IntervalPanel) { IntervalPanel ipResult = new IntervalPanel(); - IntervalPanel ip = (IntervalPanel)c; + IntervalPanel ip = (IntervalPanel) c; ipResult.setLabelRenderer(Month.MONTH); ipResult.setModel(ip.getModel().clone()); result = ipResult; - } else if (result instanceof SelectivityEditorUI){ - SelectivityEditorUI origine = (SelectivityEditorUI)c; - SelectivityEditorUI ui = new SelectivityEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier())); + } else if (result instanceof SelectivityEditorUI) { + SelectivityEditorUI origine = (SelectivityEditorUI) c; + SelectivityEditorUI ui = new SelectivityEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion()).add( + new InputSaveVerifier())); ui.setBean(origine.getBean()); - ui.getBean().setPopulationSelectivity((Collection<Selectivity>) value); + ui.getBean().setPopulationSelectivity( + (Collection<Selectivity>) value); ui.setActif(true); ui.refresh(); ui.setActif(true); result = ui; - } else if (result instanceof MetierSeasonInfoSpeciesEditorUI){ - MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c; - MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier())); + } else if (result instanceof MetierSeasonInfoSpeciesEditorUI) { + MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI) c; + MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion()).add( + new InputSaveVerifier())); ui.setBean(origine.getBean()); - if (origine.getMetierSeasonInfo() != null){ + if (origine.getMetierSeasonInfo() != null) { ui.setMetierSeasonInfo(origine.getMetierSeasonInfo()); - ui.getMetierSeasonInfo().setSpeciesTargetSpecies((Collection<TargetSpecies>)value); + ui.getMetierSeasonInfo().setSpeciesTargetSpecies( + (Collection<TargetSpecies>) value); ui.setMetierSeasonSelected(true); ui.setActif(true); } ui.refresh(); result = ui; - } else if (result instanceof PopulationZonesEditorUI){ - PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c; - PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion())); + } else if (result instanceof PopulationZonesEditorUI) { + PopulationZonesEditorUI origine = (PopulationZonesEditorUI) c; + PopulationZonesEditorUI ui = new PopulationZonesEditorUI( + new JAXXInitialContext().add(new InputAction()).add( + origine.getRegion())); ui.setBean(origine.getBean()); - MatrixND m = (MatrixND)value; - ui.getFieldPopulationMappingZoneReproZoneRecru().setMatrix(m == null ? null : m.clone()); + MatrixND m = (MatrixND) value; + ui.getFieldPopulationMappingZoneReproZoneRecru().setMatrix( + m == null ? null : m.clone()); ui.setActif(true); ui.refresh(); result = ui; - } else if (result instanceof PopulationMigrationMigrationUI){ - PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI)c; - PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationMigrationUI) { + PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) c; + PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); - MatrixND m = (MatrixND)value; - ui.getPopInfo().setMigrationMatrix(m == null ? null : m.clone()); + MatrixND m = (MatrixND) value; + ui.getPopInfo() + .setMigrationMatrix(m == null ? null : m.clone()); ui.setActif(true); ui.refreshPanel(); result = ui; - } else if (result instanceof PopulationMigrationEmigrationUI){ - PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI)c; - PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationEmigrationUI) { + PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) c; + PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); - MatrixND m = (MatrixND)value; - ui.getPopInfo().setEmigrationMatrix(m == null ? null : m.clone()); + MatrixND m = (MatrixND) value; + ui.getPopInfo().setEmigrationMatrix( + m == null ? null : m.clone()); ui.setActif(true); ui.refreshPanel(); result = ui; - } else if (result instanceof PopulationMigrationImmigrationUI){ - PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI)c; - PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI(new JAXXInitialContext().add(new InputAction())); + } else if (result instanceof PopulationMigrationImmigrationUI) { + PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) c; + PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI( + new JAXXInitialContext().add(new InputAction())); ui.setBean(origine.getBean()); ui.setPopInfo(origine.getPopInfo()); - MatrixND m = (MatrixND)value; - ui.getPopInfo().setImmigrationMatrix(m == null ? null : m.clone()); + MatrixND m = (MatrixND) value; + ui.getPopInfo().setImmigrationMatrix( + m == null ? null : m.clone()); ui.setActif(true); ui.refreshPanel(); result = ui; @@ -433,174 +477,190 @@ log.error(ex); } return result; - } - public static Object getValue(JComponent c) { - Object result = null; - if (c instanceof JTextComponent) { - result = ((JTextComponent)c).getText(); - } else if (c instanceof NumberEditor){ - result = ((NumberEditor)c).getModel(); - } else if (c instanceof PopulationZonesEditorUI){ - result = ((PopulationZonesEditorUI)c).getFieldPopulationMappingZoneReproZoneRecru().getMatrix(); - } else if (c instanceof JTable){ -// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName)); + } - } else if (c instanceof JAXXMatrixEditor){ - result = ((JAXXMatrixEditor)c).getMatrix(); + public static Object getValue(JComponent c) { + Object result = null; + if (c instanceof JTextComponent) { + result = ((JTextComponent) c).getText(); + } else if (c instanceof NumberEditor) { + result = ((NumberEditor) c).getModel(); + } else if (c instanceof PopulationZonesEditorUI) { + result = ((PopulationZonesEditorUI) c) + .getFieldPopulationMappingZoneReproZoneRecru().getMatrix(); + } else if (c instanceof JTable) { + // ((JTable) result).setText(BeanUtils.getProperty(e, fieldName)); - } else if (c instanceof JComboBox){ - result = ((JComboBox) c).getSelectedItem(); + } else if (c instanceof JAXXMatrixEditor) { + result = ((JAXXMatrixEditor) c).getMatrix(); - } else if (c instanceof JList){ - result = ((JList) c).getSelectedValues(); + } else if (c instanceof JComboBox) { + result = ((JComboBox) c).getSelectedItem(); - } else if (c instanceof JCheckBox){ - result = ((JCheckBox)c).isSelected(); + } else if (c instanceof JList) { + result = ((JList) c).getSelectedValues(); - } else if (c instanceof JRadioButton){ - result = ((JRadioButton)c).isSelected(); + } else if (c instanceof JCheckBox) { + result = ((JCheckBox) c).isSelected(); - } else if (c instanceof InputOneEquationUI){ - result = ((InputOneEquationUI) c).getEditor().getText(); + } else if (c instanceof JRadioButton) { + result = ((JRadioButton) c).isSelected(); - } else if (c instanceof IntervalPanel){ -// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName))); + } else if (c instanceof InputOneEquationUI) { + result = ((InputOneEquationUI) c).getEditor().getText(); - } else if (c instanceof SpeciesStructuredUI){ - result = ((SpeciesStructuredUI)c).getFieldSpeciesDynamicAge().isSelected(); - - } else if (c instanceof SelectivityEditorUI){ - result = ((SelectivityEditorUI)c).getBean().getPopulationSelectivity(); - - } else if (c instanceof MetierSeasonInfoSpeciesEditorUI){ - result = ((MetierSeasonInfoSpeciesEditorUI)c).getMetierSeasonInfo().getSpeciesTargetSpecies(); + } else if (c instanceof IntervalPanel) { + // ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName))); - } else if (result instanceof PopulationZonesEditorUI){ - result = ((PopulationZonesEditorUI)c).getFieldPopulationMappingZoneReproZoneRecru().getMatrix(); - - } else if (c instanceof RangeOfValuesUI){ + } else if (c instanceof SpeciesStructuredUI) { + result = ((SpeciesStructuredUI) c).getFieldSpeciesDynamicAge() + .isSelected(); - } else if (c instanceof PopulationMigrationMigrationUI){ - result = ((PopulationMigrationMigrationUI)c).getPopInfo().getMigrationMatrix(); + } else if (c instanceof SelectivityEditorUI) { + result = ((SelectivityEditorUI) c).getBean() + .getPopulationSelectivity(); - } else if (c instanceof PopulationMigrationEmigrationUI){ - result = ((PopulationMigrationEmigrationUI)c).getPopInfo().getEmigrationMatrix(); + } else if (c instanceof MetierSeasonInfoSpeciesEditorUI) { + result = ((MetierSeasonInfoSpeciesEditorUI) c) + .getMetierSeasonInfo().getSpeciesTargetSpecies(); - } else if (c instanceof PopulationMigrationImmigrationUI){ - result = ((PopulationMigrationImmigrationUI)c).getPopInfo().getImmigrationMatrix(); + } else if (result instanceof PopulationZonesEditorUI) { + result = ((PopulationZonesEditorUI) c) + .getFieldPopulationMappingZoneReproZoneRecru().getMatrix(); + + } else if (c instanceof RangeOfValuesUI) { + + } else if (c instanceof PopulationMigrationMigrationUI) { + result = ((PopulationMigrationMigrationUI) c).getPopInfo() + .getMigrationMatrix(); + + } else if (c instanceof PopulationMigrationEmigrationUI) { + result = ((PopulationMigrationEmigrationUI) c).getPopInfo() + .getEmigrationMatrix(); + + } else if (c instanceof PopulationMigrationImmigrationUI) { + result = ((PopulationMigrationImmigrationUI) c).getPopInfo() + .getImmigrationMatrix(); + } + return result; } - return result; - } - public static boolean isRangeOfValue(JComponent c){ - if (c instanceof RangeOfValuesUI){ - return true; + + public static boolean isRangeOfValue(JComponent c) { + if (c instanceof RangeOfValuesUI) { + return true; + } + return false; } - return false; - } - public static boolean isContinue(JComponent c){ - if (c instanceof RangeOfValuesUI){ - RangeOfValuesUI ui = (RangeOfValuesUI)c; - if (ui.getFieldGearParamType().getSelectedItem().equals("Float")){ - String value = ui.getFieldGearParamPossibleValue().getText(); - if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){ - return true; + + public static boolean isContinue(JComponent c) { + if (c instanceof RangeOfValuesUI) { + RangeOfValuesUI ui = (RangeOfValuesUI) c; + if (ui.getFieldGearParamType().getSelectedItem().equals("Float")) { + String value = ui.getFieldGearParamPossibleValue().getText(); + if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")) { + return true; + } } } + return false; } - return false; - } - public static boolean canBeContinue(JComponent c, TopiaEntity e){ - String fieldName = (String) c.getClientProperty("method"); - if (c instanceof JTextComponent) { - Object o = callMethod(e, fieldName); - return canBeContinue(c, o); - } else if (c instanceof NumberEditor){ - return true; - } else if (c instanceof InputOneEquationUI){ - return true; - } else if (c instanceof MatrixEditor){ - return true; - } else if (c instanceof RangeOfValuesUI){ - RangeOfValuesUI ui = (RangeOfValuesUI)c; - if (ui.getFieldGearParamType().getSelectedItem().equals("Float")){ + + public static boolean canBeContinue(JComponent c, TopiaEntity e) { + String fieldName = (String) c.getClientProperty("method"); + if (c instanceof JTextComponent) { + Object o = callMethod(e, fieldName); + return canBeContinue(c, o); + } else if (c instanceof NumberEditor) { return true; - } - } - return false; - } - public static boolean canBeContinue(JComponent c, Object o){ - if (c instanceof JTextComponent) { - if (Double.class.isInstance(o)){ + } else if (c instanceof InputOneEquationUI) { return true; - } else if (Long.class.isInstance(o)){ + } else if (c instanceof MatrixEditor) { return true; - } else if (InputOneEquationUI.class.isInstance(c)){ - return true; + } else if (c instanceof RangeOfValuesUI) { + RangeOfValuesUI ui = (RangeOfValuesUI) c; + if (ui.getFieldGearParamType().getSelectedItem().equals("Float")) { + return true; + } } + return false; } - return false; - } - protected static Object callMethod(TopiaEntity e, String fieldName){ - Object result = null; - try { - Method m = e.getClass().getMethod("get" + fieldName, null); - result = m.invoke(e, (Object[])null); - } catch (Exception ex) { - log.error(ex); + + public static boolean canBeContinue(JComponent c, Object o) { + if (c instanceof JTextComponent) { + if (Double.class.isInstance(o)) { + return true; + } else if (Long.class.isInstance(o)) { + return true; + } else if (InputOneEquationUI.class.isInstance(c)) { + return true; + } + } + return false; } - return result; - } -// RangeOfValue - public static ContinuousPanelContainerUI getContinuousRangeOfValuePanel(JComponent cOrigine, TopiaEntity bean){ + protected static Object callMethod(TopiaEntity e, String fieldName) { + Object result = null; + try { + Method m = e.getClass().getMethod("get" + fieldName, null); + result = m.invoke(e, (Object[]) null); + } catch (Exception ex) { + log.error(ex); + } + return result; + } + + // RangeOfValue + public static ContinuousPanelContainerUI getContinuousRangeOfValuePanel( + JComponent cOrigine, TopiaEntity bean) { DefaultContinuousPanelUI continuousPanel = new DefaultContinuousPanelUI(); - RangeOfValuesUI ui = (RangeOfValuesUI)cOrigine; + RangeOfValuesUI ui = (RangeOfValuesUI) cOrigine; String value = ui.getFieldGearParamPossibleValue().getText(); String min = "0"; String max = "0"; - if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){ + if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")) { int first = 0; - if(value.startsWith("-")){ + if (value.startsWith("-")) { first = 1; } first = value.indexOf("-"); - if (first != -1){ + if (first != -1) { min = value.substring(0, first); - max = value.substring(first+1); + max = value.substring(first + 1); } } continuousPanel.init(new JTextField(min), new JTextField(max)); return continuousPanel; - } - public static List<String> getDiscretRangeOfValueValues(JComponent cOrigine, TopiaEntity bean){ + } + + public static List<String> getDiscretRangeOfValueValues( + JComponent cOrigine, TopiaEntity bean) { List<String> result = new ArrayList<String>(); - RangeOfValuesUI ui = (RangeOfValuesUI)cOrigine; + RangeOfValuesUI ui = (RangeOfValuesUI) cOrigine; String value = ui.getFieldGearParamPossibleValue().getText(); - if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){ + if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")) { int first = 0; - if(value.startsWith("-")){ + if (value.startsWith("-")) { first = 1; } first = value.indexOf("-"); int min = 0; int max = 0; - if (first != -1){ + if (first != -1) { min = Integer.valueOf(value.substring(0, first).trim()); - max = Integer.valueOf(value.substring(first+1).trim()); + max = Integer.valueOf(value.substring(first + 1).trim()); } - for (int i = min;i <= max;i++){ + for (int i = min; i <= max; i++) { result.add(i + ""); } - } else{ - if (value.indexOf(";") != -1){ - for (String s : value.split("\\;")){ - result.add(s); - } - } - else { - result.add(value); - } + } else { + if (value.indexOf(";") != -1) { + for (String s : value.split("\\;")) { + result.add(s); + } + } else { + result.add(value); + } } return result; - } + } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2009-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2009-06-17 15:09:28 UTC (rev 2402) @@ -39,7 +39,12 @@ import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; -protected String[] columnNames = {"Name", "Value", "Coef (in %)", "Operator", "Action"}; +protected String[] columnNames = { + _("isisfish.factor.equation.variable.name"), + _("isisfish.factor.equation.variable.value"), + _("isisfish.factor.equation.variable.coefficient"), + _("isisfish.factor.equation.variable.operator"), + _("isisfish.factor.equation.variable.action")}; protected java.util.List<EquationContinuousDomain> datas = new ArrayList<EquationContinuousDomain>(); protected java.util.List<JComboBox> operateurs = new ArrayList<JComboBox>(); protected java.util.List<JButton> actions = new ArrayList<JButton>(); @@ -47,19 +52,21 @@ public java.util.List<EquationContinuousDomain> getDomains(){ return datas; } + public void setDomains(java.util.List<EquationContinuousDomain> domains){ datas.clear(); for (EquationContinuousDomain d : domains){ addDomain(d); } } + public void addDomain(EquationContinuousDomain domain){ newButton(); datas.add(domain); } + protected AbstractTableModel getTableModel(){ AbstractTableModel model = new AbstractTableModel() { - @Override public int getRowCount() { return datas.size(); @@ -74,19 +81,19 @@ public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } + @Override public Object getValueAt(int rowIndex, int columnIndex) { - if (columnIndex == 0){ + if (columnIndex == 0) { return datas.get(rowIndex).getVariableName(); - } else if (columnIndex == 1){ + } else if (columnIndex == 1) { return datas.get(rowIndex).getReferenceValue(); - } else if (columnIndex == 2){ - Double result = datas.get(rowIndex).getCoefficient() == null ? 100 : datas.get(rowIndex).getCoefficient() * 100; - datas.get(rowIndex).setCoefficient(result / 100); + } else if (columnIndex == 2) { + Double result = datas.get(rowIndex).getCoefficient() * 100; return result; - } else if (columnIndex == 3){ + } else if (columnIndex == 3) { return datas.get(rowIndex).getOperator(); - } else if (columnIndex == 4){ + } else if (columnIndex == 4) { return _("isisfish.factor.validDiscretNumber"); } return null; @@ -94,15 +101,15 @@ @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { - if (String.class.isInstance(aValue)){ - if (!((String)aValue).equals("")){ + if (String.class.isInstance(aValue)) { + if (!((String)aValue).equals("")) { if (columnIndex == 0){ datas.get(rowIndex).setVariableName((String)aValue); - } else if (columnIndex == 1){ + } else if (columnIndex == 1) { datas.get(rowIndex).setReferenceValue(Double.parseDouble((String)aValue)); - } else if (columnIndex == 2){ + } else if (columnIndex == 2) { datas.get(rowIndex).setCoefficient(Double.parseDouble((String)aValue) / 100); - } else if (columnIndex == 3){ + } else if (columnIndex == 3) { datas.get(rowIndex).setOperator((String)aValue); } } @@ -125,7 +132,6 @@ result.addItem("/"); operateurs.add(result); result.addActionListener(new ActionListener() { - @Override public void actionPerformed(ActionEvent e) { JComboBox source = (JComboBox)e.getSource(); @@ -171,7 +177,9 @@ } protected void setTable(){ params.setModel(getTableModel()); - // FIXME poussin 20090512, marche pas, impossible d'affiche la combo dans l'interface: params.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(getOperateur())); + // poussin 20090512, marche pas, impossible d'affiche la combo dans l'interface: + // chatellier , si mais seulement en edition + params.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(getOperateur())); params.getColumnModel().getColumn(4).setCellEditor(new TableCellEditor() { @Override @@ -213,7 +221,10 @@ }); } protected void add(){ - datas.add(new EquationContinuousDomain()); + EquationContinuousDomain domain = new EquationContinuousDomain(); + // fixe NPE in table model renderer + domain.setCoefficient(1.0); + datas.add(domain); newButton(); setTable(); } 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-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-06-17 15:09:28 UTC (rev 2402) @@ -46,7 +46,7 @@ DefaultContinuousPanelUI defaultPanel = null; if (MatrixContinuousPanelUI.class.isInstance(panel)){ MatrixContinuousPanelUI matrixPanel = (MatrixContinuousPanelUI)panel; - Double coef = Double.valueOf(matrixPanel.getCoef().getText()); + Double coef = Double.valueOf(matrixPanel.getCoef().getText()) / 100; MatrixND matrix = matrixPanel.getMatrix(); String operateur = (String)matrixPanel.getOperator().getSelectedItem(); action.addContinuousMatrixFactor(name, comment, path, coef, matrix, operateur, cOrigine, exist); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx 2009-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx 2009-06-17 15:09:28 UTC (rev 2402) @@ -20,19 +20,16 @@ <ContinuousPanelContainerUI> <org.codelutin.math.matrix.MatrixND id='matrix' javaBean='null'/> - - <script><![CDATA[ -import org.codelutin.math.matrix.MatrixND; -import org.codelutin.math.matrix.gui.JAXXMatrixEditor; - ]]> - </script> + <Table id='content' constraints='BorderLayout.CENTER'> <row> <cell fill='horizontal'> <JLabel text='isisfish.factor.value' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> </cell> <cell fill='both' weightx='1' weighty='1'> - <JAXXMatrixEditor id='componentPanel' dimensionEdit='{false}' matrix='{getMatrix() == null ? null : getMatrix().clone()}' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/> + <org.codelutin.math.matrix.gui.JAXXMatrixEditor id='componentPanel' dimensionEdit='{false}' + matrix='{getMatrix() == null ? null : getMatrix().clone()}' visible='{isContinuePossible()}' + enabled='{isContinueSelected()}'/> </cell> </row> <row> 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-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-06-17 15:09:28 UTC (rev 2402) @@ -386,6 +386,11 @@ isisfish.factor.comment=Comment isisfish.factor.continue=Continue factor isisfish.factor.discret=Discret factor +isisfish.factor.equation.variable.action=Action +isisfish.factor.equation.variable.coefficient=Coef. (in %) +isisfish.factor.equation.variable.name=Name +isisfish.factor.equation.variable.operator=Operator +isisfish.factor.equation.variable.value=Value isisfish.factor.factor=Factor isisfish.factor.factors=Factors isisfish.factor.firstValue=First value 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-06-17 15:03:21 UTC (rev 2401) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-06-17 15:09:28 UTC (rev 2402) @@ -386,6 +386,11 @@ isisfish.factor.comment=Commentaires isisfish.factor.continue=Facteur continu isisfish.factor.discret=Facteur discret +isisfish.factor.equation.variable.action=Action +isisfish.factor.equation.variable.coefficient=Coef (en %) +isisfish.factor.equation.variable.name=Nom +isisfish.factor.equation.variable.operator=Op\u00E9rateur +isisfish.factor.equation.variable.value=Valeur isisfish.factor.factor=Facteur isisfish.factor.factors=Facteurs isisfish.factor.firstValue=Premi\u00E8re valeur