private void LoadFilter(XmlElement filterNode)
        {
            XmlAttribute attr = filterNode.Attributes["Guid"];

            if (attr == null)
            {
                return;
            }

            Guid guid = XmlConvert.ToGuid(attr.Value);

            ISignalFilterFactory factory = Root.SignalFilterFactories
                                           .FirstOrDefault(f => f.UniqueIdentifier == guid);

            if (factory == null)
            {
                return;
            }

            DataSourceInstanceViewModel selectedDataSource = SignalViewSelector.SelectedDataSource;

            ISignalFilter filter = factory.ProduceSignalFilter();

            try
            {
                filter.Load(filterNode);
                SignalFiltersPipeline.SignalFilters.Add(new SignalFilterViewModel(Root, filter));
            }
            catch { }
        }
        public SignalFilterViewModel(RootViewModel root, ISignalFilter signalFilter)
            : base(root)
        {
            if (signalFilter == null)
            {
                throw new ArgumentNullException(nameof(signalFilter));
            }

            this.signalFilter = signalFilter;
            this.signalFilter.ConfigurationChanged += SignalFilter_ConfigurationChanged;
        }
Beispiel #3
0
        private void AddSelectedFilter()
        {
            if (SelectedSignalFilterFactory == null)
            {
                return;
            }

            ISignalFilter signalFilter = SelectedSignalFilterFactory.ProduceSignalFilter();

            var vm = new SignalFilterViewModel(Root, signalFilter)
            {
                Reorderer = SignalFilters,
            };

            SignalFilters.Add(vm);
            Root.IsDataModified = true;
        }