private void dataStreamList_DoubleClick(object sender, EventArgs e) { DataStream dataStream = (DataStream)dataStreamList.SelectedItem; if (dataStream.DataLines.Count == 0) { Logger.WriteLineWarning("No file for " + dataStream.ShortName); MessageBox.Show("No file for " + dataStream.ShortName, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (dataStreamList.SelectedItem is VideoDataStream) { VideoDataStream videoDataStream = dataStreamList.SelectedItem as VideoDataStream; VideoStreamWnd wnd = new VideoStreamWnd(videoDataStream, Logger); wnd.MdiParent = this.MdiParent; wnd.Show(); } else if (dataStreamList.SelectedItem is ImageDataStream) { ImageDataStream imageDataStream = dataStreamList.SelectedItem as ImageDataStream; ImageStreamWnd wnd = new ImageStreamWnd(imageDataStream, Logger); wnd.MdiParent = this.MdiParent; wnd.Show(); } else if (dataStreamList.SelectedItem is VelodyneDataStream) { VelodyneDataStream velodyneDataStream = dataStreamList.SelectedItem as VelodyneDataStream; if (velodyneDataStream.HasIndexedFiles() == false) { DialogResult result = MessageBox.Show("No index file for " + dataStream.ShortName + "! Do you want to create index file?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.No) { return; } ConvertVelodyneDataStream(velodyneDataStream); } else { VelodyneStreamWnd wnd = new VelodyneStreamWnd(velodyneDataStream, Logger); wnd.MdiParent = this.MdiParent; wnd.Show(); } } else if (dataStreamList.SelectedItem is GPSDataStream) { GPSDataStream gpsDataStream = dataStreamList.SelectedItem as GPSDataStream; GPSDataStreamWnd wnd = new GPSDataStreamWnd(gpsDataStream, Logger); wnd.MdiParent = this.MdiParent; wnd.Show(); } }