r2725 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input: . metier
Author: chatellier Date: 2009-11-02 15:51:03 +0000 (Mon, 02 Nov 2009) New Revision: 2725 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboRenderer.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/SpeciesComboModel.java Log: Utilisation des model et renderer pour les MetierSeasonInfo Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-11-02 14:39:50 UTC (rev 2724) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-11-02 15:51:03 UTC (rev 2725) @@ -32,7 +32,7 @@ import fr.ifremer.isisfish.entities.MetierImpl; import fr.ifremer.isisfish.entities.MetierSeasonInfo; import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl; -import fr.ifremer.isisfish.ui.widget.editor.GenericCell; +import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoComboModel; @Override public void refresh() { @@ -60,27 +60,22 @@ } protected void setSeasonModel(){ - DefaultComboBoxModel seasonModel = new DefaultComboBoxModel(); java.util.List<MetierSeasonInfo> metierSeasonInfo = getBean().getMetierSeasonInfo(); - if (metierSeasonInfo != null) { - seasonModel.addElement(new GenericCell(" ", null, null)); - for (MetierSeasonInfo m : metierSeasonInfo){ - seasonModel.addElement(new GenericCell(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, MetierSeasonInfo.class)); - } - } + MetierSeasonInfoComboModel seasonModel = new MetierSeasonInfoComboModel(metierSeasonInfo); fieldMetierSeasonInfo.setModel(seasonModel); // fix refresh() problem false, because first is null setMetierSeasonInfoSelected(false); } protected void metierSeasonInfoChanged() { - setMetierSeasonInfoSelected(((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue() != null); + MetierSeasonInfo selectedMSI = (MetierSeasonInfo)fieldMetierSeasonInfo.getSelectedItem(); + setMetierSeasonInfoSelected( selectedMSI != null); if (isMetierSeasonInfoSelected()) { - MetierSeasonInfoImpl msii = (MetierSeasonInfoImpl)((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue(); if (log.isDebugEnabled()) { - log.debug("Metier season changed : " + msii); + log.debug("Metier season changed : " + selectedMSI); } - setMetierSeasonInfo(msii); + // FIXME really need to fix impl cast !!! + setMetierSeasonInfo((MetierSeasonInfoImpl)selectedMSI); getVerifier().addCurrentEntity(getMetierSeasonInfo()); } metierSeasonInfoSpeciesEditor.refresh(); @@ -95,7 +90,8 @@ <JLabel text="isisfish.metierSeasonInfoSpecies.selectSeason" enabled='{isActif()}'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldMetierSeasonInfo" onActionPerformed='metierSeasonInfoChanged()' enabled='{isActif()}'/> + <JComboBox id="fieldMetierSeasonInfo" onActionPerformed='metierSeasonInfoChanged()' + renderer="{new fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoComboRenderer()}" enabled='{isActif()}'/> </cell> </row> <row> Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboModel.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboModel.java 2009-11-02 15:51:03 UTC (rev 2725) @@ -0,0 +1,76 @@ +/* *##% + * Copyright (C) 2009 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 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.input.metier; + +import java.util.List; + +import javax.swing.DefaultComboBoxModel; + +import fr.ifremer.isisfish.entities.MetierSeasonInfo; + +/** + * Model pour la liste des {@link MetierSeasonInfo}. + * + * Pas de selection par defaut. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author: chatellier $ + */ +public class MetierSeasonInfoComboModel extends DefaultComboBoxModel { + + /** serialVersionUID. */ + private static final long serialVersionUID = 6171850179969290032L; + + /** MetierSeasonInfo list */ + protected List<MetierSeasonInfo> metierSeasonInfo; + + /** + * Constructor with species list. + * + * @param metierSeasonInfo species list + */ + public MetierSeasonInfoComboModel(List<MetierSeasonInfo> metierSeasonInfo) { + super(); + this.metierSeasonInfo = metierSeasonInfo; + } + + /* + * @see javax.swing.ListModel#getElementAt(int) + */ + @Override + public Object getElementAt(int index) { + return metierSeasonInfo.get(index); + } + + /* + * @see javax.swing.ListModel#getSize() + */ + @Override + public int getSize() { + int size = 0; + + if (metierSeasonInfo != null) { + size = metierSeasonInfo.size(); + } + return size; + } +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboModel.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboRenderer.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboRenderer.java 2009-11-02 15:51:03 UTC (rev 2725) @@ -0,0 +1,65 @@ +/* *##% + * Copyright (C) 2009 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 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.ui.input.metier; + +import java.awt.Component; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + +import fr.ifremer.isisfish.entities.MetierSeasonInfo; + +/** + * Renderer pour la combo des {@link MetierSeasonInfo}. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author: chatellier $ + */ +public class MetierSeasonInfoComboRenderer extends DefaultListCellRenderer implements + ListCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -8277883340386163087L; + + /* + * @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); + + MetierSeasonInfo metierSeasonInfo = (MetierSeasonInfo) value; + + // there is no default selection + if (value != null) { + c.setText(metierSeasonInfo.getFirstMonth() + "-" + metierSeasonInfo.getLastMonth()); + } + return c; + } +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/MetierSeasonInfoComboRenderer.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/SpeciesComboModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/SpeciesComboModel.java 2009-11-02 14:39:50 UTC (rev 2724) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/metier/SpeciesComboModel.java 2009-11-02 15:51:03 UTC (rev 2725) @@ -40,45 +40,17 @@ /** serialVersionUID. */ private static final long serialVersionUID = 6171850179969290032L; - /** PopulationSeasonInfo list */ + /** Species list */ protected List<Species> speciesList; /** - * Empty constructor. - */ - public SpeciesComboModel() { - this(null); - } - - /** * Constructor with species list. * * @param speciesList species list */ public SpeciesComboModel(List<Species> speciesList) { super(); - setPopulationSeasonInfos(speciesList); - } - - /** - * Get species list. - * - * @return species list - */ - public List<Species> getPopulationSeasonInfos() { - return speciesList; - } - - /** - * Set species list. - * - * @param speciesList species list - */ - public void setPopulationSeasonInfos(List<Species> speciesList) { this.speciesList = speciesList; - - // clear selection - setSelectedItem(null); } /*
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org