Search in sources :

Example 1 with RemoveAllEvent

use of org.eclipse.search.ui.text.RemoveAllEvent in project eclipse.platform.text by eclipse.

the class EditorAnnotationManager method searchResultChanged.

@Override
public synchronized void searchResultChanged(SearchResultEvent e) {
    ISearchResult searchResult = e.getSearchResult();
    if (searchResult instanceof AbstractTextSearchResult) {
        AbstractTextSearchResult result = (AbstractTextSearchResult) searchResult;
        if (e instanceof MatchEvent) {
            MatchEvent me = (MatchEvent) e;
            Match[] matchesInEditor = getMatchesInEditor(me.getMatches(), result);
            if (matchesInEditor != null) {
                if (me.getKind() == MatchEvent.ADDED) {
                    addAnnotations(matchesInEditor);
                } else {
                    removeAnnotations(matchesInEditor);
                }
            }
        } else if (e instanceof RemoveAllEvent) {
            removeAnnotations(result);
        } else if (e instanceof FilterUpdateEvent) {
            Match[] matchesInEditor = getMatchesInEditor(((FilterUpdateEvent) e).getUpdatedMatches(), result);
            if (matchesInEditor != null) {
                removeAnnotations(matchesInEditor);
                addAnnotations(matchesInEditor);
            }
        }
    }
}
Also used : ISearchResult(org.eclipse.search.ui.ISearchResult) RemoveAllEvent(org.eclipse.search.ui.text.RemoveAllEvent) MatchEvent(org.eclipse.search.ui.text.MatchEvent) FilterUpdateEvent(org.eclipse.search.ui.text.FilterUpdateEvent) AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) Match(org.eclipse.search.ui.text.Match)

Example 2 with RemoveAllEvent

use of org.eclipse.search.ui.text.RemoveAllEvent in project eclipse.platform.text by eclipse.

the class PositionTracker method searchResultChanged.

// tracking matches ---------------------------------------------------------------------
@Override
public void searchResultChanged(SearchResultEvent e) {
    if (e instanceof MatchEvent) {
        MatchEvent evt = (MatchEvent) e;
        Match[] matches = evt.getMatches();
        int kind = evt.getKind();
        AbstractTextSearchResult result = (AbstractTextSearchResult) e.getSearchResult();
        for (Match match : matches) {
            ITextFileBuffer fb = getTrackedFileBuffer(result, match.getElement());
            if (fb != null) {
                updateMatch(match, fb, kind, result);
            }
        }
    } else if (e instanceof RemoveAllEvent) {
        RemoveAllEvent evt = (RemoveAllEvent) e;
        ISearchResult result = evt.getSearchResult();
        untrackAll((AbstractTextSearchResult) result);
    }
}
Also used : RemoveAllEvent(org.eclipse.search.ui.text.RemoveAllEvent) ISearchResult(org.eclipse.search.ui.ISearchResult) MatchEvent(org.eclipse.search.ui.text.MatchEvent) ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) AbstractTextSearchResult(org.eclipse.search.ui.text.AbstractTextSearchResult) Match(org.eclipse.search.ui.text.Match)

Aggregations

ISearchResult (org.eclipse.search.ui.ISearchResult)2 AbstractTextSearchResult (org.eclipse.search.ui.text.AbstractTextSearchResult)2 Match (org.eclipse.search.ui.text.Match)2 MatchEvent (org.eclipse.search.ui.text.MatchEvent)2 RemoveAllEvent (org.eclipse.search.ui.text.RemoveAllEvent)2 ITextFileBuffer (org.eclipse.core.filebuffers.ITextFileBuffer)1 FilterUpdateEvent (org.eclipse.search.ui.text.FilterUpdateEvent)1