コード例 #1
0
        public override void SelectGraphViewFromWindow(GraphViewEditorWindowBridge window, GraphViewBridge graphView, int graphViewIndexInWindow = 0)
        {
            var gvChoice = new GraphViewChoice {
                window = window, graphView = graphView as GraphView, idx = graphViewIndexInWindow
            };

            SelectGraphView(gvChoice);
        }
コード例 #2
0
        public static void SpawnAttachedViewToolWindow <T>(GraphViewEditorWindowBridge window, GraphViewBridge gv) where T : GraphViewToolWindowBridge
        {
            const int newToolWidth = 200;

            if (!(window.m_Parent is DockArea gvDockArea)) // Should never happen
            {
                return;
            }

            var container         = gvDockArea.parent;
            var originalSize      = gvDockArea.position.size;
            var originalWindowPos = gvDockArea.window.position;

            int insertIdx = container.IndexOfChild(gvDockArea);

            container.RemoveChild(gvDockArea);

            var splitView    = ScriptableObject.CreateInstance <SplitView>();
            var toolDockArea = ScriptableObject.CreateInstance <DockArea>();
            var toolWindow   = ScriptableObject.CreateInstance <T>();

            toolWindow.SelectGraphViewFromWindow(window, gv);

            splitView.AddChild(toolDockArea);
            splitView.AddChild(gvDockArea);

            container.AddChild(splitView, insertIdx);

            toolDockArea.position     = new Rect(Vector2.zero, new Vector2(newToolWidth, originalSize.y));
            gvDockArea.position       = new Rect(Vector2.zero, new Vector2(originalSize.x - newToolWidth, originalSize.y));
            splitView.position        = new Rect(Vector2.zero, originalSize);
            container.window.position = originalWindowPos;

            toolDockArea.AddTab(toolWindow);

            container.Reflow();
        }
コード例 #3
0
 public abstract void SelectGraphViewFromWindow(GraphViewEditorWindowBridge window, GraphViewBridge graphView, int graphViewIndexInWindow = 0);