/// <summary> /// Edit the checkpoint. /// </summary> /// <param name="sender">The object that raised the event.</param> /// <param name="e">Event arguments.</param> private void item_EditClick(object sender, EventArgs e) { ViewCheckpointItemControl item = sender as ViewCheckpointItemControl; Checkpoint checkpoint = item.Tag as Checkpoint; EditCheckpointWindow dlg = new EditCheckpointWindow(); dlg.Title = "Edit Checkpoint"; dlg.ActionText = "Save"; dlg.FileName = checkpoint.FileName; dlg.LineNumber = checkpoint.LineNumber.ToString(); dlg.Iteration = checkpoint.Iteration; dlg.HeapDump = checkpoint.HeapDump; dlg.ScriptType = checkpoint.ScriptType; dlg.Script = checkpoint.Script; if (App.ShowDialog(dlg)) { using (App.Wait("Saving checkpoint")) { checkpoint.Iteration = dlg.Iteration; checkpoint.HeapDump = dlg.HeapDump; checkpoint.ScriptType = dlg.ScriptType; checkpoint.Script = dlg.Script; Project.Client.Diagnostic.SaveCheckpoint(checkpoint); } } }
/// <summary> /// Delete the checkpoint. /// </summary> /// <param name="sender">The object that raised the event.</param> /// <param name="e">Event arguments.</param> private void item_DeleteClick(object sender, EventArgs e) { if (App.MessageUser( "Are you sure you want to delete this checkpoint?", "Delete checkpoint", System.Windows.MessageBoxImage.Warning, new string[] { "Yes", "No" }) == "Yes") { ViewCheckpointItemControl item = sender as ViewCheckpointItemControl; Checkpoint checkpoint = item.Tag as Checkpoint; using (App.Wait("Deleting checkpoint")) Project.Client.Diagnostic.DeleteCheckpoint(checkpoint); Remove(checkpoint); } }
/// <summary> /// Add a checkpoint to the view. /// </summary> /// <param name="checkpoint">The checkpoint to add.</param> private void Add(Checkpoint checkpoint) { if (checkpoint == null) { throw new ArgumentNullException("checkpoint"); } ViewCheckpointItemControl item = new ViewCheckpointItemControl(); item.FileName = checkpoint.FileName; item.LineNumber = checkpoint.LineNumber.ToString(); item.Tag = checkpoint; item.EditClick += item_EditClick; item.DeleteClick += item_DeleteClick; item.ResultsClick += item_ResultsClick; View.Children.Add(item); }
/// <summary> /// Remove a checkpoint from the view. /// </summary> /// <param name="checkpoint">The checkpoint to remove.</param> private void Remove(Checkpoint checkpoint) { if (checkpoint == null) { throw new ArgumentNullException("checkpoint"); } for (int i = 0; i < View.Children.Count; i++) { ViewCheckpointItemControl item = View.Children[i] as ViewCheckpointItemControl; if (checkpoint.Id == (item.Tag as Checkpoint).Id) { item.EditClick += item_EditClick; item.DeleteClick += item_DeleteClick; item.ResultsClick += item_ResultsClick; View.Children.RemoveAt(i); break; } } }