// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.fixAddresses.gui.actions; import static org.openstreetmap.josm.tools.I18n.tr; import org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer; import org.openstreetmap.josm.plugins.fixAddresses.OSMAddress; import org.openstreetmap.josm.plugins.fixAddresses.gui.AddressEditSelectionEvent; @SuppressWarnings("serial") public class RemoveAddressTagsAction extends AbstractAddressEditAction { public RemoveAddressTagsAction() { super(tr("Remove"), "removeaddrtags_24", tr("Removes address related tags from the object."), "fixaddresses/removeaddresstags"); } @Override public void addressEditActionPerformed(AddressEditSelectionEvent ev) { beginTransaction(tr("Remove address tags")); if (ev.hasUnresolvedAddresses()) { for (OSMAddress aNode : ev.getSelectedUnresolvedAddresses()) { beginObjectTransaction(aNode); aNode.removeAllAddressTags(); finishObjectTransaction(aNode); } } if (ev.hasIncompleteAddresses()) { for (OSMAddress aNode : ev.getSelectedIncompleteAddresses()) { beginObjectTransaction(aNode); aNode.removeAllAddressTags(); finishObjectTransaction(aNode); } } finishTransaction(); } @Override public void addressEditActionPerformed(AddressEditContainer container) { // do nothing } @Override protected void updateEnabledState(AddressEditContainer container) { setEnabled(false); } @Override protected void updateEnabledState(AddressEditSelectionEvent event) { if (event == null) { setEnabled(false); } setEnabled(event.hasAddresses()); } }