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); }
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(); }
public abstract void SelectGraphViewFromWindow(GraphViewEditorWindowBridge window, GraphViewBridge graphView, int graphViewIndexInWindow = 0);