public void undoDocumentChanges() { final ISourceViewer viewer = editor.getInternalSourceViewer(); try { editor.getSite().getWorkbenchWindow().run(false, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { if (viewer instanceof ITextViewerExtension6) { IUndoManager undoManager = ((ITextViewerExtension6) viewer).getUndoManager(); if (undoManager instanceof IUndoManagerExtension) { IUndoManagerExtension undoManagerExtension = (IUndoManagerExtension) undoManager; IUndoContext undoContext = undoManagerExtension.getUndoContext(); IOperationHistory operationHistory = OperationHistoryFactory.getOperationHistory(); while (undoManager.undoable()) { if (startingUndoOperation != null && startingUndoOperation.equals(operationHistory.getUndoOperation(undoContext))) return; undoManager.undo(); } } } } }); syncUtil.waitForReconciler(editor); } catch (Exception e) { LOG.error(e.getMessage(), e); } }
/** * Saves input code to model */ private void saveModel( ) { if ( isCodeModified( ) && editObject instanceof DesignElementHandle ) { saveEditorContentsDE( (DesignElementHandle) editObject, isSaveScript ); } setIsModified( false ); ( (IFormPage) getParentEditor( ) ).getEditor( ) .editorDirtyStateChanged( ); firePropertyChange( PROP_DIRTY ); SourceViewer viewer = getViewer( ); IUndoManager undoManager = viewer == null ? null : viewer.getUndoManager( ); if ( undoManager != null ) { undoManager.endCompoundChange( ); } cleanPoint = getUndoLevel( ); }
private IUndoContext getUndoContext() { if (getSourceViewer() instanceof ITextViewerExtension6) { IUndoManager undoManager = ((ITextViewerExtension6) getSourceViewer()).getUndoManager(); if (undoManager instanceof IUndoManagerExtension) return ((IUndoManagerExtension) undoManager).getUndoContext(); } return null; }
public void execute(IUndoManager undoManager, IDocument document) throws CoreException { if (!isEnabled()) { throw new IllegalStateException(); } try { undoManager.beginCompoundChange(); try { doCommand(document); } finally { undoManager.endCompoundChange(); } } catch (BadLocationException e) { throw new CoreException(FluentMkUI.getDefault().createStatus(IStatus.ERROR, e)); } }
public void startRecording(XtextEditor editor) { this.editor = editor; ISourceViewer viewer = editor.getInternalSourceViewer(); if (viewer instanceof ITextViewerExtension6) { IUndoManager undoManager = ((ITextViewerExtension6) viewer).getUndoManager(); if (undoManager instanceof IUndoManagerExtension) { IUndoManagerExtension undoManagerExtension = (IUndoManagerExtension) undoManager; IUndoContext undoContext = undoManagerExtension.getUndoContext(); IOperationHistory operationHistory = OperationHistoryFactory.getOperationHistory(); startingUndoOperation = operationHistory.getUndoOperation(undoContext); } } }
/** * Creates the undo manager (uses the undo level of general text editors) */ /* Override */ public IUndoManager getUndoManager( ISourceViewer sourceViewer ) { TextViewerUndoManager undoManager = new TextViewerUndoManager( PreferenceManager.getExternalPreferenceInt( ExternalPreference.EDITOR_UNDO_LEVEL ) ); editor.setUndoManager( undoManager ); return undoManager; }
public void setScript( String script ) { try { IDocumentProvider provider = getDocumentProvider( ); if ( provider != null ) { IDocument document = provider.getDocument( getEditorInput( ) ); if ( document != null ) { document.set( script == null ? "" : script ); //$NON-NLS-1$ return; } } input = createScriptInput( script ); } finally { ISourceViewer viewer = getSourceViewer( ); if ( viewer instanceof SourceViewer ) { IUndoManager undoManager = ( (SourceViewer) viewer ).getUndoManager( ); if ( undoManager != null ) { undoManager.reset( ); } } } }
@Override public IUndoManager getUndoManager(ISourceViewer sourceViewer) { return null; }
public void start() { if (getActiveLinkedMode() != null) { // for safety; should already be handled in RenameJavaElementAction fgActiveLinkedMode.startFullDialog(); return; } ISourceViewer viewer = fEditor.getViewer(); IDocument document = viewer.getDocument(); ITypeScriptFile tsFile = fEditor.getTypeScriptFile(); tsFile.setDisableChanged(true); fOriginalSelection = viewer.getSelectedRange(); int offset = fOriginalSelection.x; try { fLinkedPositionGroup = new LinkedPositionGroup(); if (viewer instanceof ITextViewerExtension6) { IUndoManager undoManager = ((ITextViewerExtension6) viewer).getUndoManager(); if (undoManager instanceof IUndoManagerExtension) { IUndoManagerExtension undoManagerExtension = (IUndoManagerExtension) undoManager; IUndoContext undoContext = undoManagerExtension.getUndoContext(); IOperationHistory operationHistory = OperationHistoryFactory.getOperationHistory(); fStartingUndoOperation = operationHistory.getUndoOperation(undoContext); } } // Find occurrences List<OccurrencesResponseItem> occurrences = tsFile.occurrences(offset).get(1000, TimeUnit.MILLISECONDS); // Create Eclipse linked position from the occurrences list. int start, length; for (int i = 0; i < occurrences.size(); i++) { OccurrencesResponseItem item = occurrences.get(i); start = tsFile.getPosition(item.getStart()); length = tsFile.getPosition(item.getEnd()) - start; LinkedPosition linkedPosition = new LinkedPosition(document, start, length, i); if (i == 0) { fOriginalName = document.get(start, length); fNamePosition = linkedPosition; } fLinkedPositionGroup.addPosition(linkedPosition); } fLinkedModeModel = new LinkedModeModel(); fLinkedModeModel.addGroup(fLinkedPositionGroup); fLinkedModeModel.forceInstall(); fLinkedModeModel.addLinkingListener(new EditorHighlightingSynchronizer(fEditor)); fLinkedModeModel.addLinkingListener(new EditorSynchronizer()); LinkedModeUI ui = new EditorLinkedModeUI(fLinkedModeModel, viewer); ui.setExitPosition(viewer, offset, 0, Integer.MAX_VALUE); ui.setExitPolicy(new ExitPolicy(document)); ui.enter(); viewer.setSelectedRange(fOriginalSelection.x, fOriginalSelection.y); // by // default, // full // word // is // selected; // restore // original // selection if (viewer instanceof IEditingSupportRegistry) { IEditingSupportRegistry registry = (IEditingSupportRegistry) viewer; registry.register(fFocusEditingSupport); } openSecondaryPopup(); // startAnimation(); fgActiveLinkedMode = this; } catch (Exception e) { JSDTTypeScriptUIPlugin.log(e); } }
public void setUndoManager(IUndoManager undoManager) { originalTextViewer.setUndoManager(undoManager); }
@Override public IUndoManager getUndoManager(ISourceViewer sourceViewer) { return new TextViewerUndoManager(unDoLimit); }
@Override public void setUndoManager(IUndoManager undoManager) { }
@Override public void setUndoManager(IUndoManager undoManager) { viewer.setUndoManager(undoManager); }
public IUndoManager getUndoManager() { return viewer.getUndoManager(); }