private void _signalCheckStatusChanged(SignalTree e) { _updateSignals(e); if (SelectedStep != null) { //SelectedStep.UpdateInputOutputTree(); SelectedStep.ThisStepInputsGroupedByType.SignalList = SampleDataMngr.SortSignalsByType(SelectedStep.InputChannels); if (SelectedStep is PreProcessStepViewModel) { //SampleDataMngr.GroupedSignalByPreProcessStepsInput.Add(SelectedStep.ThisStepInputsGroupedByType); SelectedStep.ThisStepOutputsGroupedByPMU.SignalList = SampleDataMngr.SortSignalByPMU(SelectedStep.OutputChannels); //var thisSelectedStep = SelectedStep as PreProcessStepViewModel; //if (thisSelectedStep.Model is Customization) //{ // SampleDataMngr.GroupedSignalByPreProcessStepsOutput.Add(SelectedStep.ThisStepOutputsGroupedByPMU); //} } //if (SelectedStep is SignatureSettingViewModel) //{ // SampleDataMngr.GroupedSignalBySignatureStepsInput.Add(SelectedStep.ThisStepInputsGroupedByType); //} //if (SelectedStep is DataWriterViewModel) //{ // SampleDataMngr.GroupedSignalByDataWriterStepsInput.Add(SelectedStep.ThisStepInputsGroupedByType); //} } }
private void _addSignalsToPlot(SignalTree tree) { if (tree.Signal != null) { SelectedSignalPlotPanel.Signals.Add(tree.Signal); } else { foreach (var tr in tree.SignalList) { _addSignalsToPlot(tr); } } }
private void _addSignalsToStep(SignalTree tree) { if (tree.Signal != null) { SelectedStep.AddSignal(tree.Signal); } else { foreach (var tr in tree.SignalList) { _addSignalsToStep(tr); } } }
private void _removeSignalsFromPlot(SignalTree tree) { if (tree.Signal != null && SelectedSignalPlotPanel.Signals.Contains(tree.Signal)) { SelectedSignalPlotPanel.Signals.Remove(tree.Signal); } else { if (tree.SignalList != null && tree.SignalList.Count > 0) { foreach (var tr in tree.SignalList) { _removeSignalsFromPlot(tr); } } } }
private void _removeSignalsFromStep(SignalTree tree) { if (tree.Signal != null && SelectedStep.InputChannels.Contains(tree.Signal)) { SelectedStep.RemoveSignal(tree.Signal); } else { if (tree.SignalList != null && tree.SignalList.Count > 0) { foreach (var tr in tree.SignalList) { _removeSignalsFromStep(tr); } } } }
private void _updatePlot(SignalTree obj) { var tree = obj as SignalTree; if (SelectedSignalPlotPanel != null) { var needToUpdate = true; if ((bool)tree.IsChecked) { //check to see if newly added signal has the same sampling rate as the already drawn ones. if (SelectedSignalPlotPanel.Signals.Count > 0) { needToUpdate = _checkFreq(SelectedSignalPlotPanel.Signals[0].SamplingRate, tree); } if (needToUpdate) { //add signals to plot's signal list _addSignalsToPlot(tree); } } else { //remove signals from plot's signal list _removeSignalsFromPlot(tree); } if (needToUpdate) { _drawSignals(); if (SelectedSignalPlotPanel.Signals.Count > 0 && InspectionAnalysisParams.Fs != SelectedSignalPlotPanel.Signals[0].SamplingRate) { InspectionAnalysisParams.Fs = SelectedSignalPlotPanel.Signals[0].SamplingRate; } } else { MessageBox.Show("Selected signal has a different sampling rate than the plotted ones."); } } else { MessageBox.Show("No plot is selected to add signal."); tree.ChangeIsCheckedStatus(false); tree.CheckDirectParent(); } }
private bool _checkFreq(int samplingRate, SignalTree tree) { if (tree.Signal != null) { return(tree.Signal.SamplingRate == samplingRate); } else { if (tree.SignalList != null && tree.SignalList.Count > 0) { return(_checkFreq(samplingRate, tree.SignalList[0])); } else { return(false); } } }
private void _updateSignals(SignalTree e) { SignalTree tree = e as SignalTree; if (SelectedStep != null) { if ((bool)tree.IsChecked) { _addSignalsToStep(tree); } else { //remove signals from plot's signal list _removeSignalsFromStep(tree); } } else { MessageBox.Show("No step is selected to add signal."); tree.ChangeIsCheckedStatus(false); tree.CheckDirectParent(); } }
private void _signalCheckStatusChanged(SignalTree e) { //MessageBox.Show("Draw signals now!"); _updatePlot(e); }