#region License
/**
* Ingenious MVC : An MVC framework for .NET 2.0
* Copyright (C) 2006, JDP Group
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: - Kent Boogaart (kentcb@internode.on.net)
*/
#endregion
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Ingenious.Mvc.Configuration;
using Microsoft.VisualStudio.DebuggerVisualizers;
namespace Ingenious.Mvc.Visualizers{
public sealed class TaskVisualizer : DialogDebuggerVisualizer
{
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
Task task = objectProvider.GetObject() as Task;
if (task == null)
{
MessageBox.Show("Task is null - unable to visualize.");
return;
}
if (task.Manager == null)
{
MessageBox.Show("Task has no manager - unable to visualize.");
return;
}
using (VisualizerHostForm hostForm = new VisualizerHostForm())
{
hostForm.Text = "Ingenious MVC Task Visualizer";
TaskManagerUserControl taskManagerUserControl = hostForm.SetHostedControl<TaskManagerUserControl>();
taskManagerUserControl.TaskManager = task.Manager;
taskManagerUserControl.SelectedTask = task;
windowService.ShowDialog(hostForm);
}
}
internal static void ShowVisualizer(object objectToVisualize)
{
VisualizerDevelopmentHost host = new VisualizerDevelopmentHost(objectToVisualize, typeof(TaskVisualizer));
host.ShowVisualizer();
}
}
}
|