@Override protected boolean doExecuteResult(ITextEditor editor, Object minibufferResult) { // use widget to avoid unpleasant scrolling side effects of IRewriteTarget Control widget = getTextWidget(editor); // wrap in compound change and no redraw IRewriteTarget rt = (IRewriteTarget) editor.getAdapter(IRewriteTarget.class); try { if (rt != null) { rt.beginCompoundChange(); } widget.setRedraw(false); int offset = rs.updateRectangle(editor, document, selection, (String)minibufferResult, isReplace(),false); if (offset > 0) { selectAndReveal(editor, offset, offset); } } finally { if (rt != null) { rt.endCompoundChange(); } widget.setRedraw(true); } return true; }
private void endCompoundChangeIfNeeded() { if (fHasOpenCompoundChange) { ITextViewerExtension extension = (ITextViewerExtension) fCurrentTarget.getViewer(); IRewriteTarget target = extension.getRewriteTarget(); target.endCompoundChange(); fHasOpenCompoundChange = false; } }
private void beginCompoundChangeIfNeeded() { if (!fHasOpenCompoundChange) { ITextViewerExtension extension = (ITextViewerExtension) fCurrentTarget.getViewer(); IRewriteTarget target = extension.getRewriteTarget(); target.beginCompoundChange(); fHasOpenCompoundChange = true; } }
/** * Ends the compound change. */ private void beginCompoundEdit() { ITextViewer viewer= getTextViewer(); if (fEditInProgress || viewer == null || !(viewer instanceof ITextViewerExtension)) return; fEditInProgress= true; fStrategy.arm(viewer); IRewriteTarget target= ((ITextViewerExtension) viewer).getRewriteTarget(); if (target != null) { target.beginCompoundChange(); } }
/** * Ends the compound change. */ private void endCompoundEdit() { ITextViewer viewer= getTextViewer(); if (!fEditInProgress || viewer == null || !(viewer instanceof ITextViewerExtension)) return; IRewriteTarget target= ((ITextViewerExtension) viewer).getRewriteTarget(); if (target != null) { target.endCompoundChange(); } fEditInProgress= false; }
/** * Ends the compound change. */ public void beginCompoundEdit() { if (fEditInProgress || fEditor == null) return; fEditInProgress= true; fExitStrategy.arm(fEditor.getViewer()); IRewriteTarget target= (IRewriteTarget)fEditor.getAdapter(IRewriteTarget.class); if (target != null) { target.beginCompoundChange(); } }
/** * Ends the compound change. */ public void endCompoundEdit() { if (!fEditInProgress || fEditor == null) return; fExitStrategy.disarm(); IRewriteTarget target= (IRewriteTarget)fEditor.getAdapter(IRewriteTarget.class); if (target != null) { target.endCompoundChange(); } fResult= null; fEditInProgress= false; }
private void doPasteWithImportsOperation() { ITextEditor editor= getTextEditor(); IJavaElement inputElement= JavaUI.getEditorInputTypeRoot(editor.getEditorInput()); Clipboard clipboard= new Clipboard(getDisplay()); try { ClipboardData importsData= (ClipboardData)clipboard.getContents(fgTransferInstance); if (importsData != null && inputElement instanceof ICompilationUnit && !importsData.isFromSame(inputElement)) { // combine operation and adding of imports IRewriteTarget target= (IRewriteTarget)editor.getAdapter(IRewriteTarget.class); if (target != null) { target.beginCompoundChange(); } try { fOperationTarget.doOperation(fOperationCode); addImports((ICompilationUnit)inputElement, importsData); } catch (CoreException e) { JavaPlugin.log(e); } finally { if (target != null) { target.endCompoundChange(); } } } else { fOperationTarget.doOperation(fOperationCode); } } finally { clipboard.dispose(); } }
private void endCompoundChange(ITextViewer viewer) { if (viewer instanceof ITextViewerExtension) { ITextViewerExtension extension= (ITextViewerExtension) viewer; IRewriteTarget target= extension.getRewriteTarget(); target.endCompoundChange(); } }
private void beginCompoundChange(ITextViewer viewer) { if (viewer instanceof ITextViewerExtension) { ITextViewerExtension extension= (ITextViewerExtension) viewer; IRewriteTarget target= extension.getRewriteTarget(); target.beginCompoundChange(); } }
private void setRedraw(ITextViewer viewer, boolean redraw) { if (viewer instanceof ITextViewerExtension) { ITextViewerExtension extension= (ITextViewerExtension) viewer; IRewriteTarget target= extension.getRewriteTarget(); target.setRedraw(redraw); } }
/** * Get the undo Runnable wrappers * * @param editor * @return begin and end undoProtect wrappers */ protected Runnable[] undoProtect(ITextEditor editor, final MacroCount keepCount) { Runnable[] result = new Runnable[2]; // use widget to avoid unpleasant scrolling side effects of IRewriteTarget final Control widget = getTextWidget(editor);; final IRewriteTarget rt = (IRewriteTarget) editor.getAdapter(IRewriteTarget.class);; result[0] = new Runnable() { public void run() { if (rt != null) { rt.beginCompoundChange(); } setRedraw(widget,false); } }; result[1] = new Runnable() { public void run() { setRedraw(widget, true); if (rt != null) { rt.endCompoundChange(); } if (!isInterrupted() && keepCount != null) { // we've finished one more loop of the main macro keepCount.addCounter(); } } }; return result; }
/** * @see com.mulgasoft.emacsplus.minibuffer.IMinibufferExecutable#executeResult(org.eclipse.ui.texteditor.ITextEditor, java.lang.Object) */ public boolean doExecuteResult(ITextEditor editor, Object minibufferResult) { if (minibufferResult != null && ((String)minibufferResult).length() > 0) { String key = (String)minibufferResult; ITextSelection selection = getImpliedSelection(editor, getCurrentSelection(editor)); IDocument document = getThisDocument(editor); // if called with ^U, then delete text as well boolean delete = isEditable() && getCallCount() > 1; String[] rect; // use widget to avoid unpleasant scrolling side effects of IRewriteTarget Control widget = getTextWidget(editor); IRewriteTarget rt = (IRewriteTarget) editor.getAdapter(IRewriteTarget.class); try { if (delete) { // wrap in compound change and no redraw widget.setRedraw(false); if (rt != null) { rt.beginCompoundChange(); } } rect = new RectangleSupport(document,editor).copyRectangle(editor, document, selection, delete); if (rect != null && rect.length > 0) { TecoRegister.getInstance().put(key,rect); showResultMessage(editor, String.format(COPIED, key), false); } } catch (BadLocationException e) { showResultMessage(editor, BAD_INSERT_LOCATION, true); } finally { if (rt != null) { rt.endCompoundChange(); } widget.setRedraw(true); } } else { showResultMessage(editor, NO_REGISTER, true); } return true; }
public IRewriteTarget getRewriteTarget() { return viewer.getRewriteTarget(); }