/* ReferenceGeneratorListModel.java created 2007-10-24
*
*/
package org.signalml.app.model.montage;
import static org.signalml.app.util.i18n.SvarogI18n._;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import org.signalml.domain.montage.generators.IMontageGenerator;
import org.signalml.domain.montage.system.EegSystem;
import org.signalml.util.ResolvableString;
/** ReferenceGeneratorListModel
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class MontageGeneratorListModel extends AbstractListModel implements ComboBoxModel {
private static final long serialVersionUID = 1L;
public static final String NO_GENERATOR = _("Common user defined");
private Object selectedItem = NO_GENERATOR;
/**
* The currently selected {@link EegSystem} for which the list of
* {@link IMontageGenerator MontageGenerators} is shown.
*/
private EegSystem eegSystem;
public MontageGeneratorListModel() {
}
@Override
public Object getSelectedItem() {
return selectedItem;
}
@Override
public void setSelectedItem(Object anItem) {
selectedItem = anItem;
}
@Override
public int getSize() {
if (eegSystem == null) {
return 1;
}
return 1 + eegSystem.getNumberOfMontageGenerators();
}
@Override
public Object getElementAt(int index) {
if (index == 0) {
return NO_GENERATOR;
}
return eegSystem.getMontageGeneratorAt(index-1);
}
/**
* Sets the {@link EegSystem} for which the list of available
* {@link IMontageGenerator MontageGenerators} will be shown.
* @param eegSystem the new {@link EegSystem}
*/
public void setEegSystem(EegSystem eegSystem) {
if (this.eegSystem != eegSystem) {
this.eegSystem = eegSystem;
fireContentsChanged(this, 0, getSize()-1);
}
}
}