001 // License: GPL. Copyright 2007 by Immanuel Scholz and others 002 package org.openstreetmap.josm.actions; 003 004 import static org.openstreetmap.josm.gui.help.HelpUtil.ht; 005 import static org.openstreetmap.josm.tools.I18n.tr; 006 007 import java.awt.event.ActionEvent; 008 import java.awt.event.KeyEvent; 009 import java.util.Collection; 010 011 import org.openstreetmap.josm.Main; 012 import org.openstreetmap.josm.data.osm.OsmPrimitive; 013 import org.openstreetmap.josm.tools.Shortcut; 014 015 public final class DeleteAction extends JosmAction { 016 017 public DeleteAction() { 018 super(tr("Delete"), "dialogs/delete", tr("Delete selected objects."), 019 Shortcut.registerShortcut("system:delete", tr("Edit: {0}", tr("Delete")), KeyEvent.VK_DELETE, Shortcut.DIRECT), true); 020 putValue("help", ht("/Action/Delete")); 021 } 022 023 public void actionPerformed(ActionEvent e) { 024 if (!isEnabled()) 025 return; 026 if(!Main.map.mapView.isActiveLayerVisible()) 027 return; 028 org.openstreetmap.josm.actions.mapmode.DeleteAction.doActionPerformed(e); 029 } 030 031 @Override 032 protected void updateEnabledState() { 033 if (getCurrentDataSet() == null) { 034 setEnabled(false); 035 } else { 036 updateEnabledState(getCurrentDataSet().getSelected()); 037 } 038 } 039 040 @Override 041 protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) { 042 setEnabled(selection != null && !selection.isEmpty()); 043 } 044 }