// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.fixAddresses.gui.actions;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.data.osm.OsmPrimitive;
import org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer;
import org.openstreetmap.josm.plugins.fixAddresses.OSMAddress;
@SuppressWarnings("serial")
public class SelectIncompleteAddressesAction extends JosmAction {
private AddressEditContainer addressEditContainer;
public SelectIncompleteAddressesAction() {
super(tr("Select incomplete addresses"), "select_invaddr_24",
tr("Selects all addresses with incomplete data."), null, false);
}
@Override
public void actionPerformed(ActionEvent arg0) {
addressEditContainer = new AddressEditContainer();
addressEditContainer.invalidate();
if (addressEditContainer.getIncompleteAddresses() != null) {
List<OsmPrimitive> osms = new ArrayList<>();
for (OSMAddress aNode : addressEditContainer.getIncompleteAddresses()) {
osms.add(aNode.getOsmObject());
}
getLayerManager().getEditDataSet().setSelected(osms);
}
}
@Override
protected void updateEnabledState() {
setEnabled(getLayerManager().getEditDataSet() != null);
}
}