@Override public boolean isEditable() { return Optional.ofNullable(getTarget()).map(IFindReplaceTarget::isEditable).orElse(false); }
@Override public void replaceSelection(String text) { Optional.ofNullable(getTarget()).ifPresent(target -> target.replaceSelection(text)); }
@Override public String getSelectionText() { return Optional.ofNullable(getTarget()).map(IFindReplaceTarget::getSelectionText).orElse(""); //$NON-NLS-1$ }
@Override public void setReplaceAllMode(boolean replaceAll) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).setReplaceAllMode(replaceAll); } }
@Override public void setScope(IRegion scope) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).setScope(scope); } }
@Override public IRegion getScope() { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { return ((IFindReplaceTargetExtension) findReplaceTarget).getScope(); } return null; }
@Override public int findAndSelect(int widgetOffset, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord) { return Optional.ofNullable(getTarget()).map( target -> target.findAndSelect(widgetOffset, findString, searchForward, caseSensitive, wholeWord)) .orElse(-1); }
@Override public void setScopeHighlightColor(Color color) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).setScopeHighlightColor(color); } }
@Override public void setSelection(int offset, int length) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).setSelection(offset, length); } }
@Override public Point getLineSelection() { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { return ((IFindReplaceTargetExtension) findReplaceTarget).getLineSelection(); } return null; }
@Override public void beginSession() { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).beginSession(); } }
@Override public boolean validateTargetState() { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension2) { return ((IFindReplaceTargetExtension2) findReplaceTarget).validateTargetState(); } // TODO not sure if true when findReplaceTarget is null return true; }
@Override public Point getSelection() { return Optional.ofNullable(getTarget()).map(target -> target.getSelection()) .orElse(new Point(-1, -1)); }
private IFindReplaceTarget getFindReplaceTarget() { if (fFindReplaceTarget == null) fFindReplaceTarget= new FindReplaceTarget(); return fFindReplaceTarget; } }
@Override public void endSession() { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension) { ((IFindReplaceTargetExtension) findReplaceTarget).endSession(); } }
@Override public int findAndSelect(int offset, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord, boolean regExSearch) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension3) { return ((IFindReplaceTargetExtension3) findReplaceTarget).findAndSelect(offset, findString, searchForward, caseSensitive, wholeWord, regExSearch); } // fallback like in org.eclipse.ui.texteditor.FindReplaceTarget if (!regExSearch && findReplaceTarget != null) return findReplaceTarget.findAndSelect(offset, findString, searchForward, caseSensitive, wholeWord); return -1; }
private IFindReplaceTarget getFindReplaceTarget() { if (fFindReplaceTarget == null) fFindReplaceTarget= new FindReplaceTarget(); return fFindReplaceTarget; }
@Override public void replaceSelection(String text, boolean regExReplace) { IFindReplaceTarget findReplaceTarget = getTarget(); if (findReplaceTarget instanceof IFindReplaceTargetExtension3) { ((IFindReplaceTargetExtension3) findReplaceTarget).replaceSelection(text, regExReplace); return; } // fallback like in org.eclipse.ui.texteditor.FindReplaceTarget if (!regExReplace && findReplaceTarget != null) findReplaceTarget.replaceSelection(text); }