package pipe.actions.gui;
import pipe.controllers.PetriNetController;
import pipe.controllers.application.PipeApplicationController;
import javax.swing.undo.UndoManager;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class RedoAction extends GuiAction {
private final PipeApplicationController applicationController;
private final UndoAction undoAction;
public RedoAction(PipeApplicationController applicationController, UndoAction undoAction) {
super("Redo", "Redo (Ctrl-Y)", KeyEvent.VK_Y, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
this.applicationController = applicationController;
this.undoAction = undoAction;
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
PetriNetController controller = applicationController.getActivePetriNetController();
UndoManager manager = controller.getUndoManager();
manager.redo();
this.setEnabled(manager.canRedo());
undoAction.setEnabled(manager.canUndo());
}
}