private void BuildUI()
        {
            BuildToolbox(m_ExpressionGraph);

            m_NodeEditor = new ExpressionInspector();
            m_ResultView = new ExpressionResultView(m_Expression);

            m_VerticalResizer   = new VisualSplitter(m_NodeEditor, m_ResultView, FlexDirection.Column);
            m_HorizontalResizer = new VisualSplitter(m_ExpressionGraph, m_VerticalResizer, FlexDirection.Row);

            rootVisualElement.Add(m_HorizontalResizer);
            rootVisualElement.style.flexDirection = FlexDirection.Row;
            rootVisualElement.RegisterCallback <GeometryChangedEvent>(OnSizeChange);

            EditorApplication.delayCall += () =>
            {
                if (m_GraphViewSplitterPosition == 0f)
                {
                    m_GraphViewSplitterPosition = position.width * 0.7f;
                }

                m_NodeEditor.style.height     = m_SearchViewSplitterPosition;
                m_ExpressionGraph.style.width = m_GraphViewSplitterPosition;
            };
        }
Пример #2
0
        private void BuildUI()
        {
            BuildToolbox(rootVisualElement);
            BuildGraphToolbar(m_ExpressionGraph);

            m_NodeEditor = new ExpressionInspector();
            m_ResultView = new ExpressionResultView(m_Expression);
            m_ResultView.style.flexGrow = 1f;

            m_InspectorElement = new VisualElement();
            m_InspectorElement.style.flexDirection = FlexDirection.Column;
            m_InspectorElement.Add(m_NodeEditor);
            m_InspectorElement.Add(m_ResultView);
            m_HorizontalResizer = new VisualSplitter(m_ExpressionGraph, m_InspectorElement, FlexDirection.Row);

            rootVisualElement.Add(m_HorizontalResizer);
            rootVisualElement.style.flexDirection = FlexDirection.Row;
            rootVisualElement.RegisterCallback <GeometryChangedEvent>(OnSizeChange);

            UpdateWindowGeometry();

            EditorApplication.delayCall += () =>
            {
                if (m_GraphViewSplitterPosition == 0f)
                {
                    m_GraphViewSplitterPosition = position.width * 0.7f;
                }

                m_ExpressionGraph.style.width = m_GraphViewSplitterPosition;
                m_InspectorElement.MarkDirtyRepaint();
            };
        }
Пример #3
0
        public void OnDisable()
        {
            SaveSplitterPosition();

            m_ExpressionGraph.nodeChanged      -= OnNodePropertiesChanged;
            m_ExpressionGraph.graphChanged     -= OnGraphChanged;
            m_ExpressionGraph.selectionChanged -= OnSelectionChanged;
            m_ExpressionGraph.Dispose();
            m_ExpressionGraph = null;

            m_NodeEditor.propertiesChanged -= OnNodePropertiesChanged;
            m_NodeEditor.variableAdded     -= OnNodeVariableAdded;
            m_NodeEditor.variableRemoved   -= OnNodeVariableRemoved;
            m_NodeEditor.variableRenamed   -= OnNodeVariableRenamed;
            m_NodeEditor.Dispose();
            m_NodeEditor = null;

            m_Expression.Dispose();
            m_Expression = null;
        }
Пример #4
0
        private void BuildUI()
        {
            BuildToolbox(rootVisualElement);
            BuildGraphToolbar(m_ExpressionGraph);

            m_NodeEditor = new ExpressionInspector();
            m_ResultView = new ExpressionResultView(m_Expression);
            m_ResultView.style.flexGrow = 1f;

            m_InspectorElement = new VisualElement();
            m_InspectorElement.style.flexDirection = FlexDirection.Column;
            m_InspectorElement.Add(m_NodeEditor);
            m_InspectorElement.Add(m_ResultView);
            m_HorizontalResizer = new VisualSplitter(m_ExpressionGraph, m_InspectorElement, FlexDirection.Row);

            rootVisualElement.Add(m_HorizontalResizer);
            rootVisualElement.style.flexDirection = FlexDirection.Row;
            rootVisualElement.RegisterCallback <GeometryChangedEvent>(OnSizeChange);

            EditorApplication.update += FixWindowSize;
        }