protected override void OnHeaderGUI() { Rect position = new Rect(0, 0, m_ContentViewport?.resolvedStyle.width ?? 1, m_ContentViewport?.resolvedStyle.height ?? 1); GUILayout.BeginHorizontal(); using (new EditorGUIUtility.IconSizeScope(new Vector2(16, 16))) GUILayout.Label(m_ExpressionTitle); GUILayout.FlexibleSpace(); if (Utils.isDeveloperBuild) { if (GUILayout.Button("Refresh")) { m_Expression.Evaluate(); } } if (GUILayout.Button("Edit")) { ExpressionBuilder.Open(m_ExpressionPath); } GUILayout.EndHorizontal(); if (SearchVariable.DrawVariables(m_Variables, position.width)) { SearchVariable.Evaluate(m_Variables, m_Expression, Repaint); } }
private void InitializeExpression() { if (m_Expression != null) { return; } m_ExpressionPath = AssetDatabase.GetAssetPath(target); m_ExpressionName = Path.GetFileNameWithoutExtension(m_ExpressionPath); m_ExpressionTitle = new GUIContent(m_ExpressionName, Icons.quicksearch, m_ExpressionPath); m_Expression = new SearchExpression(SearchSettings.GetContextOptions()); m_Expression.Load(m_ExpressionPath); m_Variables = SearchVariable.UpdateVariables(m_Expression, m_Variables); SearchVariable.Evaluate(m_Variables, m_Expression, null); }