// License: GPL. For details, see LICENSE file.
package buildings_tools;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.text.NumberFormat;
import java.text.ParseException;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
@SuppressWarnings("serial")
public class AddressDialog extends MyDialog {
private static String lhousenum, lstreetname;
private static int inc = 0;
private JTextField housenum = new JTextField();
private JTextField streetname = new JTextField();
private JSpinner incSpinner;
public AddressDialog() {
super(tr("Building address"));
addLabelled(tr("House number:"), housenum);
addLabelled(tr("Street Name:"), streetname);
housenum.setText(nextHouseNum());
streetname.setText(lstreetname);
SpinnerNumberModel inc_model = new SpinnerNumberModel(0, Integer.MIN_VALUE, Integer.MAX_VALUE, 1);
incSpinner = new JSpinner(inc_model);
incSpinner.setValue(inc);
addLabelled(tr("House number increment:"), incSpinner);
setContent(panel);
setupDialog();
}
private static String nextHouseNum() {
if (lhousenum == null)
return "";
try {
Integer num = NumberFormat.getInstance().parse(lhousenum).intValue() + inc;
return num.toString();
} catch (ParseException e) {
return lhousenum;
}
}
public final void saveValues() {
lhousenum = housenum.getText();
lstreetname = streetname.getText();
inc = (Integer) incSpinner.getValue();
}
public final String getHouseNum() {
return housenum.getText();
}
public final String getStreetName() {
return streetname.getText();
}
}