Inheritance: INotifyPropertyChanged
Example #1
0
        public ModulePanel()
        {
            InitializeComponent();
            var ecgBaseline = new ModuleOption(AvailableOptions.ECG_BASELINE, this);

            ecgBaseline.
                AddSuboptionAndMoveDown(AvailableOptions.R_PEAKS).
                    AddSuboption(AvailableOptions.HRV1).
                    AddSuboption(AvailableOptions.HRV2).
                    AddSuboptionAndMoveDown(AvailableOptions.WAVES).
                        AddSuboption(AvailableOptions.ST_SEGMENT).
                        AddSuboption(AvailableOptions.T_WAVE_ALT).
                        AddSuboption(AvailableOptions.SLEEP_APNEA).
                        AddSuboptionAndMoveDown(AvailableOptions.HEART_CLASS).
                            AddSuboption(AvailableOptions.HRT).
                            AddSuboptionAndMoveUp(AvailableOptions.HEART_AXIS).
                        AddSuboption(AvailableOptions.ATRIAL_FIBER).
                        AddSuboption(AvailableOptions.QT_DISP).
                        AddSuboptionAndMoveUp(AvailableOptions.FLUTTER).
                    AddSuboption(AvailableOptions.HRV_DFA).
                    AddSuboptionAndMoveUp(AvailableOptions.SIG_EDR);

            var testModule = new ModuleOption(AvailableOptions.TEST_MODULE, this);
            Options.Add(ecgBaseline);
            Options.Add(testModule);
            this.treeViewModules.ItemsSource = this.Options;
        }
Example #2
0
        public ModuleOption(AvailableOptions code, ModulePanel panel, ModuleOption parent = null)
        {
            this.Code = code;
            this.Name = code.ToString();
            this.Set = false;
            this.Parent = parent;
            this.Panel = panel;
            this.AnalysisName = panel.AnalysisName;

            switch (this.Code)
            {
                case AvailableOptions.ECG_BASELINE:
                    this.ModuleParam = new ECG_Baseline_Params();
                    panel.OptionParams[this] = this.ModuleParam;
                    panel.Params[this.Code] = this.ModuleParam;
                    break;
                case AvailableOptions.R_PEAKS:
                    this.ModuleParam = new R_Peaks_Params(R_Peaks_Method.EMD, this.getAnalysisName());
                    panel.OptionParams[this] = this.ModuleParam;
                    panel.Params[this.Code] = this.ModuleParam;
                    break;
                case AvailableOptions.WAVES:
                    this.ModuleParam = new Waves_Params();
                    panel.OptionParams[this] = this.ModuleParam;
                    panel.Params[this.Code] = this.ModuleParam;
                    break;
                case AvailableOptions.ATRIAL_FIBER:
                    this.ModuleParam = new Atrial_Fibr_Params(Detect_Method.POINCARE);
                    panel.OptionParams[this] = this.ModuleParam;
                    panel.Params[this.Code] = this.ModuleParam;
                    break;
                default:
                    this.ModuleParam = null;
                    break;
            }
        }
Example #3
0
        public List<ModuleOption> getSuboptions(ModuleOption option, List<ModuleOption> currentOptions)
        {
            currentOptions.Add(option);

            if (option.Suboptions.Any())
            {
                foreach (var suboption in option.Suboptions)
                {
                    currentOptions = getSuboptions(suboption, currentOptions);
                }
            }
            return currentOptions;
        }
Example #4
0
 public ModuleOption AddSuboptionAndMoveDown(AvailableOptions code)
 {
     var suboption = new ModuleOption(code, this.Panel, this);
     this.Suboptions.Add(suboption);
     return suboption;
 }