public AnalysisControlTest(ProcessSync communication, Window_ECG parent, TabItem parentTab, SynchronizationContext context) { _context = context; _communication = communication; _analysisEvent = new ToGUIDelegate(analysisEventHandler); _communication.ToGUIEvent += _analysisEvent; _parent = parent; _parentTab = parentTab; InitializeComponent(); }
private TabItem addTabItem() { int count = _tabContainer.TabItems.Count; NewAnalysisDialogBox analysisNameDialogBox = new NewAnalysisDialogBox(string.Format("Analysis {0}", count)); analysisNameDialogBox.ShowDialog(); if (analysisNameDialogBox.DialogResult == true) { if (!_tabContainer.AnalysisNames.Contains(analysisNameDialogBox.Answer)) { TabItem tab = tab = new TabItem(); tab.Header = analysisNameDialogBox.Answer; tab.Name = string.Format("analysis{0}", count); tab.HeaderTemplate = analysisTabControl.FindResource("tabHeader") as DataTemplate; _tabContainer.AnalysisNames.Add(analysisNameDialogBox.Answer); ProcessSync communication = new ProcessSync(); _tabContainer.CommunicationList.Insert(count - 1, communication); UserControl analysisControl = new AnalysisControl(communication, this, tab, _context, analysisNameDialogBox.Answer); _tabContainer.AnalysisControlList.Insert(count - 1, analysisControl); tab.Content = analysisControl; Processing ecgAnalysis = new Processing(communication); Thread analysisThread = new Thread(ecgAnalysis.run); _tabContainer.ThreadList.Insert(count - 1, analysisThread); analysisThread.Start(); _tabContainer.TabItems.Insert(count - 1, tab); return tab; } else { MessageBox.Show("Same analysis already exists."); addSelected = false; return null; } } else { addSelected = false; return null; } }
public Processing(ProcessSync communication) { this._communication = communication; TimeoutState = new Idle(5); Stop = false; }
public AnalysisControl(ProcessSync communication, Window_ECG parent, TabItem parentTab, SynchronizationContext context, string analysisName) : this(communication, parent, parentTab, context) { this.AnalysisName = analysisName; }