package pipe.actions.gui; import pipe.controllers.PetriNetController; import pipe.controllers.application.PipeApplicationController; import pipe.historyActions.MultipleEdit; import pipe.utilities.gui.GuiUtils; import uk.ac.imperial.pipe.exceptions.PetriNetComponentException; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; public class DeleteAction extends GuiAction { private final PipeApplicationController pipeApplicationController; public DeleteAction(PipeApplicationController pipeApplicationController) { super("Delete", "Delete selection (delete)", KeyEvent.VK_DELETE, 0); this.pipeApplicationController = pipeApplicationController; } @Override public void actionPerformed(ActionEvent event) { PetriNetController petriNetController = pipeApplicationController.getActivePetriNetController(); try { registerUndoEvent(new MultipleEdit(petriNetController.deleteSelection())); } catch (PetriNetComponentException e) { GuiUtils.displayErrorMessage(null, e.getMessage()); } } }