package com.opendoorlogistics.components.geocode.postcodes;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import com.opendoorlogistics.api.components.ComponentConfigurationEditorAPI;
@XmlRootElement
public class PCImporterConfig extends PCDatabaseSelectionConfig {
/**
*
*/
private static final long serialVersionUID = -285475347888278427L;
private int level;
public int getLevel() {
return level;
}
@XmlAttribute
public void setLevel(int level) {
this.level = level;
}
static JPanel createConfigEditorPanel(final ComponentConfigurationEditorAPI factory,PCImporterConfig config, String operationName) {
class MyPanel extends PCGeocoderDatabaseSelectionPanel {
MyPanel(final PCImporterConfig pcConfig) {
super(factory.getApi(),pcConfig);
addWhitespace();
add(new JLabel(operationName + " postcodes from level:"));
final JFormattedTextField level = new JFormattedTextField();
level.setValue(new Integer(pcConfig.getLevel()));
level.setColumns(10);
level.addPropertyChangeListener("value", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
int ilevel = ((Number) level.getValue()).intValue();
pcConfig.setLevel(ilevel);
}
});
add(level);
addWhitespace();
}
}
return new MyPanel((PCImporterConfig) config);
}
}