/* SourceChannelListModel.java created 2007-12-04 * */ package org.signalml.app.view.tag.comparison; import javax.swing.AbstractListModel; import javax.swing.ComboBoxModel; import org.signalml.domain.tag.TagComparisonResults; /** SourceChannelListModel * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class SourceChannelListModel extends AbstractListModel implements ComboBoxModel { private static final long serialVersionUID = 1L; private TagComparisonResults results; private String[] channels; private Object selectedItem; public SourceChannelListModel() { super(); } @Override public Object getSelectedItem() { return selectedItem; } @Override public void setSelectedItem(Object anItem) { selectedItem = anItem; } @Override public int getSize() { if (results == null) { return 0; } return channels.length; } @Override public Object getElementAt(int index) { return channels[index]; } public TagComparisonResults getResults() { return results; } public void setResults(TagComparisonResults results) { if (this.results != results) { this.results = results; if (results != null) { channels = results.getChannelNames(); } else { channels = new String[0]; } if (channels.length > 0) { if (selectedItem == null) { selectedItem = channels[0]; } else { int i; for (i=0; i<channels.length; i++) { if (selectedItem.equals(channels[i])) { selectedItem = channels[i]; break; } } if (i == channels.length) { selectedItem = channels[0]; } } } else { selectedItem = null; } fireContentsChanged(this, 0, getSize()-1); } } }