/* WignerMapScaleComboBoxCellRenderer.java created 2008-03-06
*
*/
package org.signalml.app.view.book.wignermap;
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.Icon;
import javax.swing.JList;
import org.signalml.app.util.IconUtils;
import org.signalml.domain.book.WignerMapScaleType;
/** WignerMapScaleComboBoxCellRenderer
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class WignerMapScaleComboBoxCellRenderer extends DefaultListCellRenderer {
private static final long serialVersionUID = 1L;
private Icon linearIcon;
private Icon logIcon;
private Icon sqrtIcon;
public WignerMapScaleComboBoxCellRenderer() {
linearIcon = IconUtils.loadClassPathIcon("org/signalml/app/icon/scalelinear.png");
logIcon = IconUtils.loadClassPathIcon("org/signalml/app/icon/scalelog.png");
sqrtIcon = IconUtils.loadClassPathIcon("org/signalml/app/icon/scalesqrt.png");
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
DefaultListCellRenderer renderer = (DefaultListCellRenderer) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value instanceof WignerMapScaleType) {
WignerMapScaleType scale = (WignerMapScaleType) value;
renderer.setText(scale.i18n());
if (scale == WignerMapScaleType.NORMAL) {
renderer.setIcon(linearIcon);
}
else if (scale == WignerMapScaleType.LOG) {
renderer.setIcon(logIcon);
}
else if (scale == WignerMapScaleType.SQRT) {
renderer.setIcon(sqrtIcon);
} else {
// else no icon
renderer.setIcon(null);
}
}
// else leave text put by superclass
return renderer;
}
}