public static void Show(int itemIndex, FlexibleMenu caller) { s_Caller = caller; GenericMenu menu = new GenericMenu(); if (< > f__mg$cache0 == null) {
public override void OnGUI(Rect rect) { string itemValue = m_Object as string; if (itemValue == null) { Debug.LogError("Invalid object"); return; } if (m_TextSearch == null) { m_TextSearch = itemValue; } const float kColumnWidth = 70f; const float kSpacing = 10f; GUILayout.Space(3); GUILayout.Label(m_MenuType == MenuType.Add ? Styles.headerAdd : Styles.headerEdit, EditorStyles.boldLabel); Rect seperatorRect = GUILayoutUtility.GetRect(1, 1); FlexibleMenu.DrawRect(seperatorRect, (EditorGUIUtility.isProSkin) ? new Color(0.32f, 0.32f, 0.32f, 1.333f) : new Color(0.6f, 0.6f, 0.6f, 1.333f)); // dark : light GUILayout.Space(4); // Optional text GUILayout.BeginHorizontal(); GUILayout.Label(Styles.optionalText, GUILayout.Width(kColumnWidth)); GUILayout.Space(kSpacing); m_TextSearch = EditorGUILayout.TextField(m_TextSearch); GUILayout.EndHorizontal(); GUILayout.Space(5f); // Cancel, Ok GUILayout.BeginHorizontal(); GUILayout.Space(10); if (GUILayout.Button(Styles.cancel)) { editorWindow.Close(); } if (GUILayout.Button(Styles.ok)) { var textSearch = m_TextSearch.Trim(); if (!string.IsNullOrEmpty(textSearch)) { m_Object = m_TextSearch; Accepted(); editorWindow.Close(); } } GUILayout.Space(10); GUILayout.EndHorizontal(); }
private void SearchField(Event e) { string searchBarName = "SearchFilter"; if (e.commandName == "Find") { if (e.type == EventType.ExecuteCommand) { EditorGUI.FocusTextInControl(searchBarName); } if (e.type != EventType.Layout) { e.Use(); } } string searchText = LogEntries.wrapped.searchString; if (e.type == EventType.KeyDown) { if (e.keyCode == KeyCode.Escape) { searchText = string.Empty; GUIUtility.keyboardControl = m_ListView.ID; Repaint(); } else if ((e.keyCode == KeyCode.UpArrow || e.keyCode == KeyCode.DownArrow) && GUI.GetNameOfFocusedControl() == searchBarName) { GUIUtility.keyboardControl = m_ListView.ID; } } GUI.SetNextControlName(searchBarName); Rect rect = GUILayoutUtility.GetRect(0, EditorGUILayout.kLabelFloatMaxW * 1.5f, EditorGUI.kSingleLineHeight, EditorGUI.kSingleLineHeight, EditorStyles.toolbarSearchField, GUILayout.MinWidth(100), GUILayout.MaxWidth(300)); bool showHistory = LogEntries.wrapped.searchHistory[0].Length != 0; Rect popupPosition = rect; popupPosition.width = 20; if (showHistory && Event.current.type == EventType.MouseDown && popupPosition.Contains(Event.current.mousePosition)) { GUIUtility.keyboardControl = 0; EditorUtility.DisplayCustomMenu(rect, EditorGUIUtility.TempContent(LogEntries.wrapped.searchHistory), -1, OnSetFilteringHistoryCallback, null); Event.current.Use(); } LogEntries.wrapped.searchString = EditorGUI.ToolbarSearchField( #if !UNITY_2018_1_OR_NEWER GUIUtility.GetControlID("EditorSearchField".GetHashCode(), FocusType.Keyboard, position), #endif rect, searchText, showHistory); if (GUILayout.Button(new GUIContent(iconCustomFiltersMono, Constants.CustomFiltersLabel), EditorStyles.toolbarDropDown)) { Rect buttonRect = rect; buttonRect.x += buttonRect.width; var menuData = new CustomFiltersItemProvider(LogEntries.wrapped.customFilters); var flexibleMenu = new FlexibleMenu(menuData, -1, new CustomFiltersModifyItemUI(), null); PopupWindow.Show(buttonRect, flexibleMenu); } int iconIndex = 0; foreach (var filter in LogEntries.wrapped.customFilters.filters) { if (iconIndex >= 7) { iconIndex = 0; } filter.toggle = GUILayout.Toggle(filter.toggle, new GUIContent(filter.filter, iconCustomFiltersSmalls[iconIndex++]), Constants.MiniButton); } }