private void sampleLiDARToolStripMenuItem_Click(object sender, EventArgs e) { if (TimeLineWnd == null) { MessageBox.Show("Frame is not selected! Open the TimeLine window and select a frame.", "Frame is not selected", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } List <ILogger> loggers = new List <ILogger>(); loggers.Add(ConsoleLogger); MainForm form = (MainForm)this.MdiParent; ProgressBarWnd wnd = new ProgressBarWnd(); wnd.Text = "Export LiDAR frames..."; loggers.Add(wnd); MultipleLogger logger = new MultipleLogger(loggers); wnd.WriteLine("Export LiDAR frames.."); toolStripProgressBar.Visible = true; DateTime startTime = TimeLineWnd.CurrentTime; startTime = new DateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, startTime.Minute, startTime.Second); wnd.Worker.DoWork += delegate(object senderWorker, DoWorkEventArgs eWorker) { try { for (int k = 0; k < 100; k++) { wnd.CancelTokenSource.Token.ThrowIfCancellationRequested(); DateTime currentTime = startTime.AddSeconds(k); wnd.WriteLine("Time: " + currentTime.ToString("yyyy-MM-hh HH:mm:ss.fff")); this.SampleLiDAR(currentTime, LiDARTransformType.None); } } catch (OperationCanceledException) { logger.WriteLineWarning("User cancelled!"); return; } catch (Exception ex) { logger.WriteLineError("Error occured: " + ex.Message); } logger.WriteLineInfo("done."); }; wnd.Worker.RunWorkerCompleted += delegate(object senderWorker, RunWorkerCompletedEventArgs eWorker) { toolStripProgressBar.Visible = false; }; wnd.ShowDialog(); }
private void updateFileTimesToolStripMenuItem_Click(object sender, EventArgs e) { List <ILogger> loggers = new List <ILogger>(); loggers.Add(ConsoleLogger); MainForm form = (MainForm)this.MdiParent; ProgressBarWnd wnd = new ProgressBarWnd(); wnd.Text = "Updating file times..."; loggers.Add(wnd); MultipleLogger logger = new MultipleLogger(loggers); wnd.WriteLine("Start updating file times: " + projectFolder); toolStripProgressBar.Visible = true; wnd.Worker.DoWork += delegate(object senderWorker, DoWorkEventArgs eWorker) { try { int k = 0; foreach (DataStream stream in Project.DataStreams) { wnd.CancelTokenSource.Token.ThrowIfCancellationRequested(); logger.WriteProgress((++k / (double)Project.DataStreams.Count()) * 100.0); if (stream is ImageDataStream) { logger.WriteLineInfo("Image data stream: " + stream.ShortName); ImageDataStream imageDataStream = stream as ImageDataStream; imageDataStream.UpdateFileTimes(); } if (stream is VideoDataStream) { logger.WriteLineInfo("Image data stream: " + stream.ShortName); VideoDataStream videoDataStream = stream as VideoDataStream; videoDataStream.UpdateFileTimes(); } } } catch (OperationCanceledException) { logger.WriteLineWarning("User cancelled!"); return; } catch (Exception ex) { logger.WriteLineError("Error occured: " + ex.Message); } logger.WriteLineInfo("done."); }; wnd.Worker.RunWorkerCompleted += delegate(object senderWorker, RunWorkerCompletedEventArgs eWorker) { toolStripProgressBar.Visible = false; }; wnd.ShowDialog(); }