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; }
public void LoadLayout(XmlElement groupNode) { Containers.Clear(); foreach (XmlElement containerNode in groupNode.SelectNodes("Container")) { SignalViewContainerViewModel view = AddView(); view.LoadLayout(containerNode); } }
public SignalViewSelectorViewModel(RootViewModel root, SignalViewContainerViewModel parent) : base(root) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } this.parent = parent; AvailableDataSources = root.DataSources .Select(ds => new DataSourceInstanceViewModel(root, this, ds)) .ToArray(); }
public SignalViewContainerViewModel AddView() { SignalViewContainerViewModel newInstance = null; newInstance = new SignalViewContainerViewModel(Root, () => { newInstance.Cleanup(); Containers.Remove(newInstance); Root.IsDataModified = true; }); Containers.Add(newInstance); return(newInstance); }
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)); }