public override void Move(Point p) { base.Move(p); foreach (Connector c in cOut) { foreach (Connector cnf in c.AttachedConnectors) { IConnector c2 = ((IConnection)cnf.Parent).To.AttachedTo; SignalShape ss = c2.Parent as SignalShape; if (ss != null) { ss.Location = new Point(c.Point.X - 16, c.Point.Y - 10); } } } }
public override void OnSignalAdded(Signal signal, int index) { if(_bridge.Signals.ContainsKey(signal.InstanceId)) return; SignalShape shape = new SignalShape(new CommandReference(signal.InstanceId, index)); shape.Signal = signal; shape.Location = CreateRandomLocation(); _bridge.Signals.Add(signal.InstanceId, shape); _bridge.Model.AddShape(shape); _presentation.Invalidate(); }