SearchTable

class in UnityEditor.Search

Description

A search table configuration is used to define the columns when search results are displayed in table view.

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 = SearchViewState.CreatePickerState("decals",
    query,
    selectHandler: (item, canceled) => selectHandler(item?.ToObject(), canceled),
    trackingHandler: (item) => trackingHandler(item?.ToObject()), null,
    SearchViewFlags.TableView
    );
viewState.tableConfig = CreateDecalsTableConfiguration();
var materialIcon = EditorGUIUtility.Load("Material Icon") as Texture;
viewState.windowTitle = new GUIContent("Material Decals", materialIcon);
viewState.hideAllGroup = true;
viewState.position = SearchUtils.GetMainWindowCenteredPosition(new Vector2(600, 400));
s_SearchView = SearchService.ShowPicker(viewState);

Properties

columnsSearch columns displayed in table view.
idUnique id of the search table used for persistance.
nameDisplay name of the search table used for serialization.

Constructors

SearchTableCreates a new search table configuration.

Public Methods

CloneCreates a copy of the search table configuration.
InitFunctorsInitialize all search columns functors based on their format provider.

Static Methods

LoadFromFileLoad a search table configuraiton from a JSON file.

Did you find this page useful? Please give it a rating: