protected void OnMouseDown(MouseDownEvent evt) { if (m_Active) { evt.StopImmediatePropagation(); return; } if (!CanStartManipulation(evt)) { return; } m_Edge = (evt.target as VisualElement).parent as Edge; if (m_Edge != null) { m_EdgePresenter = m_Edge.GetPresenter <EdgePresenter>(); } m_PressPos = evt.mousePosition; target.TakeMouseCapture(); evt.StopPropagation(); m_LastMouseDownEvent = evt; }
public void OnDrop(GraphView graphView, Edge edge) { if (graphView == null || edge == null) { return; } if (graphView.presenter == null) { return; } // Check if the edge already has a presenter then do not create it EdgePresenter edgePresenter = edge.GetPresenter <EdgePresenter>(); if (edgePresenter == null) { edgePresenter = ScriptableObject.CreateInstance <TEdgePresenter>(); } edgePresenter.output = edge.output.GetPresenter <PortPresenter>(); edgePresenter.input = edge.input.GetPresenter <PortPresenter>(); edgePresenter.output.Connect(edgePresenter); edgePresenter.input.Connect(edgePresenter); graphView.presenter.AddElement(edgePresenter); }
public virtual void Connect(Edge edge) { if (edge == null) { throw new ArgumentException("The value passed to Port.Connect is null"); } // TODO: Remove when removing presenters. var presenter = GetPresenter <PortPresenter>(); if (presenter != null) { var edgePresenter = edge.GetPresenter <EdgePresenter>(); presenter.Connect(edgePresenter); } else { if (!m_Connections.Contains(edge)) { m_Connections.Add(edge); } } OnConnect?.Invoke(this); }
public void OnDrop(GraphView graphView, Edge edge) { if (graphView != null && edge != null) { if (!(graphView.presenter == null)) { EdgePresenter edgePresenter = edge.GetPresenter <EdgePresenter>(); if (edgePresenter == null) { edgePresenter = ScriptableObject.CreateInstance <TEdgePresenter>(); } edgePresenter.output = edge.output.GetPresenter <PortPresenter>(); edgePresenter.input = edge.input.GetPresenter <PortPresenter>(); edgePresenter.output.Connect(edgePresenter); edgePresenter.input.Connect(edgePresenter); graphView.presenter.AddElement(edgePresenter); } } }
public virtual void Disconnect(Edge edge) { if (edge == null) { throw new ArgumentException("The value passed to PortPresenter.Disconnect is null"); } PortPresenter presenter = base.GetPresenter <PortPresenter>(); if (presenter != null) { EdgePresenter presenter2 = edge.GetPresenter <EdgePresenter>(); presenter.Disconnect(presenter2); } else { this.m_Connections.Remove(edge); } if (this.OnDisconnect != null) { this.OnDisconnect(this); } }
public virtual void Connect(Edge edge) { if (edge == null) { throw new ArgumentException("The value passed to Port.Connect is null"); } PortPresenter presenter = base.GetPresenter <PortPresenter>(); if (presenter != null) { EdgePresenter presenter2 = edge.GetPresenter <EdgePresenter>(); presenter.Connect(presenter2); } else if (!this.m_Connections.Contains(edge)) { this.m_Connections.Add(edge); } if (this.OnConnect != null) { this.OnConnect(this); } }