From 41db303fbfac86f35dde5f1a7ed5c52648baf816 Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Mon, 14 Jun 2004 14:39:52 +0000 Subject: [PATCH] bug 48308 - don't block the content assist while waiting for indexing, force the search to happen on the partial index --- .../eclipse/cdt/core/search/SearchEngine.java | 16 +++++++++++++++- .../text/contentassist/CCompletionProcessor.java | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/SearchEngine.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/SearchEngine.java index eb730faa004..8c80e4b8b35 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/SearchEngine.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/SearchEngine.java @@ -53,6 +53,7 @@ public class SearchEngine implements ICSearchConstants{ * compilation units. */ private IWorkingCopy[] workingCopies = null; + private int waitingPolicy = ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH; /** * @@ -66,6 +67,19 @@ public class SearchEngine implements ICSearchConstants{ this.workingCopies = workingCopies; } + /** + * Policy is one of ICSearchConstants.FORCE_IMMEDIATE_SEARCH, ICSearchConstants.CANCEL_IF_NOT_READY_TO_SEARCH + * or ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH + * @param policy + */ + public void setWaitingPolicy( int policy ){ + if( policy == FORCE_IMMEDIATE_SEARCH || + policy == CANCEL_IF_NOT_READY_TO_SEARCH || + policy == WAIT_UNTIL_READY_TO_SEARCH ) + { + waitingPolicy = policy; + } + } /** * @return */ @@ -193,7 +207,7 @@ public class SearchEngine implements ICSearchConstants{ pathCollector, indexManager ), - ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, + waitingPolicy, subMonitor, null ); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java index 20b316a415d..0ddf7dcd41d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java @@ -133,6 +133,7 @@ public class CCompletionProcessor implements IContentAssistProcessor { resultCollector = new ResultCollector(); completionEngine = new CompletionEngine(resultCollector); searchEngine = new SearchEngine(); + searchEngine.setWaitingPolicy( ICSearchConstants.FORCE_IMMEDIATE_SEARCH ); setupTemplateEngine(); fRestrictToMatchingCase = false;