Beispiel #1
0
        public static void ShowAtPosition(QuickSearch quickSearchTool, SearchContext context, Rect screenRect)
        {
            var window = CreateInstance <SearchQueryCreateWindow>();

            window.m_SearchView = quickSearchTool;
            window.m_Context    = context;

            window.m_Description   = context.searchText;
            window.m_QueryFolder   = SearchSettings.queryFolder;
            window.m_QueryFileName = SearchQuery.RemoveInvalidChars(context.searchText);

            window.ShowAsDropDown(screenRect, Styles.windowSize);
        }
Beispiel #2
0
        internal void OnGUI()
        {
            if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape)
            {
                Close();
                m_SearchView?.Focus();
                return;
            }

            var oldLabelWidth = EditorGUIUtility.labelWidth;

            EditorGUIUtility.labelWidth = 95;

            GUI.Box(new Rect(0, 0, position.width, position.height), GUIContent.none, Styles.panelBorder);
            HandleKeyboardNavigation();

            GUILayout.Label("Create New Search Query", Styles.filterHeader);
            GUILayout.Label(GUIContent.none, Styles.separator);
            using (new EditorGUILayout.HorizontalScope())
            {
                GUI.SetNextControlName("CreateSearchQueryTextField");
                EditorGUI.BeginChangeCheck();
                m_QueryFileName = EditorGUILayout.TextField("Asset file name", m_QueryFileName, GUILayout.ExpandWidth(true));
                if (EditorGUI.EndChangeCheck())
                {
                    m_QueryFileName = SearchQuery.RemoveInvalidChars(m_QueryFileName);
                }

                if (m_NeedFocus)
                {
                    m_NeedFocus = true;
                    EditorGUI.FocusTextInControl("CreateSearchQueryTextField");
                }

                EditorGUIUtility.labelWidth = oldLabelWidth;
                using (new EditorGUI.DisabledScope(string.IsNullOrEmpty(m_QueryFileName)))
                {
                    if (GUILayout.Button("Create", GUILayout.ExpandWidth(false)))
                    {
                        TryCreateSearchQuery();
                    }
                }
            }
        }
Beispiel #3
0
        internal void OnGUI()
        {
            if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape)
            {
                Close();
                m_SearchView?.Focus();
                return;
            }

            var oldLabelWidth = EditorGUIUtility.labelWidth;

            EditorGUIUtility.labelWidth = 95;

            GUI.Box(new Rect(0, 0, position.width, position.height), GUIContent.none, Styles.panelBorder);
            HandleKeyboardNavigation();

            GUILayout.Label("Create New Search Query", Styles.filterHeader);
            GUILayout.Label(GUIContent.none, Styles.separator);

            EditorGUI.BeginChangeCheck();
            m_QueryFileName = EditorGUILayout.TextField("Asset file name", m_QueryFileName);
            if (EditorGUI.EndChangeCheck())
            {
                m_QueryFileName = SearchQuery.RemoveInvalidChars(m_QueryFileName);
            }

            m_Description = EditorGUILayout.TextField(Styles.descriptionContent, m_Description);
            m_Icon        = EditorGUILayout.ObjectField("Icon", m_Icon, typeof(Texture2D), false) as Texture2D;

            EditorGUIUtility.labelWidth = oldLabelWidth;

            using (new EditorGUI.DisabledScope(string.IsNullOrEmpty(m_QueryFileName)))
                using (new EditorGUILayout.HorizontalScope())
                {
                    GUILayout.FlexibleSpace();
                    if (GUILayout.Button("Create"))
                    {
                        TryCreateSearchQuery();
                    }
                    GUILayout.FlexibleSpace();
                }
        }