public SignalViewViewModelBase(RootViewModel root, SignalViewContainerViewModel parent, IDataSource dataSource, ISignalView signalView) : base(root) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } if (dataSource == null) { throw new ArgumentNullException(nameof(dataSource)); } if (signalView == null) { throw new ArgumentNullException(nameof(signalView)); } Parent = parent; DataSource = dataSource; SignalView = signalView; viewSubscription = OnSignalViewSubscription(SignalView); sourceSubscription = dataSource.Subscribe(new AnonymousObserver <double[]>(OnDataSourceValue)); }
protected override IDisposable OnSignalViewSubscription(ISignalView signalView) { return(signalView.Subscribe(new AnonymousObserver <double>(OnSignalViewValue, OnSignalViewCompleted, OnSignalViewError))); }
public SignalViewViewModel(RootViewModel root, SignalViewContainerViewModel parent, IDataSource dataSource, ISignalView signalView) : base(root, parent, dataSource, signalView) { UnitsPerSecond = 100.0; SignalSampleCount = 300; MinimumRange = -1.0; MaximumRange = +1.0; UnitsPerTick = 0.5; }
private SignalViewViewModelBase CreateSignalView(IDataSource dataSource, ISignalView signalView) { return(new SignalViewViewModel(Root, this, dataSource, signalView)); }
protected abstract IDisposable OnSignalViewSubscription(ISignalView signalView);