A search table configuration is used to define the columns when search results are displayed in table view.
See DisplayMode.Table.
static SearchTable CreateDecalsTableConfiguration() { var materialIcon = EditorGUIUtility.Load("Material Icon") as Texture; var shaderIcon = EditorGUIUtility.Load("Shader Icon") as Texture; return new SearchTable("decals", new SearchColumn[] { new SearchColumn("DecalsName0", "label", "name", new GUIContent("Name", materialIcon)) { width = 160 }, new SearchColumn("DecalsShader1", "#shader", "name", new GUIContent("Shader", shaderIcon)) { width = 150 }, new SearchColumn("DecalsBaseColor1", "#_BaseColor", "color", new GUIContent("Color", shaderIcon)) { width = 130 }, }); }
The previous example can be used when creating a SearchViewState.
var selectHandler = args.selectorClosedHandler; var trackingHandler = args.trackingHandler; var query = SearchService.CreateContext(CreateDecalProvider(), $"a={dbName} t={selectContext.requiredTypeNames.First()} shader=Decal"); var viewState = new SearchViewState(query, CreateDecalsTableConfiguration(), SearchViewFlags.TableView | SearchViewFlags.OpenInBuilderMode | SearchViewFlags.DisableSavedSearchQuery); var materialIcon = EditorGUIUtility.Load("Material Icon") as Texture; viewState.windowTitle = new GUIContent("Material Decals", materialIcon); viewState.hideAllGroup = true; viewState.title = "decals"; viewState.selectHandler = (item, canceled) => selectHandler(item?.ToObject(), canceled); viewState.trackingHandler = (item) => trackingHandler(item?.ToObject()); viewState.position = SearchUtils.GetMainWindowCenteredPosition(new Vector2(600, 400)); SearchService.ShowPicker(viewState);
columns | Search columns displayed in table view. |
id | Unique id of the search table used for persistance. |
name | Display name of the search table used for serialization. |
SearchTable | Creates a new search table configuration. |
Clone | Creates a copy of the search table configuration. |
InitFunctors | Initialize all search columns functors based on their format provider. |
LoadFromFile | Load a search table configuraiton from a JSON file. |