Author: chatellier Date: 2011-05-02 15:07:45 +0000 (Mon, 02 May 2011) New Revision: 3312 Log: Fix un probleme de declanchement d'event lors de la selection par defaut du premier r?\195?\169sultat Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-05-02 15:07:45 UTC (rev 3312) @@ -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.StringListModel; +import fr.ifremer.isisfish.ui.models.common.StringComboModel; import fr.ifremer.isisfish.ui.sensitivity.FactorWizardUI; import fr.ifremer.isisfish.ui.sensitivity.SensitivityInputHandler; import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; @@ -250,7 +250,7 @@ */ protected void refreshRegionList(InputUI inputUI, String selectedItem) { // refresh region list - StringListModel regionsModel = new StringListModel(RegionStorage.getRegionNames()); + StringComboModel regionsModel = new StringComboModel(RegionStorage.getRegionNames()); inputUI.getFieldCurrentRegion().setModel(regionsModel); // event is fired by setSelectedItem to call #regionChange if (selectedItem != null) { Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2011-05-02 15:07:45 UTC (rev 3312) @@ -64,7 +64,7 @@ <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.StringListModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}'/> + model='{new fr.ifremer.isisfish.ui.models.common.StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}'/> </cell> </row> </Table> Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java 2011-05-02 15:07:45 UTC (rev 3312) @@ -0,0 +1,107 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 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 2 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-2.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 { + + /** 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); + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object 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; + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringComboModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/common/StringListModel.java 2011-05-02 15:07:45 UTC (rev 3312) @@ -28,13 +28,11 @@ import java.util.List; import javax.swing.AbstractListModel; -import javax.swing.ComboBoxModel; -import javax.swing.JComboBox; import javax.swing.JList; /** * Model pour pour la representation d'une liste de {@link String}. - * Utilisation dans les {@link JList} et {@link JComboBox}. + * Utilisation dans les {@link JList}. * * @author chatellier * @version $Revision$ @@ -42,7 +40,7 @@ * Last update : $Date$ * By : $Author: chatellier $ */ -public class StringListModel extends AbstractListModel implements ComboBoxModel { +public class StringListModel extends AbstractListModel { /** serialVersionUID. */ private static final long serialVersionUID = -4070846632975105788L; @@ -50,9 +48,6 @@ /** {@link String} list. */ protected List<String> stringList; - /** Selected element. */ - protected Object selectedElement; - /** * Empty constructor. */ @@ -85,8 +80,6 @@ */ public void setStringList(List<String> stringList) { this.stringList = stringList; - // reset selected - selectedElement = null; } /* @@ -109,20 +102,4 @@ } return size; } - - /* - * @see javax.swing.ComboBoxModel#setSelectedItem(java.lang.Object) - */ - @Override - public void setSelectedItem(Object anItem) { - selectedElement = anItem; - } - - /* - * @see javax.swing.ComboBoxModel#getSelectedItem() - */ - @Override - public Object getSelectedItem() { - return selectedElement; - } } Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/result/ResultHandler.java 2011-05-02 15:07:45 UTC (rev 3312) @@ -60,6 +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.StringListModel; /** @@ -110,7 +111,7 @@ java.util.List<String> value = SimulationStorage.getSimulationNames(); resultUI.getSimulationComboBox().setEditable(false); - StringListModel model = new StringListModel(value); + StringComboModel model = new StringComboModel(value); resultUI.getSimulationComboBox().setModel(model); resultUI.getSimulationComboBox().setSelectedItem(null); } @@ -198,7 +199,7 @@ matrixViewerPanel.addMatrixFilter(new ResultMatrixFilter(resultStorage)); // init available results list - StringListModel model = new StringListModel(resultStorage.getResultName()); + StringComboModel model = new StringComboModel(resultStorage.getResultName()); resultSimulationFrame.getResultsComboBox().setModel(model); resultSimulationFrame.getResultsComboBox().addItemListener(new ItemListener() { @Override @@ -207,16 +208,18 @@ String selectedMatrixName = (String)e.getItem(); MatrixND matrix = resultStorage.getMatrix(selectedMatrixName, resultSimulationFrame.topiaContext); matrixViewerPanel.setMatrix(matrix); + System.out.println("adding matrix"); } } }); - if (model.getSize() > 0) { - model.setSelectedItem(model.getElementAt(0)); - } // force summary display matrixViewerPanel.updateSelectedRenderingComponent(); resultSimulationFrame.getMatrixViewerContainer().add(matrixViewerPanel, BorderLayout.CENTER); + + if (model.getSize() > 0) { + model.setSelectedItem(model.getElementAt(0)); + } } catch (TopiaException ex) { throw new IsisFishRuntimeException("Can't open simulation", ex); } catch (StorageException ex) { Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2011-05-02 15:07:45 UTC (rev 3312) @@ -34,7 +34,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.StringListModel + fr.ifremer.isisfish.ui.models.common.StringComboModel </import> <script><![CDATA[ @@ -67,7 +67,7 @@ /** * Model de contenu de la liste des nom de simulations */ - public StringListModel getSensitivitySimulationModel() { + public StringComboModel getSensitivitySimulationModel() { java.util.List<String> asNames = new ArrayList<String>(); for (String simulationName : SimulationStorage.getSimulationNames()) { if (simulationName.startsWith("as_")) { @@ -78,7 +78,7 @@ } } - StringListModel model = new StringListModel(asNames); + StringComboModel model = new StringComboModel(asNames); return model; } Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-05-02 14:39:03 UTC (rev 3311) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-05-02 15:07:45 UTC (rev 3312) @@ -41,7 +41,7 @@ fr.ifremer.isisfish.ui.SimulationUI; fr.ifremer.isisfish.ui.WelcomePanelUI; fr.ifremer.isisfish.ui.WelcomeTabUI; - fr.ifremer.isisfish.ui.models.common.StringListModel; + fr.ifremer.isisfish.ui.models.common.StringComboModel; fr.ifremer.isisfish.ui.models.rule.RuleComboModel; fr.ifremer.isisfish.ui.models.rule.RuleNamesListRenderer; fr.ifremer.isisfish.ui.models.rule.RuleListModel; @@ -81,7 +81,7 @@ regionStorageListener = new StorageChangeListener() { @Override public void versionDataChanged(StorageChangeEvent e) { - StringListModel model = new StringListModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames()); + StringComboModel model = new StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames()); fieldSimulParamsRegion.setModel(model); } }; @@ -387,7 +387,7 @@ </cell> <cell fill="horizontal" weightx="1.0"> <JComboBox id="fieldSimulParamsRegion" - model='{new fr.ifremer.isisfish.ui.models.common.StringListModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}' + model='{new fr.ifremer.isisfish.ui.models.common.StringComboModel(fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames())}' selectedItem='{getContextValue(SimulAction.class).getSimulationParameter().getRegionName()}' onActionPerformed='regionChange()' /> </cell>