public override void OnPortDrivesSignal(Signal signal, Port port, int outputIndex) { if (maskMDrives) { return; } bool wasMasked = maskNDrives; try { maskNDrives = true; SignalShape ss = _bridge.Signals[signal.InstanceId]; PortShape ps = _bridge.Ports[port.InstanceId]; IConnector sc = ss.InputConnector; IConnector pc = ps.OutputConnectors[outputIndex]; Connection cn = new Connection(Point.Empty, Point.Empty); _bridge.Model.AddConnection(cn); pc.AttachConnector(cn.From); sc.AttachConnector(cn.To); ss.Location = new Point(pc.Point.X - 16, pc.Point.Y - 10); _bridge.Model.SendToFront(ss); } finally { maskNDrives = wasMasked; } }
/// <summary> /// Adds a connection to the diagram. /// </summary> /// <param name="from">From.</param> /// <param name="to">To.</param> /// <returns></returns> public IConnection AddConnection(IConnector from, IConnector to) { Connection cn = new Connection(Point.Empty, Point.Empty); this.AddConnection(cn); from.AttachConnector(cn.From); to.AttachConnector(cn.To); return(cn); }
public override void OnSignalDrivesPort(Signal signal, Port port, int inputIndex) { SignalShape ss = _bridge.Signals[signal.InstanceId]; PortShape ps = _bridge.Ports[port.InstanceId]; IConnector sc = ss.OutputConnector; IConnector pc = ps.InputConnectors[inputIndex]; Connection cn = new Connection(Point.Empty, Point.Empty); sc.AttachConnector(cn.From); pc.AttachConnector(cn.To); _bridge.Model.AddConnection(cn); }
public override void OnPortDrivesSignal(Signal signal, Port port, int outputIndex) { SignalShape ss = _bridge.Signals[signal.InstanceId]; PortShape ps = _bridge.Ports[port.InstanceId]; IConnector sc = ss.InputConnector; IConnector pc = ps.OutputConnectors[outputIndex]; Connection cn = new Connection(Point.Empty, Point.Empty); pc.AttachConnector(cn.From); sc.AttachConnector(cn.To); _bridge.Model.AddConnection(cn); ss.Location = new Point(pc.Point.X - 16, pc.Point.Y - 10); _bridge.Model.SendToFront(ss); }
private void AddConnectionInfo(IConnectionInfo connectionInfo) { this.RegisterConnectionInfoEvents(connectionInfo); IShape shapeFrom = this.shapeInfoShapeMapping.GetByFirst(connectionInfo.From); IShape shapeTo = this.shapeInfoShapeMapping.GetByFirst(connectionInfo.To); IConnector connectorFrom = shapeFrom.Connectors.Where(c => c.Name == connectionInfo.ConnectorFrom).FirstOrDefault(); IConnector connectorTo = shapeTo.Connectors.Where(c => c.Name == connectionInfo.ConnectorTo).FirstOrDefault(); if (connectorFrom != null && connectorTo != null) { Connection connection = new Connection(connectorFrom.Point, connectorTo.Point); connection.From.AllowMove = false; connection.To.AllowMove = false; connectorFrom.AttachConnector(connection.From); connectorTo.AttachConnector(connection.To); connection.PenStyle = this.connectionPenStyle; this.connectionInfoConnectionMapping.Add(connectionInfo, connection); this.graphVisualization.Controller.Model.AddConnection(connection); this.graphVisualization.Invalidate(); } }
public override void Redo() { parent.AttachConnector(child); }
/// <summary> /// Adds a connection to the diagram. /// </summary> /// <param name="from">From.</param> /// <param name="to">To.</param> /// <returns></returns> public IConnection AddConnection(IConnector from, IConnector to) { Connection cn = new Connection(Point.Empty, Point.Empty); this.AddConnection(cn); from.AttachConnector(cn.From); to.AttachConnector(cn.To); return cn; }