コード例 #1
0
        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;
        }
コード例 #2
0
        public void LoadLayout(XmlElement groupNode)
        {
            Containers.Clear();

            foreach (XmlElement containerNode in groupNode.SelectNodes("Container"))
            {
                SignalViewContainerViewModel view = AddView();
                view.LoadLayout(containerNode);
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        public SignalViewContainerViewModel AddView()
        {
            SignalViewContainerViewModel newInstance = null;

            newInstance = new SignalViewContainerViewModel(Root, () =>
            {
                newInstance.Cleanup();
                Containers.Remove(newInstance);
                Root.IsDataModified = true;
            });

            Containers.Add(newInstance);

            return(newInstance);
        }
コード例 #5
0
        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));
        }