void AddSearchElement(VisualElement root) { m_SearchElement = AddSearchElement <SystemForSearch>(root, UssClasses.DotsEditorCommon.SearchFieldContainer); m_SearchElement.RegisterSearchQueryHandler <SystemForSearch>(query => { var parseResult = SearchQueryParser.ParseSearchQuery(query); m_SystemTreeView.SetFilter(query, parseResult); }); m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), k_FilterComponentType, k_FilterComponentTypeTooltip); m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), k_FilterSystemDependencies, k_FilterSystemDependenciesTooltip); m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(SystemForSearch.SystemName))); m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), new PropertyPath(nameof(SystemForSearch.ComponentNamesInQuery))); m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), new PropertyPath(nameof(SystemForSearch.SystemDependency))); m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance); }
void CreateToolbar() { m_Header = new VisualElement(); Resources.Templates.EntityHierarchyToolbar.Clone(m_Header); var leftSide = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.LeftSide); var rightSide = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.RightSide); leftSide.Add(CreateWorldSelector()); AddSearchIcon(rightSide, UssClasses.DotsEditorCommon.SearchIcon); m_SearchElement = AddSearchElement <EntityHierarchyItem>(m_Header, UssClasses.DotsEditorCommon.SearchFieldContainer); m_SearchElement.RegisterSearchQueryHandler <EntityHierarchyItem>(query => { var result = m_EntityHierarchyQueryBuilder.BuildQuery(query.SearchString); QueryDesc = result.QueryDesc; m_EntityHierarchy.SetFilter(query, result); }); m_SearchElement.AddSearchFilterPopupItem("c", k_FilterComponentType, k_FilterComponentTypeTooltip); m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(EntityHierarchyItem.m_CachedLowerCaseName))); m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance); m_Root.Add(m_Header); }