r3911 - in branches/4.0.1/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/models/common java/fr/ifremer/isisfish/ui/models/export java/fr/ifremer/isisfish/ui/models/optimization java/fr/ifremer/isisfish/ui/optimization java/fr/ifremer/isisfish/ui/result java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
Author: echatellier Date: 2014-04-01 16:41:13 +0200 (Tue, 01 Apr 2014) New Revision: 3911 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3911 Log: ref #4803: Modification de l'interface pour les scripts de calibation Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericComboModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericListModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/ObjectiveComboRenderer.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/ExportObservationTableModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.out.xml Removed: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportListModel.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -86,7 +86,7 @@ import fr.ifremer.isisfish.ui.input.tree.FisheryTreeRenderer; import fr.ifremer.isisfish.ui.input.tree.FisheryTreeSelectionModel; import fr.ifremer.isisfish.ui.input.tree.loadors.PopulationsNodeLoador; -import fr.ifremer.isisfish.ui.models.common.StringComboModel; +import fr.ifremer.isisfish.ui.models.common.GenericComboModel; import fr.ifremer.isisfish.ui.sensitivity.wizard.FactorWizardUI; import fr.ifremer.isisfish.ui.sensitivity.wizard.SensitivityWizardHandler; import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; @@ -251,7 +251,7 @@ */ protected void refreshRegionList(InputUI inputUI, String selectedItem) { // refresh region list - StringComboModel regionsModel = new StringComboModel(RegionStorage.getRegionNames()); + GenericComboModel regionsModel = new GenericComboModel(RegionStorage.getRegionNames()); inputUI.getFieldCurrentRegion().setModel(regionsModel); // event is fired by setSelectedItem to call #regionChange if (selectedItem != null) { Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric + Copyright (C) 2009 - 2014 Ifremer, Code Lutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -63,8 +63,8 @@ </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JComboBox id="fieldCurrentRegion" onItemStateChanged='getHandler().regionChange(this, event)' - model='{new fr.ifremer.isisfish.ui.models.common.StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}'/> + <JComboBox id="fieldCurrentRegion" onItemStateChanged='getHandler().regionChange(this, event)' genericType="String" + model='{new fr.ifremer.isisfish.ui.models.common.GenericComboModel<String>(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}'/> </cell> </row> </Table> Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericComboModel.java (from rev 3910, branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java) =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericComboModel.java (rev 0) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericComboModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -0,0 +1,117 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 - 2012 Ifremer, CodeLutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.models.common; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; +import javax.swing.JComboBox; + +/** + * Model pour pour la representation d'une liste de type generic. + * Utilisation dans les {@link JComboBox}. + * + * @param <E> generic type + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class GenericComboModel<E> extends DefaultComboBoxModel<E> { + + /** serialVersionUID. */ + private static final long serialVersionUID = -4070846632975105788L; + + /** E list. */ + protected List<E> genericList; + + /** + * Empty constructor. + */ + public GenericComboModel() { + this(null); + } + + /** + * Constructor with export list. + * + * @param genericList E list + */ + public GenericComboModel(List<E> genericList) { + setGenericList(genericList); + } + + /** + * Get E list. + * + * @return E list + */ + public List<E> getGenericList() { + return genericList; + } + + /** + * Set E list. + * + * @param genericList E list to set + */ + public void setGenericList(List<E> genericList) { + this.genericList = genericList; + // reset selected + setSelectedItem(null); + } + + public void addElement(E elt) { + genericList.add(elt); + fireIntervalAdded(this, genericList.size() - 1, genericList.size()); + } + + public boolean containsElement(E elt) { + return genericList.contains(elt); + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public E getElementAt(int index) { + return genericList.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (genericList != null) { + size = genericList.size(); + } + return size; + } +} Copied: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericListModel.java (from rev 3910, branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java) =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericListModel.java (rev 0) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/GenericListModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -0,0 +1,106 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.models.common; + +import java.util.List; + +import javax.swing.AbstractListModel; +import javax.swing.JList; + +/** + * Model pour pour la representation d'une liste de generic type. + * Utilisation dans les {@link JList}. + * + * @param <E> generic type + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author: chatellier $ + */ +public class GenericListModel<E> extends AbstractListModel<E> { + + /** serialVersionUID. */ + private static final long serialVersionUID = -4070846632975105788L; + + /** E list. */ + protected List<E> elementList; + + /** + * Empty constructor. + */ + public GenericListModel() { + this(null); + } + + /** + * Constructor with export list. + * + * @param elementList E list + */ + public GenericListModel(List<E> elementList) { + setElementList(elementList); + } + + /** + * Get E list. + * + * @return E list + */ + public List<E> getElementList() { + return elementList; + } + + /** + * Set E list. + * + * @param elementList E list to set + */ + public void setElementList(List<E> elementList) { + this.elementList = elementList; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public E getElementAt(int index) { + return elementList.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (elementList != null) { + size = elementList.size(); + } + return size; + } +} Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -1,116 +0,0 @@ -/* - * #%L - * IsisFish - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 - 2012 Ifremer, CodeLutin, Chatellier Eric - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -package fr.ifremer.isisfish.ui.models.common; - -import java.util.List; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.JComboBox; - -/** - * Model pour pour la representation d'une liste de {@link String}. - * Utilisation dans les {@link JComboBox}. - * - * @author chatellier - * @version $Revision$ - * - * Last update : $Date$ - * By : $Author$ - */ -public class StringComboModel extends DefaultComboBoxModel<String> { - - /** serialVersionUID. */ - private static final long serialVersionUID = -4070846632975105788L; - - /** {@link String} list. */ - protected List<String> stringList; - - /** - * Empty constructor. - */ - public StringComboModel() { - this(null); - } - - /** - * Constructor with export list. - * - * @param stringList {@link String} list - */ - public StringComboModel(List<String> stringList) { - setStringList(stringList); - } - - /** - * Get {@link String} list. - * - * @return {@link String} list - */ - public List<String> getStringList() { - return stringList; - } - - /** - * Set {@link String} list. - * - * @param stringList {@link String} list to set - */ - public void setStringList(List<String> stringList) { - this.stringList = stringList; - // reset selected - setSelectedItem(null); - } - - public void addString(String string) { - stringList.add(string); - fireIntervalAdded(this, stringList.size() - 1, stringList.size()); - } - - public boolean containsString(String string) { - return stringList.contains(string); - } - - /* - * @see javax.swing.ListModel#getElementAt(int) - */ - @Override - public String getElementAt(int index) { - return stringList.get(index); - } - - /* - * @see javax.swing.ListModel#getSize() - */ - @Override - public int getSize() { - int size = 0; - - if (stringList != null) { - size = stringList.size(); - } - return size; - } -} Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -1,105 +0,0 @@ -/* - * #%L - * IsisFish - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -package fr.ifremer.isisfish.ui.models.common; - -import java.util.List; - -import javax.swing.AbstractListModel; -import javax.swing.JList; - -/** - * Model pour pour la representation d'une liste de {@link String}. - * Utilisation dans les {@link JList}. - * - * @author chatellier - * @version $Revision$ - * - * Last update : $Date$ - * By : $Author: chatellier $ - */ -public class StringListModel extends AbstractListModel<String> { - - /** serialVersionUID. */ - private static final long serialVersionUID = -4070846632975105788L; - - /** {@link String} list. */ - protected List<String> stringList; - - /** - * Empty constructor. - */ - public StringListModel() { - this(null); - } - - /** - * Constructor with export list. - * - * @param stringList {@link String} list - */ - public StringListModel(List<String> stringList) { - setStringList(stringList); - } - - /** - * Get {@link String} list. - * - * @return {@link String} list - */ - public List<String> getStringList() { - return stringList; - } - - /** - * Set {@link String} list. - * - * @param stringList {@link String} list to set - */ - public void setStringList(List<String> stringList) { - this.stringList = stringList; - } - - /* - * @see javax.swing.ListModel#getElementAt(int) - */ - @Override - public String getElementAt(int index) { - return stringList.get(index); - } - - /* - * @see javax.swing.ListModel#getSize() - */ - @Override - public int getSize() { - int size = 0; - - if (stringList != null) { - size = stringList.size(); - } - return size; - } -} Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportListModel.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportListModel.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/export/ExportListModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -60,7 +60,6 @@ * @param exports exports */ public ExportListModel(List<Export> exports) { - super(); setExport(exports); } Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/ObjectiveComboRenderer.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/ObjectiveComboRenderer.java (rev 0) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/ObjectiveComboRenderer.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -0,0 +1,96 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2009 - 2010 Ifremer, Code Lutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.models.optimization; + +import java.awt.Component; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; + +import fr.ifremer.isisfish.simulator.Objective; + +/** + * Renderer pour la combo des script d'optimisation. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class ObjectiveComboRenderer extends DefaultListCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -4070846632975105788L; + + /** Objective cache. */ + protected Map<String, Objective> objectiveCache; + + /** + * Empty constructor. + */ + public ObjectiveComboRenderer() { + objectiveCache = new HashMap<String, Objective>(); + } + + /* + * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean) + */ + @Override + public Component getListCellRendererComponent(JList<?> list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + + // this must be used to have alterned highlight rows and default + // selection color + JLabel c = (JLabel) super.getListCellRendererComponent(list, value, + index, isSelected, cellHasFocus); + + String objectiveName = (String) value; + c.setText(objectiveName); + + // c'est tres couteux d'avoir une instance + // on les met en cache + /*try { + Optimization optim = optimizationCache.get(optimizationName); + if (optim == null) { + SensitivityAnalysisStorage storage = SensitivityAnalysisStorage + .getSensitivityAnalysis(optimizationName); + optim = storage.getNewInstance(); + optimizationCache.put(optimizationName, optim); + } + + c.setToolTipText(optim.getDescription()); + } catch (Exception e) { + String errorTooltip = TooltipHelper.getErrorTooltip(t("isisfish.error.compile.fileerror", sensitivityName)); + c.setToolTipText(errorTooltip); + }*/ + + return c; + } +} Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/ObjectiveComboRenderer.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Deleted: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -1,109 +0,0 @@ -/* - * #%L - * IsisFish - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -package fr.ifremer.isisfish.ui.models.optimization; - -import java.util.List; - -import javax.swing.DefaultComboBoxModel; - -/** - * Model pour la liste des script d'optimization. - * - * @author chatellier - * @version $Revision$ - * - * Last update : $Date$ - * By : $Author$ - */ -public class OptimizationComboModel extends DefaultComboBoxModel<String> { - - /** serialVersionUID. */ - private static final long serialVersionUID = -4070846632975105788L; - - /** SensitivityAnalysis names. */ - protected List<String> optimizationNames; - - /** - * Empty constructor. - */ - public OptimizationComboModel() { - this(null); - } - - /** - * Constructor with calculator list. - * - * @param optimizationNames sensitivity analysis Names - */ - public OptimizationComboModel(List<String> optimizationNames) { - setOptimizationNames(optimizationNames); - } - - /** - * Get sensitivity analysis plan names. - * - * @return the sensitivity analysis plan names - */ - public List<String> getOptimizationNames() { - return optimizationNames; - } - - /** - * Set sensitivity analysis names. - * - * @param optimizationNames the names to set - */ - public void setOptimizationNames(List<String> optimizationNames) { - this.optimizationNames = optimizationNames; - - // default first selected - /* disable default selection - if (!sensitivityAnalysisNames.isEmpty()) { - setSelectedItem(sensitivityAnalysisNames.get(0)); - }*/ - } - - /* - * @see javax.swing.ListModel#getElementAt(int) - */ - @Override - public String getElementAt(int index) { - return optimizationNames.get(index); - } - - /* - * @see javax.swing.ListModel#getSize() - */ - @Override - public int getSize() { - int size = 0; - - if (optimizationNames != null) { - size = optimizationNames.size(); - } - return size; - } -} Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/models/optimization/OptimizationComboRenderer.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -25,8 +25,6 @@ package fr.ifremer.isisfish.ui.models.optimization; -import static org.nuiton.i18n.I18n.t; - import java.awt.Component; import java.util.HashMap; import java.util.Map; @@ -35,10 +33,7 @@ import javax.swing.JLabel; import javax.swing.JList; -import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage; import fr.ifremer.isisfish.simulator.Optimization; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis; -import fr.ifremer.isisfish.ui.util.TooltipHelper; /** * Renderer pour la combo des script d'optimisation. @@ -98,4 +93,5 @@ return c; } + } Added: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/ExportObservationTableModel.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/ExportObservationTableModel.java (rev 0) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/ExportObservationTableModel.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -0,0 +1,53 @@ +package fr.ifremer.isisfish.ui.optimization; + +import static org.nuiton.i18n.I18n.t; + +import javax.swing.JComboBox; +import javax.swing.table.AbstractTableModel; + +public class ExportObservationTableModel extends AbstractTableModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 7555677813473489539L; + + /** Columns names. */ + public final static String[] COLUMN_NAMES = { + t("isisfish.optimization.export"), + t("isisfish.optimization.observation") + }; + + /* + * @see javax.swing.table.TableModel#getColumnCount() + */ + @Override + public int getColumnCount() { + int result = 2; + return result; + } + + /* + * @see javax.swing.table.TableModel#getRowCount() + */ + @Override + public int getRowCount() { + int result = 4; + return result; + } + + /* + * @see javax.swing.table.TableModel#getColumnName(int) + */ + @Override + public String getColumnName(int columnIndex) { + return COLUMN_NAMES[columnIndex]; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + if (columnIndex == 0) { + return "Export " + rowIndex; + } else { + return "Observation " + rowIndex; + } + } +} Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/ExportObservationTableModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationHandler.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -22,21 +22,27 @@ */ package fr.ifremer.isisfish.ui.optimization; -import java.awt.CardLayout; import java.util.ArrayList; import java.util.List; +import javax.swing.ComboBoxModel; +import javax.swing.ListModel; +import javax.swing.table.TableModel; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import fr.ifremer.isisfish.IsisFishException; +import fr.ifremer.isisfish.datastore.ExportStorage; +import fr.ifremer.isisfish.datastore.ObjectiveStorage; import fr.ifremer.isisfish.datastore.OptimizationStorage; +import fr.ifremer.isisfish.simulator.Objective; import fr.ifremer.isisfish.simulator.Optimization; import fr.ifremer.isisfish.ui.input.InputHandler; +import fr.ifremer.isisfish.ui.models.common.GenericComboModel; import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableCellEditor; import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableCellRenderer; import fr.ifremer.isisfish.ui.models.common.ScriptParametersTableModel; -import fr.ifremer.isisfish.ui.models.optimization.OptimizationComboModel; import fr.ifremer.isisfish.ui.simulator.SimulAction; public class OptimizationHandler extends InputHandler { @@ -44,23 +50,7 @@ private static final Log log = LogFactory.getLog(OptimizationHandler.class); public void init(OptimizationMethodUI view) { - /*DefaultComboBoxModel<String> methodModel = new DefaultComboBoxModel<String>(); - methodModel.addElement("Simplex"); - methodModel.addElement("ABC"); - methodModel.addElement("Génétique"); - view.getFieldOptimizationMethodSelect().setModel(methodModel); - DefaultListModel<String> objectiveModel = new DefaultListModel<String>(); - objectiveModel.addElement("Moindres carrés indice abondance"); - objectiveModel.addElement("Moindres carrés debarquements par flottille"); - view.getAvailableOptimizationObjectives().setModel(objectiveModel); - - DefaultComboBoxModel<String> criteriaModel = new DefaultComboBoxModel<String>(); - criteriaModel.addElement("Min"); - criteriaModel.addElement("Max"); - criteriaModel.addElement("Seuil à dépasser"); - criteriaModel.addElement("Epsilon"); - view.getFieldOptimizationCriteriaSelect().setModel(criteriaModel);*/ } /** @@ -68,7 +58,7 @@ * * @return model */ - public OptimizationComboModel getOptimizationComboModel() { + public ComboBoxModel<String> getOptimizationComboModel() { List<String> result = new ArrayList<String>(); for (String r : OptimizationStorage.getOptimizationNames()) { // there is some non java files in sensitivity directory @@ -79,7 +69,7 @@ } } - OptimizationComboModel model = new OptimizationComboModel(result); + GenericComboModel<String> model = new GenericComboModel<String>(result); return model; } @@ -94,9 +84,7 @@ // creation new instance only when name change to not lose parameters value Optimization optimization = simulAction.getOptimization(); - if (optimization != null && optimization.getClass().getSimpleName().equals(optimizationName)) { - optimization = simulAction.getOptimization(); - } else { + if (optimization == null || !optimization.getClass().getSimpleName().equals(optimizationName)) { try { OptimizationStorage optimizationStorage = OptimizationStorage.getOptimization(optimizationName); optimization = optimizationStorage.getNewInstance(); @@ -110,19 +98,96 @@ // can be null for example if analysis can't be compiled if (optimization != null) { simulAction.setOptimization(optimization); - - /*CardLayout factorPanelLayout = (CardLayout)view.getFactorCardinalityPanel().getLayout(); - if (sensitivityAnalysis.canManageCardinality()) { - factorPanelLayout.show(factorCardinalityPanel, "factorCardinalitySupported"); - } else { - factorPanelLayout.show(factorCardinalityPanel, "factorCardinalityNotSupported"); - }*/ // update model ScriptParametersTableModel parametersTableModel = new ScriptParametersTableModel(optimization); - view.getSimulOptimizationMethodParam().setModel(parametersTableModel); - view.getSimulOptimizationMethodParam().getColumnModel().getColumn(0).setCellRenderer(new ScriptParametersTableCellRenderer(optimization)); - view.getSimulOptimizationMethodParam().getColumnModel().getColumn(1).setCellEditor(new ScriptParametersTableCellEditor(optimization)); + view.getOptimizationMethodParam().setModel(parametersTableModel); + view.getOptimizationMethodParam().getColumnModel().getColumn(0).setCellRenderer(new ScriptParametersTableCellRenderer(optimization)); + view.getOptimizationMethodParam().getColumnModel().getColumn(1).setCellEditor(new ScriptParametersTableCellEditor(optimization)); } } + + /** + * Objective model for combo box. + * + * @return model + */ + public ComboBoxModel<String> getObjectiveComboModel() { + List<String> result = new ArrayList<String>(); + for (String r : ObjectiveStorage.getObjectiveNames()) { + // there is some non java files in sensitivity directory + if (r.endsWith(".java")) { + // Remove .java extention + // for example SensitivityStorage.getRuleName(String) + result.add(r.substring(0, r.length() - 5)); + } + } + + GenericComboModel<String> model = new GenericComboModel<String>(result); + return model; + } + + /** + * Selection d'une fonction d'objectif. + * + * @param view view + */ + public void objectiveChanged(OptimizationMethodUI view) { + String objectiveName = (String)view.getFieldObjectiveSelect().getSelectedItem(); + SimulAction simulAction = view.getContextValue(SimulAction.class); + + // creation new instance only when name change to not lose parameters value + Objective objective = simulAction.getObjective(); + if (objective == null || !objective.getClass().getSimpleName().equals(objectiveName)) { + try { + ObjectiveStorage objectiveStorage = ObjectiveStorage.getObjective(objectiveName); + objective = objectiveStorage.getNewInstance(); + } catch (IsisFishException e) { + if (log.isErrorEnabled()) { + log.error("Can't set optimization", e); + } + } + } + + // can be null for example if analysis can't be compiled + if (objective != null) { + simulAction.setObjective(objective); + + // update model + ScriptParametersTableModel parametersTableModel = new ScriptParametersTableModel(objective); + view.getObjectiveParamsTable().setModel(parametersTableModel); + view.getObjectiveParamsTable().getColumnModel().getColumn(0).setCellRenderer(new ScriptParametersTableCellRenderer(objective)); + view.getObjectiveParamsTable().getColumnModel().getColumn(1).setCellEditor(new ScriptParametersTableCellEditor(objective)); + } + } + + /** + * Export model for combo box. + * + * @return model + */ + public ListModel<String> getExportListModel() { + List<String> result = new ArrayList<String>(); + for (String r : ExportStorage.getExportNames()) { + // there is some non java files in sensitivity directory + if (r.endsWith(".java")) { + // Remove .java extention + // for example SensitivityStorage.getRuleName(String) + result.add(r.substring(0, r.length() - 5)); + } + } + + GenericComboModel<String> model = new GenericComboModel<String>(result); + return model; + } + + /** + * Export model for combo box. + * + * @return model + */ + public TableModel getExportObservationTableModel() { + ExportObservationTableModel model = new ExportObservationTableModel(); + return model; + } } Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -26,8 +26,6 @@ <import> java.awt.CardLayout javax.swing.ComboBoxModel - javax.swing.table.DefaultTableModel - fr.ifremer.isisfish.ui.models.optimization.OptimizationComboRenderer </import> <script><![CDATA[ @@ -37,88 +35,78 @@ ]]></script> <OptimizationHandler id="handler" /> <row> - <cell fill="horizontal"> - <JLabel text="isisfish.optimization.select"/> - </cell> - <cell fill="horizontal" weightx="1.0"> - <JComboBox id="fieldOptimizationMethodSelect" model='{handler.getOptimizationComboModel()}' - renderer='{new OptimizationComboRenderer()}' onActionPerformed='handler.optimizationChanged(this)'/> - </cell> + <cell fill="horizontal"> + <JLabel text="isisfish.optimization.select" /> + </cell> + <cell fill="horizontal" weightx="1.0" columns="3"> + <JComboBox id="fieldOptimizationMethodSelect" + genericType="String" model='{handler.getOptimizationComboModel()}' + onActionPerformed='handler.optimizationChanged(this)' + renderer='{new fr.ifremer.isisfish.ui.models.optimization.OptimizationComboRenderer()}' /> + </cell> </row> <row> - <cell columns="2" fill="both" weightx="1.0" weighty="1.0"> - <JScrollPane> - <JTable id="simulOptimizationMethodParam" rowHeight='24' /> - </JScrollPane> - </cell> + <cell columns="3" fill="both" weightx="1.0" weighty="1.0"> + <JScrollPane> + <JTable id="optimizationMethodParam" rowHeight='24' /> + </JScrollPane> + </cell> </row> - - <!-- <row> - <cell columns="2" fill="both" weightx="1.0" weighty="1.0"> - <JPanel id="factorCardinalityPanel" layout="{new CardLayout()}"> - <JLabel text="isisfish.optimization.methodfactorsupported" horizontalAlignment="center" - border="{BorderFactory.createEtchedBorder()}" font-style="italic" constraints='"factorCardinalitySupported"'/> - <JScrollPane id="factorCardinalityScrollPane" constraints='"factorCardinalityNotSupported"'> - <JTable id="factorCardinality" rowHeight='24' /> - </JScrollPane> - </JPanel> - </cell> - </row> --> + <row> - <cell fill="both" columns='3' weightx="1.0"> - <JLabel text="isisfish.optimization.objectives"/> - </cell> + <cell fill="horizontal"> + <JLabel text="isisfish.optimization.objective" /> + </cell> + <cell fill="horizontal" weightx="1.0" columns="3"> + <JComboBox id="fieldObjectiveSelect" genericType="String" + model='{handler.getObjectiveComboModel()}' onActionPerformed='handler.objectiveChanged(this)' + renderer='{new fr.ifremer.isisfish.ui.models.optimization.ObjectiveComboRenderer()}' /> + </cell> </row> <row> - <cell columns='2' fill="both" weightx="1.0" weighty="1.0"> - <Table> - <row> - <cell fill="both" weightx="0.5" weighty="1.0"> - <JScrollPane> - <JList id="availableOptimizationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" /> - </JScrollPane> - </cell> - <cell fill="both" weighty="1.0"> - <Table> - <row> - <cell fill="both"> - <JButton id="addObjectiveButton" text="isisfish.common.add" enabled="false" /> - </cell> - </row> - <row> - <cell fill="both"> - <JButton id="removeObjectiveButton" text="isisfish.common.remove" enabled="false" /> - </cell> - </row> - <row> - <cell fill="both"> - <JButton id="clearObjectiveButton" text="isisfish.common.clear" enabled="false" /> - </cell> - </row> - </Table> - </cell> - <cell fill="both" weightx="0.5" weighty="1.0"> - <JScrollPane> - <JList id="selectedOptimizationObjectives" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" /> - </JScrollPane> - </cell> + <cell fill="both" columns='3' weightx="1.0" weighty="1.0"> + <JScrollPane> + <JTable id="objectiveParamsTable" rowHeight='24' /> + </JScrollPane> + </cell> + </row> + + <row> + <cell fill="both" columns='3'> + <JLabel text="isisfish.optimization.exports" /> + </cell> + </row> + <row> + <cell fill="both" weightx="0.2" weighty="1.0"> + <JScrollPane> + <JList id="fieldExportList" genericType="String" + model='{handler.getExportListModel()}' + cellRenderer='{new fr.ifremer.isisfish.ui.models.export.ExportNameListRenderer()}' /> + </JScrollPane> + </cell> + <cell fill="horizontal" weighty="1.0"> + <Table> + <row> + <cell fill="horizontal"> + <JButton text="isisfish.common.add" /> + </cell> </row> - </Table> - </cell> - </row> - <row> - <cell fill="both" columns='2' weightx="1.0" weighty="1.0"> - <JScrollPane> - <JTable id="objectiveParamsTable" rowHeight='24' /> - </JScrollPane> - </cell> - </row> - <row> - <cell fill="horizontal"> - <JLabel text="isisfish.optimization.optimization"/> - </cell> - <cell fill="horizontal" weightx="1.0"> - <JComboBox id="fieldOptimizationCriteriaSelect" /> - </cell> + <row> + <cell fill="horizontal"> + <JButton text="isisfish.common.remove" /> + </cell> + </row> + <row> + <cell fill="horizontal"> + <JButton text="isisfish.common.clear" /> + </cell> + </row> + </Table> + </cell> + <cell fill="both" weightx="1.0" weighty="1.0"> + <JScrollPane> + <JTable id="exportObservationTable" model="{handler.getExportObservationTableModel()}" rowHeight='24' /> + </JScrollPane> + </cell> </row> </Table> Property changes on: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationMethodUI.out.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/optimization/OptimizationUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -33,7 +33,7 @@ <script><![CDATA[ protected void $afterCompleteSetup() { - SwingUtil.getLayer(bodyTabbedPane).setUI(dummyLayer); + } /** @@ -72,7 +72,6 @@ <OptimizationHandler id="handler" /> - <fr.ifremer.isisfish.ui.widget.DummyLayerUI id="dummyLayer" /> <JTabbedPane id="bodyTabbedPane"> <tab title='isisfish.params.title'> <fr.ifremer.isisfish.ui.simulator.ParamsUI id='paramsUI' sensitivity='true' regionStorage="{getRegionStorage()}" Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -60,7 +60,7 @@ import fr.ifremer.isisfish.simulator.launcher.SimulationService; import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener; import fr.ifremer.isisfish.ui.CommonHandler; -import fr.ifremer.isisfish.ui.models.common.StringComboModel; +import fr.ifremer.isisfish.ui.models.common.GenericComboModel; /** * Handler for result UIs. @@ -92,8 +92,8 @@ } @Override public void simulationStop(SimulationService simService, SimulationJob job) { - StringComboModel model = (StringComboModel)resultUI.getSimulationComboBox().getModel(); - model.addString(job.getId()); + GenericComboModel<String> model = (GenericComboModel)resultUI.getSimulationComboBox().getModel(); + model.addElement(job.getId()); } @Override public void clearJobDone(SimulationService simService) { @@ -111,7 +111,7 @@ java.util.List<String> value = SimulationStorage.getSimulationNames(); //resultUI.getSimulationComboBox().setEditable(false); - StringComboModel model = new StringComboModel(value); + GenericComboModel model = new GenericComboModel(value); resultUI.getSimulationComboBox().setModel(model); resultUI.getSimulationComboBox().setSelectedItem(null); } @@ -200,7 +200,7 @@ matrixViewerPanel.addMatrixFilter(new SumByYearMatrixFilter()); // init available results list - StringComboModel model = new StringComboModel(resultStorage.getResultName()); + GenericComboModel model = new GenericComboModel(resultStorage.getResultName()); resultSimulationFrame.getResultsComboBox().setModel(model); resultSimulationFrame.getResultsComboBox().addItemListener(new ItemListener() { @Override Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2009 - 2012 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2009 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -37,7 +37,7 @@ fr.ifremer.isisfish.simulator.sensitivity.Factor fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain - fr.ifremer.isisfish.ui.models.common.StringListModel + fr.ifremer.isisfish.ui.models.common.GenericListModel fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportListModel fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportListRenderer fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportNameListRenderer @@ -149,12 +149,12 @@ factorCardinality.setModel(model); } - protected StringListModel getAvailableExportListModel() { + protected GenericListModel<String> getAvailableExportListModel() { List<String> exportNames = getSimulAction().getSensitivityExportNames(); - StringListModel model = new StringListModel(exportNames); + GenericListModel<String> model = new GenericListModel<String>(exportNames); return model; } - + /** * Add multiples export. * Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2009 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -33,7 +33,7 @@ fr.ifremer.isisfish.simulator.launcher.SimulationJob fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener fr.ifremer.isisfish.ui.simulator.SimulAction - fr.ifremer.isisfish.ui.models.common.StringComboModel + fr.ifremer.isisfish.ui.models.common.GenericComboModel </import> <script><![CDATA[ @@ -53,12 +53,12 @@ if (log.isDebugEnabled()) { log.debug("Refresh second pass UI simulations list"); } - StringComboModel model = (StringComboModel)fieldSensitivitySimulationSelect.getModel(); + GenericComboModel<String> model = (GenericComboModel)fieldSensitivitySimulationSelect.getModel(); String simulationName = job.getId(); if (simulationName.startsWith("as_")) { String masterSensitivityName = simulationName.substring(0, simulationName.lastIndexOf("_")); - if (!model.containsString(masterSensitivityName)) { - model.addString(masterSensitivityName); + if (!model.containsElement(masterSensitivityName)) { + model.addElement(masterSensitivityName); } } } @@ -73,7 +73,7 @@ /** * Model de contenu de la liste des nom de simulations */ - public StringComboModel getSensitivitySimulationModel() { + public GenericComboModel<String> getSensitivitySimulationModel() { List<String> asNames = new ArrayList<String>(); for (String simulationName : SimulationStorage.getSimulationNames()) { if (simulationName.startsWith("as_")) { @@ -84,7 +84,7 @@ } } - StringComboModel model = new StringComboModel(asNames); + GenericComboModel<String> model = new GenericComboModel<String>(asNames); return model; } @@ -127,7 +127,7 @@ </script> <row> <cell fill="horizontal" weightx="1.0"> - <JComboBox id="fieldSensitivitySimulationSelect" model='{getSensitivitySimulationModel()}' /> + <JComboBox id="fieldSensitivitySimulationSelect" genericType="String" model='{getSensitivitySimulationModel()}' /> </cell> <cell fill="horizontal"> <JButton id="runSecondPassButton" text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2005 - 2011 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2005 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -25,7 +25,7 @@ <Table> <import> fr.ifremer.isisfish.ui.WelcomePanelUI; - fr.ifremer.isisfish.ui.models.common.StringListModel; + fr.ifremer.isisfish.ui.models.common.GenericListModel; javax.swing.event.ListSelectionEvent; java.util.LinkedList </import> @@ -54,7 +54,7 @@ // userExports = intersection(userExports,availableExports) userExports.retainAll(availableExports); - StringListModel exportModel = new StringListModel(availableExports); + GenericListModel<String> exportModel = new GenericListModel<String>(availableExports); listSimulExportChoose.setModel(exportModel); for (String userExport : userExports) { Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2005 - 2012 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2005 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -40,7 +40,7 @@ fr.ifremer.isisfish.ui.SimulationUI fr.ifremer.isisfish.ui.WelcomePanelUI fr.ifremer.isisfish.ui.WelcomeTabUI - fr.ifremer.isisfish.ui.models.common.StringComboModel + fr.ifremer.isisfish.ui.models.common.GenericComboModel fr.ifremer.isisfish.ui.sensitivity.SensitivityUI fr.ifremer.isisfish.ui.widget.FilterableComboBox fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher @@ -66,7 +66,7 @@ regionStorageListener = new StorageChangeListener() { @Override public void versionDataChanged(StorageChangeEvent e) { - StringComboModel model = new StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames()); + GenericComboModel<String> model = new GenericComboModel<String>(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames()); fieldSimulParamsRegion.setModel(model); } }; @@ -80,8 +80,8 @@ @Override public void simulationStop(SimulationService simService, SimulationJob job) { - StringComboModel model = (StringComboModel)fieldSimulParamsSelect.getModel(); - model.addString(job.getId()); + GenericComboModel<String> model = (GenericComboModel)fieldSimulParamsSelect.getModel(); + model.addElement(job.getId()); } @Override @@ -285,9 +285,9 @@ return getSimulParamsSelectModel(false); } -protected ComboBoxModel getSimulParamsSelectModel(boolean force) { +protected ComboBoxModel<String> getSimulParamsSelectModel(boolean force) { List<String> items = simulAction.getFilteredOldSimulatorNames(force); - StringComboModel result = new StringComboModel(items); + GenericComboModel<String> result = new GenericComboModel<String>(items); return result; } @@ -348,8 +348,8 @@ <JLabel text="isisfish.common.region" /> </cell> <cell fill="horizontal" weightx="1.0"> - <JComboBox id="fieldSimulParamsRegion" - model='{new fr.ifremer.isisfish.ui.models.common.StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}' + <JComboBox id="fieldSimulParamsRegion" genericType="String" + model='{new fr.ifremer.isisfish.ui.models.common.GenericComboModel<String>(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}' selectedItem='{getContextValue(SimulAction.class).getSimulationParameter().getRegionName()}' onActionPerformed='regionChange()' /> </cell> Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2005 - 2011 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2005 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -25,7 +25,7 @@ <JPanel layout='{new BorderLayout()}'> <import> fr.ifremer.isisfish.ui.WelcomePanelUI - fr.ifremer.isisfish.ui.models.common.StringListModel + fr.ifremer.isisfish.ui.models.common.GenericListModel javax.swing.event.ListSelectionEvent </import> <script><![CDATA[ @@ -53,7 +53,7 @@ // userResults = intersection(userResults,availableResult) userResults.retainAll(availableResults); - StringListModel resultModel = new StringListModel(availableResults); + GenericListModel<String> resultModel = new GenericListModel<String>(availableResults); listResultNames.setModel(resultModel); for (String userResult : userResults) { Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2014-04-01 14:41:13 UTC (rev 3911) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2005 - 2011 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2005 - 2014 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -80,7 +80,7 @@ <cell fill="both" rows="3" weightx="1" weighty="1"> <JScrollPane> <JList id="availableRuleList" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" - model='{new fr.ifremer.isisfish.ui.models.common.StringListModel(fr.ifremer.isisfish.datastore.RuleStorage.getRuleNames())}' + model='{new fr.ifremer.isisfish.ui.models.common.GenericListModel<String>(fr.ifremer.isisfish.datastore.RuleStorage.getRuleNames())}' cellRenderer='{new fr.ifremer.isisfish.ui.models.rule.RuleNamesListRenderer()}' onValueChanged='addRulesButton.setEnabled(availableRuleList.getSelectedIndex() != -1)' enabled="{isActive()}"/> Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-04-01 14:41:13 UTC (rev 3911) @@ -79,6 +79,7 @@ import fr.ifremer.isisfish.export.SensitivityExport; import fr.ifremer.isisfish.mexico.MexicoHelper; import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.simulator.Objective; import fr.ifremer.isisfish.simulator.Optimization; import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.simulator.SimulationParameterImpl; @@ -1336,4 +1337,12 @@ public void setOptimization(Optimization optimization) { param.setOptimization(optimization); } + + public Objective getObjective() { + return param.getObjective(); + } + + public void setObjective(Objective objective) { + param.setObjective(objective); + } } Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/resources/i18n/isis-fish_en_GB.properties 2014-04-01 14:41:13 UTC (rev 3911) @@ -653,8 +653,11 @@ isisfish.month.november=november isisfish.month.october=october isisfish.month.september=september +isisfish.optimisation.observation= +isisfish.optimization.export= isisfish.optimization.methodfactorsupported= isisfish.optimization.objectives= +isisfish.optimization.observation= isisfish.optimization.optimization= isisfish.optimization.select= isisfish.optimization.title= Modified: branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties =================================================================== --- branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-03-25 22:04:05 UTC (rev 3910) +++ branches/4.0.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-04-01 14:41:13 UTC (rev 3911) @@ -653,8 +653,11 @@ isisfish.month.november=novembre isisfish.month.october=octobre isisfish.month.september=septembre +isisfish.optimization.export=Export +isisfish.optimization.exports=Exports et observations isisfish.optimization.methodfactorsupported=La méthode d'optimisation choisie gère les cardinalités des facteurs -isisfish.optimization.objectives=Fonctions d'objectif +isisfish.optimization.objective=Fonction d'objectif +isisfish.optimization.observation=Observations isisfish.optimization.optimization=Critère d'optimisation isisfish.optimization.select=Méthode d'optimisation isisfish.optimization.title=Optimisation
participants (1)
-
echatellier@users.forge.codelutin.com