public bool Connect(dynPortModel p) { //test if the port that you are connecting too is not the start port or the end port //of the current connector if (p.Equals(pStart) || p.Equals(pEnd)) { return(false); } //if the selected connector is also an output connector, return false //output ports can't be connected to eachother if (p.PortType == PortType.OUTPUT) { return(false); } //test if the port that you are connecting to is an input and //already has other connectors if (p.PortType == PortType.INPUT && p.Connectors.Count > 0) { p.Disconnect(p.Connectors[0]); } //turn the line solid pEnd = p; if (pEnd != null) { p.Connect(this); } return(true); }
public void NotifyConnectedPortsOfDeletion() { if (pStart != null && pStart.Connectors.Contains(this)) { pStart.Disconnect(this); } if (pEnd != null && pEnd.Connectors.Contains(this)) { pEnd.Disconnect(this); } }
public void Disconnect(dynPortModel p) { if (p.Equals(pStart)) { pStart = null; } if (p.Equals(pEnd)) { pEnd = null; } p.Disconnect(this); }