/// <summary> /// Open a capture /// </summary> private void OpenCapture() { OpenFileDialog ofd = new OpenFileDialog() { Filter = "Visualizer Captures (*.vcap)|*.vcap", Multiselect = false }; if (ofd.ShowDialog() == true) { Stream strm = null; try { strm = ofd.File.OpenRead(); XmlSerializer xsz = new XmlSerializer(typeof(VisualizationCollection)); m_currentCapture = xsz.Deserialize(strm) as VisualizationCollection; m_currentCapture.IsSaved = true; (PlaybackMenu.MenuPanel.FindName("btnReplay") as FrameworkElement).Visibility = Visibility.Visible; (PlaybackMenu.MenuPanel.FindName("btnSpeed") as FrameworkElement).Visibility = Visibility.Visible; // No diagram showing, so allow the user to pick one if (m_currentDiagram == null) { ShowDiagramSelector(); } RewindPlayback(); } catch (Exception e) { generalErrorAlert.Content = String.Format("Error occurred saving the file : {0}", e.Message); generalErrorAlert.Visibility = System.Windows.Visibility.Visible; } finally { if (strm != null) { strm.Close(); } } } }
/// <summary> /// Go back /// </summary> private void eraseCaptureStatus_OnAccept(object sender, EventArgs e) { m_currentCapture = null; ShowCaptureMenu(); }
/// <summary> /// Menu item has been clicked /// </summary> private void PopperMenu_MenuItemClicked(object sender, EHRS.Silverlight.MenuItemClickedEventArgs e) { switch (e.MenuItem.Name) { case "btnHelp": sbShowHelp.Begin(); if (aboutText.Blocks.Count == 0) { LoadAboutText(); } aboutText.Selection.Select(aboutText.ContentStart, aboutText.ContentStart); break; case "btnSave": SaveCapture(); break; case "btnOpen": OpenCapture(); break; case "btnDiagram": ShowDiagramSelector(); break; case "btnSpeed": if ((e.MenuItem as ToggleButton).IsChecked.Value) { m_inSpeedMode = 1000; } else { m_inSpeedMode = 100; } if ((PlaybackMenu.FindName("btnReplay") as ToggleButton).IsChecked.Value) { m_playbackTimer.Change(m_inSpeedMode, m_inSpeedMode); } break; case "btnReplay": if ((e.MenuItem as ToggleButton).IsChecked.Value) { StartPlayback(); } else { StopPlayback(); } break; case "btnServer": ShowServerSelector(); break; case "btnPlaybackMode": ShowPlaybackMenu(); break; case "btnCaptureMode": if (m_currentCapture != null) { StopPlayback(); eraseCaptureStatus.Visibility = System.Windows.Visibility.Visible; } else { ShowCaptureMenu(); } break; case "btnRecord": if (m_currentCapture != null && !(e.MenuItem as ToggleButton).IsChecked.Value) { RepeatButton rp = CaptureMenu.MenuPanel.FindName("btnPlaybackMode") as RepeatButton; rp.Visibility = System.Windows.Visibility.Visible; ShowPlaybackMenu(); } else if ((e.MenuItem as ToggleButton).IsChecked.Value) { RepeatButton rp = CaptureMenu.MenuPanel.FindName("btnPlaybackMode") as RepeatButton; rp.Visibility = System.Windows.Visibility.Collapsed; m_currentCapture = new VisualizationCollection(); } break; } }