1 package sourceforge.org.qmc2.options.editor.ui.actions; 2 3 import org.eclipse.core.commands.ExecutionException; 4 import org.eclipse.core.commands.operations.IUndoableOperation; 5 import org.eclipse.core.runtime.NullProgressMonitor; 6 import org.eclipse.swt.SWT; 7 8 import sourceforge.org.qmc2.options.editor.ui.QMC2Editor; 9 10 public class RedoAction extends BaseAction { 11 RedoAction(QMC2Editor editor)12 public RedoAction(QMC2Editor editor) { 13 super(editor); 14 setAccelerator(SWT.MOD1 + 'Y'); 15 } 16 17 @Override isEnabled()18 public boolean isEnabled() { 19 return editor.getOperationHistory() != null 20 && editor.getOperationHistory() 21 .canRedo(editor.getUndoContext()); 22 } 23 24 @Override run()25 public void run() { 26 try { 27 editor.getOperationHistory().redo(editor.getUndoContext(), 28 new NullProgressMonitor(), null); 29 } catch (ExecutionException e) { 30 // TODO Auto-generated catch block 31 e.printStackTrace(); 32 } 33 super.run(); 34 } 35 36 @Override getText()37 public String getText() { 38 IUndoableOperation nextRedoOp = editor.getOperationHistory() 39 .getRedoOperation(editor.getUndoContext()); 40 41 return "&Redo" 42 + (nextRedoOp == null ? "" : (" " + nextRedoOp.getLabel())); 43 } 44 } 45