public EditorSearchComponent( @NotNull final Editor editor, final Project project, FindModel findModel) { myFindModel = findModel; myProject = project; myEditor = editor; mySearchResults = new SearchResults(myEditor, myProject); myLivePreviewController = new LivePreviewController(mySearchResults, this); myDefaultBackground = new JTextField().getBackground(); initUI(); new SwitchToFind(this); new SwitchToReplace(this, editor); myFindModel.addObserver( new FindModel.FindModelObserver() { @Override public void findModelChanged(FindModel findModel) { String stringToFind = myFindModel.getStringToFind(); if (!wholeWordsApplicable(stringToFind)) { myFindModel.setWholeWordsOnly(false); } updateUIWithFindModel(); updateResults(true); syncFindModels(FindManager.getInstance(myProject).getFindInFileModel(), myFindModel); } }); updateUIWithFindModel(); if (ApplicationManager.getApplication().isUnitTestMode()) { initLivePreview(); } updateMultiLineStateIfNeed(); }