コード例 #1
0
        /// <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);
                }
            }
        }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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;
                }
            }
        }