public void performReplaceAll(Editor e) { if (!ReadonlyStatusHandler.ensureDocumentWritable(e.getProject(), e.getDocument())) return; if (mySearchResults.getFindModel() != null) { final FindModel copy = new FindModel(); copy.copyFrom(mySearchResults.getFindModel()); final SelectionModel selectionModel = mySearchResults.getEditor().getSelectionModel(); final int offset; if ((!selectionModel.hasSelection() && !selectionModel.hasBlockSelection()) || copy.isGlobal()) { copy.setGlobal(true); offset = 0; } else { offset = selectionModel.getBlockSelectionStarts()[0]; } FindUtil.replace(e.getProject(), e, offset, copy, this); } }
public void updateInBackground( FindModel findModel, final boolean allowedToChangedEditorSelection) { final int stamp = mySearchResults.getStamp(); myLivePreviewAlarm.cancelAllRequests(); if (findModel == null) return; final boolean unitTestMode = ApplicationManager.getApplication().isUnitTestMode(); final FindModel copy = new FindModel(); copy.copyFrom(findModel); Runnable request = new Runnable() { @Override public void run() { mySearchResults.updateThreadSafe(copy, allowedToChangedEditorSelection, null, stamp); } }; if (unitTestMode) { request.run(); } else { myLivePreviewAlarm.addRequest(request, myUserActivityDelay); } }