Esempio n. 1
0
  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();
  }