protected override void OnLoad(EventArgs e) { base.OnLoad(e); // skip if file is not specified if (!FileHandler.available()) { return; } // read sample rate sampleRate = FileHandler.readSampleRate(); slider1.sampleRate = sampleRate; // set default settings Settings set = Settings.instance(); slider1.seek = set.lastSeek; slider1.blocks = set.lastBlocks; slider1.perPage = set.perPage; slider1.page = (long)(slider1.seek / slider1.perPage); slider1.blocksCount = FileHandler.blocksCount(); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); // skip if file not loaded if (!FileHandler.available()) { return; } // read sample rate from file sampleRate = FileHandler.readSampleRate(); graph1.sampleRate = sampleRate; slider1.sampleRate = sampleRate; // read settings Settings set = Settings.instance(); slider1.seek = set.lastSeek; slider1.blocks = set.lastBlocks; slider1.perPage = set.perPage; slider1.page = (long)(slider1.seek / slider1.perPage); slider1.blocksCount = FileHandler.blocksCount(); // config zoom and start point graph1.start = set.lastOffset; graph1.zoom = set.lastZoom; graph1.detection = set.detection; graph1.detectST = set.detectST; // load filtered samples graph1.samples = FileHandler.load(slider1); graph1.ecgid = FileHandler.id; slider1.critical = graph1.ecgid.critical; slider1.s2 = graph1.ecgid.starttimeSec; graph1.s2 = slider1.seek * 56.0f / slider1.sampleRate; slider1.Refresh(); graph1.Refresh(); // on scroll changes graph1.onChange = () => { if (!FileHandler.available()) { return; } set = Settings.instance(); set.lastOffset = graph1.start; set.lastZoom = graph1.zoom; set.commit(); }; // on slider position changes slider1.onChange = () => { if (!FileHandler.available()) { return; } set = Settings.instance(); set.lastSeek = slider1.seek; set.lastBlocks = slider1.blocks; set.perPage = slider1.perPage; graph1.samples = FileHandler.load(slider1); slider1.critical = FileHandler.id.critical; graph1.zoom = slider1.blocks * 56.0f / slider1.sampleRate; graph1.s2 = slider1.seek * 56.0f / slider1.sampleRate; if (slider1.seek < 0) { graph1.start = slider1.seek * 56.0f / slider1.sampleRate; } else { graph1.start = 0; } graph1.detection = set.detection; graph1.detectST = set.detectST; set.commit(); if (graph1.samples.Count < graph1.zoom * sampleRate) { graph1.zoom = (float)graph1.samples.Count / (float)sampleRate; } graph1.Refresh(); }; }
void run() { progressBar1.Minimum = 0; progressBar1.Maximum = 100; if (!FileHandler.available()) { return; } EcgStatistic set = FileHandler.id; if (set.critical == null) { set.critical = new List <long>(); } long len = FileHandler.blocksCount(); long i0 = 0; if (set.critical.Count > 2) { i0 = set.critical[set.critical.Count - 1] + 1; } for (long i = i0; i < len; i++) { FileHandler.setPosition(i); if (FileHandler.remainingBlocks() < 2) { break; } int sdm = FileHandler.io.ReadByte(); if (sdm == 170) { set.critical.Add(i); } progressBar1.Value = (int)((float)i / (float)len * 100.0f); progressBar1.Refresh(); } XmlClass <EcgStatistic> .Save(set, FileHandler.p + ".xml", SerializedFormat.Document); listBox1.Items.Clear(); if (set.critical != null) { foreach (var l in set.critical) { time t = new time(); t.block = l; t.sampleRate = main.graph1.sampleRate; t.s2 = FileHandler.id.starttimeSec; listBox1.Items.Add(t); } } progressBar1.Value = 0; progressBar1.Refresh(); MessageBox.Show("finish!"); }