// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.actions.relation; import static org.openstreetmap.josm.tools.I18n.tr; import java.awt.event.ActionEvent; import java.util.Collection; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.mapmode.DeleteAction; import org.openstreetmap.josm.data.osm.Relation; import org.openstreetmap.josm.gui.layer.OsmDataLayer; import org.openstreetmap.josm.tools.ImageProvider; /** * Action that delete relations * @since 5799 */ public class DeleteRelationsAction extends AbstractRelationAction { /** * Constructs a new <code>DeleteRelationsAction</code>. */ public DeleteRelationsAction() { putValue(SHORT_DESCRIPTION, tr("Delete the selected relation")); putValue(NAME, tr("Delete")); new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this, true); } protected void deleteRelation(Collection<Relation> toDelete) { OsmDataLayer layer = Main.getLayerManager().getEditLayer(); if (toDelete == null || layer == null) return; DeleteAction.deleteRelations(layer, toDelete); // clear selection after deletion if (Main.map.relationListDialog != null) Main.map.relationListDialog.selectRelations(null); } @Override public void actionPerformed(ActionEvent e) { if (!isEnabled()) return; deleteRelation(relations); } }