Как создать сценарий операции отмены в подключаемом модуле Eclipse?

Я создаю подключаемый модуль для Eclipse и хочу использовать встроенное действие Eclipse 'Undo' (org.eclipse.core.commands.operations) всякий раз, когда пользователь нажимает кнопку отмены, связанную с плагин.

В идеале, он просто воспроизводил бы то, что происходит, когда вы нажимаете CTRL + Z, но у меня не получалось имитировать нажатия клавиш.

Я пробовал эти фрагменты кода:

Отмена выполнена в рабочая среда:

IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IUndoContext context = operationSupport.getUndoContext();
IOperationHistory operationHistory = operationSupport.getOperationHistory();    
IStatus status = operationHistory.undo(context, null, null);

Отмена, выполненная в рабочей области:

IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IUndoContext context= (IUndoContext)ResourcesPlugin.getWorkspace().getAdapter(IUndoContext.class);
IOperationHistory operationHistory = operationSupport.getOperationHistory();
IStatus status = operationHistory.undo(context, null, null);

То, что я затем ищу, аналогично, это, но это не работает:

Отмена выполнена для редактора / документа:

IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IEditorPart currentEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
IUndoContext context = (IUndoContext) currentEditor.getAdapter(IUndoContext.class);
IOperationHistory operationHistory = operationSupport.getOperationHistory();
IStatus status = operationHistory.undo(context, null, null);
8
задан Maarten 8 August 2013 в 21:38
поделиться