Exemple #1
0
        public override void OnPortDrivesSignalNoLonger(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];

                IConnection connection = _bridge.Model.ConnectorHolders[pc.AttachedTo] as IConnection;
                sc.DetachConnector(connection.From);
                sc.DetachConnector(connection.To);
                pc.DetachConnector(connection.From);
                pc.DetachConnector(connection.To);
                _bridge.Model.Remove(connection);
            }
            finally
            {
                maskNDrives = wasMasked;
            }
        }
Exemple #2
0
 public override void Undo()
 {
     parent.DetachConnector(child);
 }