private void AddLink(FlowGraphLink link) { if (!m_assignedLinks.Contains(link)) { m_assignedLinks.Add(link); link.OnRemoved += Link_OnRemoved; } }
//Event Handlers private void Link_OnRemoved(object sender, EventArgs e) { FlowGraphLink link = sender as FlowGraphLink; if (link != null) { if (m_assignedLinks.Contains(link)) { link.OnRemoved -= Link_OnRemoved; m_assignedLinks.Remove(link); } } }
public void RegisterLink(FlowGraphPort port, FlowGraphLink link) { FlowGraphPort.AssignLink(port, link); switch (port.Type) { case FlowGraphPort.PortType.InPort: { Rectangle portBounds = this.TranslatePortGrip(port); link.LinkEnd = new Point((portBounds.Left + (portBounds.Width / 2)), (portBounds.Top + (portBounds.Height / 2))); } break; case FlowGraphPort.PortType.OutPort: { Rectangle portBounds = this.TranslatePortGrip(port); link.LinkStart = new Point((portBounds.Left + (portBounds.Width / 2)), (portBounds.Top + (portBounds.Height / 2))); } break; } }
public static void AssignLink(FlowGraphPort item, FlowGraphLink link) { item.AddLink(link); }