Class SearchContext
The search context encapsulate all the states necessary to perform a query. It allows the full customization of how a query would be performed.
Namespace: Unity.QuickSearch
Syntax
public class SearchContext : IDisposableConstructors
SearchContext(IEnumerable<SearchProvider>)
Create a new search context.
Declaration
public SearchContext(IEnumerable<SearchProvider> providers)Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<SearchProvider> | providers | The list of providers used to resolve the specified query. | 
SearchContext(IEnumerable<SearchProvider>, String)
Create a new search context.
Declaration
public SearchContext(IEnumerable<SearchProvider> providers, string searchText)Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<SearchProvider> | providers | The list of providers used to resolve the specified query. | 
| String | searchText | The search query to perform. | 
SearchContext(IEnumerable<SearchProvider>, String, SearchFlags)
Create a new search context.
Declaration
public SearchContext(IEnumerable<SearchProvider> providers, string searchText, SearchFlags options)Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<SearchProvider> | providers | The list of providers used to resolve the specified query. | 
| String | searchText | The search query to perform. | 
| SearchFlags | options | Options to further controlled the query. | 
Properties
actionId
The search action id to be executed.
Declaration
public string actionId { get; }Property Value
| Type | Description | 
|---|---|
| String | 
filterId
Explicit filter id. Usually it is the first search token like h:, p: to do an explicit search for a given provider. Can be null
Declaration
public string filterId { get; }Property Value
| Type | Description | 
|---|---|
| String | 
focusedWindow
Editor window that initiated the search.
Declaration
public EditorWindow focusedWindow { get; }Property Value
| Type | Description | 
|---|---|
| EditorWindow | 
options
Search context options
Declaration
public SearchFlags options { get; set; }Property Value
| Type | Description | 
|---|---|
| SearchFlags | 
progressId
Progress handle to set the search current progress.
Declaration
public int progressId { get; set; }Property Value
| Type | Description | 
|---|---|
| Int32 | 
providers
Which Providers are active for this particular context.
Declaration
public IEnumerable<SearchProvider> providers { get; }Property Value
| Type | Description | 
|---|---|
| IEnumerable<SearchProvider> | 
searchInProgress
Indicates if an asynchronous search is currently in progress for this context.
Declaration
public bool searchInProgress { get; }Property Value
| Type | Description | 
|---|---|
| Boolean | 
searchPhrase
Returns a phrase that contains only words separated by spaces
Declaration
public string searchPhrase { get; }Property Value
| Type | Description | 
|---|---|
| String | 
searchQuery
Processed search query (no filterId, no textFilters)
Declaration
public string searchQuery { get; }Property Value
| Type | Description | 
|---|---|
| String | 
searchText
Raw search text (i.e. what is in the search text box)
Declaration
public string searchText { get; set; }Property Value
| Type | Description | 
|---|---|
| String | 
searchView
Search view holding and presenting the search results.
Declaration
public ISearchView searchView { get; }Property Value
| Type | Description | 
|---|---|
| ISearchView | 
searchWords
Search query tokenized by words. All text filters are discarded and all words are lower cased.
Declaration
public string[] searchWords { get; }Property Value
| Type | Description | 
|---|---|
| String[] | 
selection
Return the search result selection if any.
Declaration
public SearchSelection selection { get; }Property Value
| Type | Description | 
|---|---|
| SearchSelection | 
textFilters
All tokens containing a colon (':')
Declaration
public string[] textFilters { get; }Property Value
| Type | Description | 
|---|---|
| String[] | 
wantsMore
Indicates if the search should return results as many as possible.
Declaration
public bool wantsMore { get; set; }Property Value
| Type | Description | 
|---|---|
| Boolean | 
Methods
Dispose()
Dispose of the Search Context
Declaration
public void Dispose()Dispose(Boolean)
Dispose of the SearchContext. Will End the Search session.
Declaration
protected virtual void Dispose(bool disposing)Parameters
| Type | Name | Description | 
|---|---|---|
| Boolean | disposing | Is the SearchItem currently being disposed. | 
Finalize()
Search context finalizer.
Declaration
protected void Finalize()IsEnabled(String)
Checks if a provider is available to process a query.
Declaration
public bool IsEnabled(string providerId)Parameters
| Type | Name | Description | 
|---|---|---|
| String | providerId | If of the provider. See SearchProvider.name.id. | 
Returns
| Type | Description | 
|---|---|
| Boolean | 
ReportProgress(Single, String)
This function is invoked during when a search is performed asynchronously to display progress.
Declaration
public void ReportProgress(float progress = 0F, string status = null)Parameters
| Type | Name | Description | 
|---|---|---|
| Single | progress | Progress value. Varies between 0 and 1. | 
| String | status | Current status/description of the Search. | 
ResetFilter(Boolean)
Reset all provider filter to the specified value. This allows enabling or disabling all providers in one call. A disabled provider won't be ask to provider items to resolve the query.
Declaration
public void ResetFilter(bool enableAll)Parameters
| Type | Name | Description | 
|---|---|---|
| Boolean | enableAll | If true enable all providers. If false disable all providers. | 
SetFilter(String, Boolean)
Enable or disable a single provider. A disabled provider won't be ask to provider items to resolve the query.
Declaration
public void SetFilter(string providerId, bool isEnabled)Parameters
| Type | Name | Description | 
|---|---|---|
| String | providerId | Id of the provider. See SearchProvider.name.id. | 
| Boolean | isEnabled | If true, enable the provider to perform query. | 
Events
asyncItemReceived
This event is used to receive any async search result.
Declaration
public event Action<SearchContext, IEnumerable<SearchItem>> asyncItemReceivedEvent Type
| Type | Description | 
|---|---|
| Action<SearchContext, IEnumerable<SearchItem>> | 
sessionEnded
Invoked when a Search has ended.
Declaration
public event Action<SearchContext> sessionEndedEvent Type
| Type | Description | 
|---|---|
| Action<SearchContext> | 
sessionStarted
Invoked when a Search is started.
Declaration
public event Action<SearchContext> sessionStartedEvent Type
| Type | Description | 
|---|---|
| Action<SearchContext> |