package com.marginallyclever.makelangeloRobot.converters;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.marginallyclever.makelangelo.SelectFloat;
import com.marginallyclever.makelangelo.Translator;
public class Converter_Pulse_Panel extends JPanel implements PropertyChangeListener, ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
Converter_Pulse converter;
SelectFloat sizeField;
JComboBox<String> directionChoices;
public Converter_Pulse_Panel(Converter_Pulse arg0) {
this.converter=arg0;
this.setLayout(new GridLayout(0, 1));
this.add(new JLabel(Translator.get("HilbertCurveSize")));
this.add(sizeField = new SelectFloat(converter.getScale()));
this.add(directionChoices = new JComboBox<>(converter.getDirections()));
directionChoices.setSelectedIndex(converter.getDirectionIndex());
sizeField.addPropertyChangeListener("value",this);
directionChoices.addActionListener(this);
}
private void validateInput() {
converter.setScale(((Number)sizeField.getValue()).floatValue());
converter.setDirectionIndex(directionChoices.getSelectedIndex());
converter.reconvert();
}
@Override
public void actionPerformed(ActionEvent arg0) {
validateInput();
}
@Override
public void propertyChange(PropertyChangeEvent evt) {
validateInput();
}
}