static void Main() { BlockingCollection <double> rawCollection = new BlockingCollection <double>(); BlockingCollection <double> graphCollection = new BlockingCollection <double>(); BlockingCollection <double> calibrationCollection = new BlockingCollection <double>(); BlockingCollection <double> alarmCollection = new BlockingCollection <double>(); BlockingCollection <double> filterCollection = new BlockingCollection <double>(); DAQ daq = new DAQ(); ConvertAlgo convertAlgo = new ConvertAlgo(); BloodPressureAlgo bpAlgo = new BloodPressureAlgo(); PulseAlgo pulseAlgo = new PulseAlgo(); IDAQ transducerdaq = new TransducerDAQ(daq, rawCollection, calibrationCollection); IData data = new Database(); IAlarmType alarmType = new HighAlarm(); ILimits limits = new UC9S5_Limits(); IAlarm alarm = new UC5S1_Alarm(alarmCollection, limits, alarmType, bpAlgo); IFilter filter = new UC7S3_Filter(filterCollection, data, convertAlgo); UC1M1_ZeroAdjustment uc1 = new UC1M1_ZeroAdjustment(calibrationCollection, transducerdaq); DataTreatment dataTreatment = new DataTreatment(rawCollection, graphCollection, filterCollection, alarmCollection, convertAlgo, data, alarm, uc1); IMeasure measurement = new UC2M2_UC3M3_Measure(transducerdaq, dataTreatment, alarm, filter); ICalibrate calibrate = new UC6S2_Calibrate(calibrationCollection, transducerdaq, data); IZeroAdjustment zero = new UC1M1_ZeroAdjustment(calibrationCollection, transducerdaq); IPulse pulse = new UC8S4_Pulse(dataTreatment, pulseAlgo); ISave save = new UC4M4_SaveData(data, dataTreatment); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ZeroAdjustmentGUI zeroAdjustment = new ZeroAdjustmentGUI(zero); CalibrateGUI calibrateGUI = new CalibrateGUI(calibrate, measurement); LoginToCalibrateGUI login = new LoginToCalibrateGUI(calibrateGUI); SaveDataGUI saveGUI = new SaveDataGUI(save); ChangeLimitsGUI limitsGUI = new ChangeLimitsGUI(limits); MainGUI gui = new MainGUI(dataTreatment, measurement, login, zeroAdjustment, alarm, pulse, bpAlgo, filter, saveGUI, limitsGUI, calibrateGUI); Application.Run(gui); }
public MainGUI(DataTreatment data, ZeroAdjustmentGUI zeroAdjustmentGui, IFilter filterRef, BloodPressureAlgo bloodPressureAlgoRef, PulseAlgo pulseAlgoRef, IPulse iPulseRef, LoginToCalibrateGUI login) { InitializeComponent(); zeroAdjustmentGUIRef = zeroAdjustmentGui; BloodPressureAlgoRef = bloodPressureAlgoRef; PulseAlgoRef = pulseAlgoRef; PulseRef = iPulseRef; loginGUIRef = login; this.Visible = false; // Vinduet skjules til en start, og kommer kun frem hvis nulpunktsjusteringen foretages zeroAdjustmentGUIRef.ShowDialog(); if (zeroAdjustmentGUIRef.IsZeroAdjustmentMeasured == true) { this.Visible = true; StartB.Enabled = true; // knappen er til at starte med ikke enable, bliver først hvis nulpunktsjusteringen udføres } else { this.Close(); // denne skal være der for at man ikke bare kan lukke login vinduet og så vil hovedvinduet komme frem, den vil nu lukke } muteAlarmWorker = new BackgroundWorker(); muteAlarmWorker.DoWork += new DoWorkEventHandler(muteAlarmWorker_muteAlarm); // Her ændres metoden doWork til det vi vil have den til. muteAlarmWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(muteAlarmWorker_completeMute); // Her ændres completemetoden til det vi vil have den til. alarmType = new HighAlarm(); ActiveAlarm = new BackgroundWorker(); ActiveAlarm.DoWork += new DoWorkEventHandler(ActiveAlarmUpdate_doWork); ActiveAlarm.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DeactiveAlarmUpdate); dataTreatment = data; dataTreatment.Attach(this); // metoden findes ikke (virker nu da IDataTreatment er udkommenteret, og det isetdet er DataTreatment vi kalder igennem) graphList = new List <ConvertedData>(); //filterRef = new UC7S3_Filter(); FilterRef = filterRef; }
public UC8S4_Pulse(DataTreatment _dataTreatment, PulseAlgo pulse) { dataTreatment = _dataTreatment; pulseAlgorithm = pulse; }