@Override public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) { IDocument doc= viewer.getDocument(); LinkedPosition position= fLinkedPositionModel.findPosition(new LinkedPosition(doc, offset, 0)); if (position != null) { try { try { TextEdit edit= fProposal.computeEdits(offset, position, trigger, stateMask, fLinkedPositionModel); if (edit != null) { edit.apply(position.getDocument(), 0); } } catch (MalformedTreeException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } catch (BadLocationException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } } catch (CoreException e) { JavaPlugin.log(e); } } }
public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) { IDocument doc= viewer.getDocument(); LinkedPosition position= fLinkedPositionModel.findPosition(new LinkedPosition(doc, offset, 0)); if (position != null) { try { try { TextEdit edit= fProposal.computeEdits(offset, position, trigger, stateMask, fLinkedPositionModel); if (edit != null) { edit.apply(position.getDocument(), 0); } } catch (MalformedTreeException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } catch (BadLocationException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } } catch (CoreException e) { JavaPlugin.log(e); } } }
@Override public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) { IDocument doc= viewer.getDocument(); LinkedPosition position= fLinkedPositionModel.findPosition(new LinkedPosition(doc, offset, 0)); if (position != null) { try { try { TextEdit edit= fProposal.computeEdits(offset, position, trigger, stateMask, fLinkedPositionModel); if (edit != null) { edit.apply(position.getDocument(), 0); } } catch (MalformedTreeException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } catch (BadLocationException e) { throw new CoreException(new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, "Unexpected exception applying edit", e)); //$NON-NLS-1$ } } catch (CoreException e) { JavaPlugin.log(e); } } }
private boolean controlUndoBehavior(int offset, int length) { LinkedPosition position= fModel.findPosition(new LinkedPosition(fCurrentTarget.getViewer().getDocument(), offset, length, LinkedPositionGroup.NO_STOP)); if (position != null) { // if the last position is not the same and there is an open change: close it. if (!position.equals(fPreviousPosition)) endCompoundChangeIfNeeded(); beginCompoundChangeIfNeeded(); } fPreviousPosition= position; return fPreviousPosition != null; }
private boolean controlUndoBehavior(int offset, int length) { LinkedPosition position= fModel.findPosition(new LinkedPosition(fCurrentTarget.getViewer().getDocument(), offset, length, LinkedPositionGroup.NO_STOP)); if (position != null) { // if the last position is not the same and there is an open change: close it. if (!position.equals(fPreviousPosition)) endCompoundChangeIfNeeded(); beginCompoundChangeIfNeeded(); } fPreviousPosition= position; return fPreviousPosition != null; }
LinkedPosition linkedPosition= model.findPosition(new LinkedPosition(document, offset, 0)); if (linkedPosition != null) { int linkedPositionOffset= linkedPosition.getOffset();
public boolean validate(IDocument document, int offset, DocumentEvent event) { // ignore event String insert= getDisplayString(); int off; LinkedPosition pos= fLinkedPositionModel.findPosition(new LinkedPosition(document, offset, 0)); if (pos != null) { off= pos.getOffset(); } else { off= Math.max(0, offset - insert.length()); } int length= offset - off; if (offset <= document.getLength()) { try { String content= document.get(off, length); if (insert.startsWith(content)) return true; } catch (BadLocationException e) { JavaPlugin.log(e); // and ignore and return false } } return false; } }
@Override public boolean validate(IDocument document, int offset, DocumentEvent event) { // ignore event String insert= getDisplayString(); int off; LinkedPosition pos= fLinkedPositionModel.findPosition(new LinkedPosition(document, offset, 0)); if (pos != null) { off= pos.getOffset(); } else { off= Math.max(0, offset - insert.length()); } int length= offset - off; if (offset <= document.getLength()) { try { String content= document.get(off, length); if (insert.startsWith(content)) return true; } catch (BadLocationException e) { JavaPlugin.log(e); // and ignore and return false } } return false; } }
@Override public boolean validate(IDocument document, int offset, DocumentEvent event) { // ignore event String insert= getDisplayString(); int off; LinkedPosition pos= fLinkedPositionModel.findPosition(new LinkedPosition(document, offset, 0)); if (pos != null) { off= pos.getOffset(); } else { off= Math.max(0, offset - insert.length()); } int length= offset - off; if (offset <= document.getLength()) { try { String content= document.get(off, length); if (insert.startsWith(content)) return true; } catch (BadLocationException e) { JavaPlugin.log(e); // and ignore and return false } } return false; } }
LinkedPosition linkedPosition= model.findPosition(new LinkedPosition(document, offset, 0)); if (linkedPosition != null) { int linkedPositionOffset= linkedPosition.getOffset();
LinkedPosition linkedPosition= model.findPosition(new LinkedPosition(document, offset, 0)); if (linkedPosition != null) { int linkedPositionOffset= linkedPosition.getOffset();
LinkedPosition linkedPosition= model.findPosition(new LinkedPosition(document, offset, 0)); if (linkedPosition != null) { int linkedPositionEnd= linkedPosition.getOffset() + linkedPosition.getLength();
public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (length == 0 && (event.character == SWT.BS || event.character == SWT.DEL)) { LinkedPosition position= model.findPosition(new LinkedPosition(fDocument, offset, 0, LinkedPositionGroup.NO_STOP)); if (position != null) { if (event.character == SWT.BS) { if (offset - 1 < position.getOffset()) { //skip backspace at beginning of linked position event.doit= false; } } else /* event.character == SWT.DEL */ { if (offset + 1 > position.getOffset() + position.getLength()) { //skip delete at end of linked position event.doit= false; } } } } return null; // don't change behavior } }
LinkedPosition linkedPosition= model.findPosition(new LinkedPosition(document, offset, 0)); if (linkedPosition != null) { int linkedPositionEnd= linkedPosition.getOffset() + linkedPosition.getLength();
@Override public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (length == 0 && (event.character == SWT.BS || event.character == SWT.DEL)) { LinkedPosition position= model.findPosition(new LinkedPosition(fDocument, offset, 0, LinkedPositionGroup.NO_STOP)); if (position != null) { if (event.character == SWT.BS) { if (offset - 1 < position.getOffset()) { //skip backspace at beginning of linked position event.doit= false; } } else /* event.character == SWT.DEL */ { if (offset + 1 > position.getOffset() + position.getLength()) { //skip delete at end of linked position event.doit= false; } } } } return null; // don't change behavior } }
@Override public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (length == 0 && (event.character == SWT.BS || event.character == SWT.DEL)) { LinkedPosition position= model.findPosition(new LinkedPosition(fDocument, offset, 0, LinkedPositionGroup.NO_STOP)); if (position != null) { if (event.character == SWT.BS) { if (offset - 1 < position.getOffset()) { //skip backspace at beginning of linked position event.doit= false; } } else /* event.character == SWT.DEL */ { if (offset + 1 > position.getOffset() + position.getLength()) { //skip delete at end of linked position event.doit= false; } } } } return null; // don't change behavior } }
@Override public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { if (length == 0 && (event.character == SWT.BS || event.character == SWT.DEL)) { LinkedPosition position= model.findPosition(new LinkedPosition(fDocument, offset, 0, LinkedPositionGroup.NO_STOP)); if (position != null) { if (event.character == SWT.BS) { if (offset - 1 < position.getOffset()) { //skip backspace at beginning of linked position event.doit= false; } } else /* event.character == SWT.DEL */ { if (offset + 1 > position.getOffset() + position.getLength()) { //skip delete at end of linked position event.doit= false; } } } } return null; // don't change behavior } }
public ExitFlags doExit(LinkedModeModel model, VerifyEvent event, int offset, int length) { showPreview = (event.stateMask & SWT.CTRL) != 0 && (event.character == SWT.CR || event.character == SWT.LF); if (length == 0 && (event.character == SWT.BS || event.character == SWT.DEL)) { LinkedPosition position = model.findPosition(new LinkedPosition(document, offset, 0, LinkedPositionGroup.NO_STOP)); if (position != null) { if (event.character == SWT.BS) { if (offset - 1 < position.getOffset()) { // skip backspace at beginning of linked position event.doit = false; } } else /* event.character == SWT.DEL */{ if (offset + 1 > position.getOffset() + position.getLength()) { // skip delete at end of linked position event.doit = false; } } } } return null; // don't change behavior } }
@Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection= event.getSelection(); if (selection instanceof ITextSelection) { ITextSelection textsel= (ITextSelection) selection; if (event.getSelectionProvider() instanceof ITextViewer) { IDocument doc= ((ITextViewer) event.getSelectionProvider()).getDocument(); if (doc != null) { int offset= textsel.getOffset(); int length= textsel.getLength(); if (offset >= 0 && length >= 0) { LinkedPosition find= new LinkedPosition(doc, offset, length, LinkedPositionGroup.NO_STOP); LinkedPosition pos= fModel.findPosition(find); if (pos == null && fExitPosition != null && fExitPosition.includes(find)) pos= fExitPosition; if (pos != null) switchPosition(pos, false, false); } } } } }
@Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection= event.getSelection(); if (selection instanceof ITextSelection) { ITextSelection textsel= (ITextSelection) selection; if (event.getSelectionProvider() instanceof ITextViewer) { IDocument doc= ((ITextViewer) event.getSelectionProvider()).getDocument(); if (doc != null) { int offset= textsel.getOffset(); int length= textsel.getLength(); if (offset >= 0 && length >= 0) { LinkedPosition find= new LinkedPosition(doc, offset, length, LinkedPositionGroup.NO_STOP); LinkedPosition pos= fModel.findPosition(find); if (pos == null && fExitPosition != null && fExitPosition.includes(find)) pos= fExitPosition; if (pos != null) switchPosition(pos, false, false); } } } } }