protected override CommandReference Action() { int idx = System.BusCount; Bus b = new Bus(System.Context); Guid iid = b.InstanceId; System.AddBus(b); return new CommandReference(iid, idx); }
void IObserver.OnBusValueChanged(Bus bus) { }
private bool DummyBusPredicate(Bus bus) { return true; }
public bool VisitLeaf(Bus bus, bool again) { return _leafBus(bus, again); }
public void OnBusAttachedToPortNoLonger(Bus bus, Port port, int busIndex) { _writer.WriteEntry(DateTime.Now, _currentSysId, LogAction.BusDetachedFromPort, port.InstanceId, _emptyGuid, bus.InstanceId, port.Entity.EntityId.ToString(), busIndex); }
public void OnBusRemoved(Bus bus, int index) { _writer.WriteEntry(DateTime.Now, _currentSysId, LogAction.BusRemoved, _emptyGuid, _emptyGuid, bus.InstanceId, _emptyId, index); }
protected abstract void Action(Port port, Bus bus, int index);
public override void OnBusRemoved(Bus bus, int index) { if(!_bridge.Buses.ContainsKey(bus.InstanceId)) return; BusShape shape = _bridge.Buses[bus.InstanceId]; _bridge.Buses.Remove(bus.InstanceId); _bridge.Model.RemoveShape(shape); _presentation.Invalidate(); }
public BusPortIndexEventArgs(Bus bus, Port port, int index) { this.bus = bus; this.port = port; this.index = index; }
internal void OnBusMoved(Bus bus, int indexBefore, int indexAfter) { foreach(ISystemObserver observer in _observers) observer.OnBusMoved(bus, indexBefore, indexAfter); }
internal void OnBusAttachedToPortNoLonger(Bus bus, Port port, int busIndex) { foreach(ISystemObserver observer in _observers) observer.OnBusAttachedToPortNoLonger(bus, port, busIndex); }
internal void OnBusRemoved(Bus bus, int index) { foreach(ISystemObserver observer in _observers) observer.OnBusRemoved(bus, index); }
protected override void Action(Port port, Bus bus, int index) { port.AddBusBinding(index, bus); }
void IObserver.OnNewBusCreated(Bus bus) { _currentSystem.AddBus(bus); }
protected abstract void Action(Port port, Bus bus);
internal void NotifyNewBusConstructed(Bus bus) { EventHandler<BusEventArgs> handler = OnNewBusConstructed; if(handler != null) handler(this, new BusEventArgs(bus)); }
public override void OnBusAdded(Bus bus, int index) { if(_bridge.Buses.ContainsKey(bus.InstanceId)) return; BusShape shape = new BusShape(new CommandReference(bus.InstanceId, index)); shape.Bus = bus; shape.Location = CreateRandomLocation(); _bridge.Buses.Add(bus.InstanceId, shape); _bridge.Model.AddShape(shape); _presentation.Invalidate(); }
internal void NotifyBusNoLongerAttachedToPort(Bus bus, Port port, int busIndex) { EventHandler<BusPortIndexEventArgs> handler = OnBusNoLongerAttachedToPort; if(handler != null) handler(this, new BusPortIndexEventArgs(bus, port, busIndex)); }
public override void OnBusMoved(Bus bus, int indexBefore, int indexAfter) { _bridge.Buses[bus.InstanceId].BusReference = new CommandReference(bus.InstanceId, indexAfter); }
public virtual void OnBusAttachedToPortNoLonger(Bus bus, Port port, int busIndex) { }
public virtual bool VisitLeaf(Bus bus, bool again) { return true; }
public virtual void OnBusAdded(Bus bus, int index) { }
public void OnBusMoved(Bus bus, int indexBefore, int indexAfter) { }
public virtual void OnBusRemoved(Bus bus, int index) { }
protected abstract void Action(Bus bus);
public BusEventArgs(Bus bus) { this.bus = bus; }
public override bool VisitLeaf(Bus bus, bool again) { if(!again && _busMatch(bus)) _buses.Add(bus); return true; }
protected override void Action(Bus bus) { System.RemoveBus(bus); }
private Port ScanInstantiate() { tokenizer.Match(TokenTypes.InstantiateKeyword, "instantiate"); Entity entity = ScanEntity(); Signal[] inputs; //= new Signal[entity.InputSignals.Length]; Signal[] outputs; // = new Signal[entity.OutputSignals.Length]; Bus[] buses; // = new Bus[entity.Buses.Length]; if(tokenizer.LookaheadFistToken.Text == "in") { tokenizer.Match(TokenTypes.TextIdentifier, "in"); if(tokenizer.LookaheadToken(1).IsType(TokenTypes.Association)) { List<SignalAssociation> associations = ScanSignalExpressionAssociationList(); inputs = new Signal[entity.InputSignals.Length]; foreach(SignalAssociation sa in associations) inputs[Array.IndexOf<string>(entity.InputSignals, sa.Label)] = sa.Association; } else { List<Signal> associations = ScanSignalExpressionList(); inputs = associations.ToArray(); } } else inputs = new Signal[entity.InputSignals.Length]; if(tokenizer.LookaheadFistToken.Text == "out") { tokenizer.Match(TokenTypes.TextIdentifier, "out"); if(tokenizer.LookaheadToken(1).IsType(TokenTypes.Association)) { List<SignalAssociation> associations = ScanSignalAssociationList(); outputs = new Signal[entity.OutputSignals.Length]; foreach(SignalAssociation sa in associations) outputs[Array.IndexOf<string>(entity.OutputSignals, sa.Label)] = sa.Association; } else { List<Signal> associations = ScanSignalList(); outputs = associations.ToArray(); } } else outputs = new Signal[entity.OutputSignals.Length]; if(tokenizer.LookaheadFistToken.Text == "bus") { tokenizer.Match(TokenTypes.TextIdentifier, "bus"); if(tokenizer.LookaheadToken(1).IsType(TokenTypes.Association)) { List<BusAssociation> associations = ScanBusAssociationList(); buses = new Bus[entity.Buses.Length]; foreach(BusAssociation ba in associations) buses[Array.IndexOf<string>(entity.Buses, ba.Label)] = ba.Association; } else { List<Bus> associations = ScanBusList(); buses = associations.ToArray(); } } else buses = new Bus[entity.Buses.Length]; Port port = entity.InstantiatePort(context, inputs, outputs, buses); system.AddPortTree(port, false, false); return port; }
void IObserver.OnBusDetachedFromPort(Bus bus, Port port, int busIndex) { }