public static QuickSearch ShowPicker(SearchViewState args) { var qs = Create <SearchPickerWindow>(args.LoadDefaults(SearchFlags.OpenPicker)); qs.searchEventStatus = SearchEventStatus.WaitForEvent; qs.titleContent.text = $"Select {args.title ?? "item"}..."; if (args.context.options.HasAny(SearchFlags.Dockable)) { qs.Show(); } else { qs.ShowAuxWindow(); } // The window position can only be set one frame later. Utils.CallDelayed(() => { if (args.HasFlag(SearchViewFlags.Centered)) { qs.position = args.position = Utils.GetMainWindowCenteredPosition(args.hasWindowSize ? args.windowSize : qs.position.size); } qs.Focus(); }); return(qs); }
public bool SelectObject(ISearchContext context, Action <Object, bool> selectHandler, Action <Object> trackingHandler) { var selectContext = (ObjectSelectorSearchContext)context; var viewFlags = SearchFlags.OpenPicker; if (Utils.IsRunningTests()) { viewFlags |= SearchFlags.Dockable; } SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, "", "object", "ObjectSelectorEngine"); var searchQuery = string.Join(" ", context.requiredTypeNames.Select(tn => tn == null ? "" : $"t:{tn.ToLowerInvariant()}")); if (string.IsNullOrEmpty(searchQuery)) { searchQuery = ""; } else { searchQuery += " "; } var viewstate = new SearchViewState( SearchService.CreateContext(GetObjectSelectorProviders(selectContext), searchQuery, viewFlags), selectHandler, trackingHandler, selectContext.requiredTypeNames.First(), selectContext.requiredTypes.First()); qsWindow = SearchService.ShowPicker(viewstate) as QuickSearch; return(qsWindow != null); }
public override void SetViewState(SearchViewState viewState) { if (viewState.tableConfig == null) { return; } SetSearchTable(viewState.tableConfig.Clone()); }
internal void ShowObjectSelector() { SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, searchContext.searchText, "object", "objectfield"); m_OriginalObject = value; var searchViewState = new SearchViewState(searchContext, OnSelection, OnObjectChanged, objectType.ToString(), objectType) { title = $"{objectType.Name}" }.SetSearchViewFlags(searchViewFlags); SearchService.ShowPicker(searchViewState); }
protected override void LoadSessionSettings(SearchViewState args) { RefreshSearch(); UpdateViewState(args); if (!string.IsNullOrEmpty(args.group)) { SelectGroup(args.group); } else if (args.hideAllGroup && context.providers.FirstOrDefault() is SearchProvider firstProvider) { SelectGroup(firstProvider.type); } }
internal void Assign(SearchViewState state) { providerIds = state.context.providers.Select(p => p.id).ToArray(); searchFlags = state.searchFlags; searchText = state.context.searchText; sessionId = state.sessionId; sessionName = state.sessionName; title = state.title; itemSize = state.itemSize; position = state.position; flags = state.flags; forceViewMode = state.forceViewMode; BuildContext(); }
public bool SelectObject(ISearchContext context, Action <Object, bool> selectHandler, Action <Object> trackingHandler) { var selectContext = (ObjectSelectorSearchContext)context; var viewFlags = SearchFlags.OpenPicker; if (Utils.IsRunningTests()) { viewFlags |= SearchFlags.Dockable; } SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, "", "object", "ObjectSelectorEngine"); var viewstate = new SearchViewState( SearchService.CreateContext("", viewFlags), selectHandler, trackingHandler, selectContext.requiredTypeNames.First(), selectContext.requiredTypes.First()); qsWindow = SearchService.ShowPicker(viewstate) as QuickSearch; return(qsWindow != null); }
static void ShowSearchPicker(SearchContext context, SearchViewFlags searchViewFlags, SerializedProperty property, Object originalObject, int id, Event evt, Type objType) { s_DelegateWindow = EditorWindow.focusedWindow; s_ModalUndoGroup = Undo.GetCurrentGroup(); s_OriginalItem = originalObject; var searchViewState = new SearchViewState(context, (item, canceled) => SendSelectionEvent(item, canceled, id), item => SendTrackingEvent(item, id), objType.ToString(), objType) .SetSearchViewFlags(searchViewFlags); if (property != null) { searchViewState.title = $"{property.displayName} ({objType.Name})"; } SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchPickerOpens, context.searchText, "object", "objectfield"); SearchService.ShowPicker(searchViewState); evt.Use(); GUIUtility.ExitGUI(); }
protected override void LoadSessionSettings(SearchViewState args) { RefreshSearch(); UpdateViewState(args); }
/// <summary> /// Open and show the Search Picker window. /// </summary> /// <param name="viewState">View parameters</param> /// <returns>Returns the newly create search view instance.</returns> public static ISearchView ShowPicker(SearchViewState viewState) { return(SearchPickerWindow.ShowPicker(viewState)); }
/// <summary> /// Show a search window. /// </summary> /// <param name="viewState">Defines search view parameters for creation</param> /// <returns></returns> public static ISearchView ShowWindow(SearchViewState viewState) { return(QuickSearch.Create(viewState).ShowWindow()); }
/// <summary> /// Show a search window. /// </summary> /// <param name="viewState">Defines search view parameters for creation</param> /// <returns></returns> public static ISearchView ShowWindow(SearchViewState viewState) { return(QuickSearch.Create(viewState).ShowWindow(viewState.windowSize.x, viewState.windowSize.y, SearchFlags.OpenDefault | (viewState.context?.options ?? SearchFlags.None))); }
internal static SearchViewState LoadDefaults() { var viewState = new SearchViewState(); return(viewState.LoadDefaults()); }