/*******************************************************************************
* Copyright (c) 2014 Open Door Logistics (www.opendoorlogistics.com)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at http://www.gnu.org/licenses/lgpl.txt
******************************************************************************/
package com.opendoorlogistics.studio.components.geocoder;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import com.opendoorlogistics.studio.components.geocoder.model.GeocodeAverageType;
import com.opendoorlogistics.studio.components.geocoder.model.GeocodeModel;
import com.opendoorlogistics.studio.controls.buttontable.ButtonTableDialog;
final public class SetDialog extends ButtonTableDialog{
private static final List<JButton> createButtons(final GeocodeModel model){
ArrayList<JButton> ret = new ArrayList<>();
for(final GeocodeAverageType gat : GeocodeAverageType.values()){
if(gat.isAvailable(model)){
JButton button = new JButton(gat.getText(model, false));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
model.setGeocode(gat.getAverage(model));
}
});
ret.add(button);
}
}
// JButton clear = new JButton("Clear geocode");
// clear.addActionListener(new ActionListener() {
//
// @Override
// public void actionPerformed(ActionEvent e) {
// model.setGeocode(null,null);
// }
// });
// ret.add(clear);
return ret;
}
public SetDialog(Window parent,GeocodeModel model) {
super(parent, "Set latitude & longitude to...", createButtons(model));
}
public SetDialog(Window parent, String message, JButton... buttons) {
super(parent, message, buttons);
}
}