/* ChannelPropertyEditor.java created 2007-11-04 * */ package org.signalml.app.model.components; import java.beans.PropertyEditorSupport; import javax.swing.tree.TreePath; import org.signalml.app.document.signal.SignalDocument; /** ChannelPropertyEditor * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class ChannelPropertyEditor extends PropertyEditorSupport implements TreePathAwarePropertyEditor { private SignalDocument signalDocument; @Override public String getAsText() { Integer channel = (Integer) getValue(); String label; if (signalDocument == null) { label = channel.toString(); } else { label = signalDocument.getMontage().getSourceChannelLabelAt(channel); } return label; } @Override public void setTreePath(TreePath treePath) { if (treePath != null) { int cnt = treePath.getPathCount(); for (int i=cnt-1; i>=0; i--) { Object comp = treePath.getPathComponent(i); if (comp instanceof SignalDocument) { signalDocument = (SignalDocument) comp; return; } } } signalDocument = null; } }