Class QuickSearch
Quick Search Editor Window
Namespace: Unity.QuickSearch
Syntax
public class QuickSearch : EditorWindow, ISearchView, IDisposable
Examples
using Unity.QuickSearch; [MenuItem("Tools/Quick Search %space", priority = 42)] private static void OpenQuickSearch() { QuickSearch.Open(); }
Properties
context
Returns the current view search context
Declaration
public SearchContext context { get; }
Property Value
Type | Description |
---|---|
SearchContext |
Implements
displayMode
Indicates how the data is displayed in the UI.
Declaration
public DisplayMode displayMode { get; }
Property Value
Type | Description |
---|---|
DisplayMode |
Implements
filterCallback
When QuickSearch is used in Object Picker mode, this callback is triggered when the search item list is computed from the query allowing a user to apply further filtering on the object set.
Declaration
public Func<SearchItem, bool> filterCallback { get; set; }
Property Value
Type | Description |
---|---|
Func<SearchItem, Boolean> |
Implements
itemIconSize
Defines the size of items in the search view.
Declaration
public float itemIconSize { get; set; }
Property Value
Type | Description |
---|---|
Single |
Implements
multiselect
Allow multi-selection or not.
Declaration
public bool multiselect { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Implements
results
Return the list of all search results.
Declaration
public ISearchList results { get; }
Property Value
Type | Description |
---|---|
ISearchList |
Implements
selectCallback
When QuickSearch is used in Object Picker mode, this callback is triggered when an object is selected.
Declaration
public Action<SearchItem, bool> selectCallback { get; set; }
Property Value
Type | Description |
---|---|
Action<SearchItem, Boolean> |
Implements
selection
Returns the selected item in the view
Declaration
public SearchSelection selection { get; }
Property Value
Type | Description |
---|---|
SearchSelection |
Implements
trackingCallback
Callback used to override the tracking behavior.
Declaration
public Action<SearchItem> trackingCallback { get; set; }
Property Value
Type | Description |
---|---|
Action<SearchItem> |
Implements
Methods
AddSelection(Int32[])
Add items to the current selection.
Declaration
public void AddSelection(params int[] selection)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | selection | List containing indices of items to add to current selection. |
Implements
Create(Boolean)
Creates a new instance of a Quick Search window but does not show it immediately allowing a user to setup filter before showing the window.
Declaration
public static QuickSearch Create(bool reuseExisting = false)
Parameters
Type | Name | Description |
---|---|---|
Boolean | reuseExisting | If true, try to reuse an already existing instance of QuickSearch. If false will create a new QuickSearch window. |
Returns
Type | Description |
---|---|
QuickSearch | Returns the Quick Search editor window instance. |
Create(SearchContext, String, Boolean, Boolean, Boolean)
Create a new quick search window that will be initialized with a specific context.
Declaration
public static QuickSearch Create(SearchContext context, string topic = "anything", bool saveFilters = true, bool reuseExisting = false, bool multiselect = true)
Parameters
Type | Name | Description |
---|---|---|
SearchContext | context | Search context to start with |
String | topic | Topic to seached |
Boolean | saveFilters | True if user provider filters should be saved for next search session |
Boolean | reuseExisting | True if we should reuse an opened window |
Boolean | multiselect | True if the search support multi-selection or not. |
Returns
Type | Description |
---|---|
QuickSearch |
Dispose()
Dispose of the QuickSearch window and context.
Declaration
public void Dispose()
Dispose(Boolean)
Dispose of the QuickSearch window and context.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
Boolean | disposing | Is the Window already being disposed. |
ExecuteAction(SearchAction, SearchItem[], Boolean)
Execute a Search Action on a given list of items.
Declaration
public void ExecuteAction(SearchAction action, SearchItem[] items, bool endSearch = true)
Parameters
Type | Name | Description |
---|---|---|
SearchAction | action | Action to execute. |
SearchItem[] | items | Items to apply the action on. |
Boolean | endSearch | If true, executing this action will close the Quicksearch window. |
Implements
Open(Single, Single, Boolean, Boolean)
Creates and open a new instance of Quick Search
Declaration
public static QuickSearch Open(float defaultWidth = 850F, float defaultHeight = 539F, bool dockable = false, bool reuseExisting = false)
Parameters
Type | Name | Description |
---|---|---|
Single | defaultWidth | Initial width of the window. |
Single | defaultHeight | Initial height of the window. |
Boolean | dockable | If true, creates a dockable QuickSearch Window (that will be closed when an item is activated). If false, it will create a DropDown (borderless, undockable and unmovable) version of QuickSearch. |
Boolean | reuseExisting | If true, try to reuse an already existing instance of QuickSearch. If false will create a new QuickSearch window. |
Returns
Type | Description |
---|---|
QuickSearch | Returns the Quick Search editor window instance. |
OpenWithContextualProvider(String[])
Open the quick search window using a specific context (activating specific filters and such).
Declaration
public static QuickSearch OpenWithContextualProvider(params string[] providerIds)
Parameters
Type | Name | Description |
---|---|---|
String[] | providerIds | Unique ids of providers to enable when popping QuickSearch. |
Returns
Type | Description |
---|---|
QuickSearch | Returns a new shown instance of QuickSearch. |
Examples
[MenuItem("Tools/Search Menus _F1")] public static void SearchMenuItems() { QuickSearch.OpenWithContextualProvider("menu"); }
PopFilterWindow()
Open the Quick Search filter window to edit active filters.
Declaration
public void PopFilterWindow()
Implements
PopSearchQueryCreateWindow()
Open the Search Query creation window.
Declaration
public void PopSearchQueryCreateWindow()
Refresh()
Re-fetch the search results and refresh the UI.
Declaration
public void Refresh()
Implements
SelectSearch()
Request to focus and select the search field.
Declaration
public void SelectSearch()
Implements
SetSearchText(String, TextCursorPlacement)
Sets the search query text.
Declaration
public void SetSearchText(string searchText, TextCursorPlacement moveCursor = TextCursorPlacement.MoveLineEnd)
Parameters
Type | Name | Description |
---|---|---|
String | searchText | Text to be displayed in the search view. |
TextCursorPlacement | moveCursor | Where to place the cursor after having set the search text |
Implements
SetSelection(Int32[])
Set which items are selected in the view.
Declaration
public void SetSelection(params int[] selection)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | selection | List containing indices of items to select. |
Implements
ShowItemContextualMenu(SearchItem, Rect)
Show a contextual menu for the specified item.
Declaration
public void ShowItemContextualMenu(SearchItem item, Rect position)
Parameters
Type | Name | Description |
---|---|---|
SearchItem | item | Item affected by the contextual menu. |
Rect | position | Where the menu should be drawn on screen (generally item position) |
Implements
ShowObjectPicker(Action<Object, Boolean>, Action<Object>, Func<Object, Boolean>, String, String, Type, Single, Single, Boolean)
Use Quick Search to as an object picker to select any object based on the specified filter type.
Declaration
public static QuickSearch ShowObjectPicker(Action<Object, bool> selectHandler, Action<Object> trackingHandler, Func<Object, bool> pickerConstraintHandler, string searchText, string typeName, Type filterType, float defaultWidth = 850F, float defaultHeight = 539F, bool dockable = false)
Parameters
Type | Name | Description |
---|---|---|
Action<Object, Boolean> | selectHandler | Callback to trigger when a user selects an item. |
Action<Object> | trackingHandler | Callback to trigger when the user is modifying QuickSearch selection (i.e. tracking the currently selected item) |
Func<Object, Boolean> | pickerConstraintHandler | Callback that is called to provide additionnal filtering when QuickSearch is populating its object list. |
String | searchText | Initial search text for QuickSearch. |
String | typeName | Type name of the object to select. Can be used to replace filterType. |
Type | filterType | Type of the object to select. |
Single | defaultWidth | Initial width of the window. |
Single | defaultHeight | Initial height of the window. |
Boolean | dockable | If true, creates a dockable QuickSearch Window (that will be closed when an item is activated). If false, it will create a DropDown (borderless, undockable and unmovable) version of QuickSearch. |
Returns
Type | Description |
---|---|
QuickSearch |
ShowWindow(Single, Single, Boolean)
Open the default Quick Search window using default settings.
Declaration
public QuickSearch ShowWindow(float defaultWidth = 850F, float defaultHeight = 538F, bool dockable = false)
Parameters
Type | Name | Description |
---|---|---|
Single | defaultWidth | Initial width of the window. |
Single | defaultHeight | Initial height of the window. |
Boolean | dockable | If true, creates a dockable QuickSearch Window (that will be closed when an item is activated). If false, it will create a DropDown (borderless, undockable and unmovable) version of QuickSearch. |
Returns
Type | Description |
---|---|
QuickSearch | Returns the Quick Search editor window instance. |