← Back to team overview

nunit-core team mailing list archive

[Merge] lp:~anuraj.p/nunitv2/find-tests into lp:nunitv2

 

Anuraj P has proposed merging lp:~anuraj.p/nunitv2/find-tests into lp:nunitv2.

Requested reviews:
  NUnit Core Developers (nunit-core)

For more details, see:
https://code.launchpad.net/~anuraj.p/nunitv2/find-tests/+merge/118871

Find test implemented in the UI.
-- 
https://code.launchpad.net/~anuraj.p/nunitv2/find-tests/+merge/118871
Your team NUnit Core Developers is requested to review the proposed merge of lp:~anuraj.p/nunitv2/find-tests into lp:nunitv2.
=== added file 'src/GuiComponents/UiKit/FindTextBox.cs'
--- src/GuiComponents/UiKit/FindTextBox.cs	1970-01-01 00:00:00 +0000
+++ src/GuiComponents/UiKit/FindTextBox.cs	2012-08-09 05:13:22 +0000
@@ -0,0 +1,145 @@
+using System;
+using System.Windows.Forms;
+
+namespace NUnit.UiKit
+{
+    public partial class FindTextBox : UserControl
+    {
+        #region Designer class
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FindTextBox));
+            this.FindTextControlsPanel = new System.Windows.Forms.TableLayoutPanel();
+            this.FindTestButton = new System.Windows.Forms.PictureBox();
+            this.TestNameTextBox = new System.Windows.Forms.TextBox();
+            this.FindTextControlsPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.FindTestButton)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // FindTextControlsPanel
+            // 
+            this.FindTextControlsPanel.ColumnCount = 2;
+            this.FindTextControlsPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.FindTextControlsPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
+            this.FindTextControlsPanel.Controls.Add(this.FindTestButton, 1, 0);
+            this.FindTextControlsPanel.Controls.Add(this.TestNameTextBox, 0, 0);
+            this.FindTextControlsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.FindTextControlsPanel.Location = new System.Drawing.Point(0, 0);
+            this.FindTextControlsPanel.Name = "FindTextControlsPanel";
+            this.FindTextControlsPanel.RowCount = 1;
+            this.FindTextControlsPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.FindTextControlsPanel.Size = new System.Drawing.Size(221, 27);
+            this.FindTextControlsPanel.TabIndex = 0;
+            // 
+            // FindTestButton
+            // 
+            this.FindTestButton.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.FindTestButton.Image = ((System.Drawing.Image)(resources.GetObject("FindTestButton.Image")));
+            this.FindTestButton.Location = new System.Drawing.Point(202, 3);
+            this.FindTestButton.Name = "FindTestButton";
+            this.FindTestButton.Size = new System.Drawing.Size(16, 21);
+            this.FindTestButton.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
+            this.FindTestButton.TabIndex = 5;
+            this.FindTestButton.TabStop = false;
+            this.FindTestButton.Click += new System.EventHandler(this.FindTestButton_Click);
+            // 
+            // TestNameTextBox
+            // 
+            this.TestNameTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.TestNameTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.TestNameTextBox.Location = new System.Drawing.Point(3, 3);
+            this.TestNameTextBox.Name = "TestNameTextBox";
+            this.TestNameTextBox.Size = new System.Drawing.Size(193, 20);
+            this.TestNameTextBox.TabIndex = 4;
+            this.TestNameTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TestNameTextBox_KeyDown);
+            // 
+            // FindTextBox
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.FindTextControlsPanel);
+            this.Name = "FindTextBox";
+            this.Size = new System.Drawing.Size(221, 27);
+            this.FindTextControlsPanel.ResumeLayout(false);
+            this.FindTextControlsPanel.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.FindTestButton)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.TableLayoutPanel FindTextControlsPanel;
+        private System.Windows.Forms.TextBox TestNameTextBox;
+        private System.Windows.Forms.PictureBox FindTestButton;
+        #endregion
+        public event KeyEventHandler FindTextBoxKeydown;
+
+        public FindTextBox()
+        {
+            InitializeComponent();
+        }
+
+        private void TestNameTextBox_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (null != FindTextBoxKeydown)
+            {
+                FindTextBoxKeydown(this, e);
+            }
+        }
+
+        private void FindTestButton_Click(object sender, EventArgs e)
+        {
+            if (null != FindTextBoxKeydown)
+            {
+                FindTextBoxKeydown(this, new KeyEventArgs(Keys.Enter));
+            }
+        }
+
+        public string TestName
+        {
+            get
+            {
+                return TestNameTextBox.Text;
+            }
+            set
+            {
+                TestNameTextBox.Text = value;
+            }
+        }
+
+        public void SetFocusOnTestName()
+        {
+            if (TestNameTextBox.CanFocus)
+            {
+                TestNameTextBox.Focus();
+            }
+        }
+    }
+}

=== added file 'src/GuiComponents/UiKit/FindTextBox.resx'
--- src/GuiComponents/UiKit/FindTextBox.resx	1970-01-01 00:00:00 +0000
+++ src/GuiComponents/UiKit/FindTextBox.resx	2012-08-09 05:13:22 +0000
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"; />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="FindTestButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABwElEQVQ4T52RvUuqcRTHf39D
+        /0FT0NgYRGMNDrZ4QVzCLYdLSHcxsXC5SCUOPU6OdxAJvBIIORQYhO8OoojvGAriS76BuXw75wde9OGp
+        Ww0feDjnfM7L7xE+n098gJFyd0SP6BBh4mC5Xni9Xi02Ka5EIhHUajUMh0NJtVpFOBwG54h1doXH49FC
+        SafTmEwmaLVaKBaLkna7LWPxeBzkKewKl8ulxhgKhTAajZDL5ZBMJqXApFIpFAoFjMdjBAIBkGsUTqdT
+        TbRUKqHZbCKbzSKTyazAMd6Ka8iNCpvNpuaV7y2Xy3KaFpVKBb1eD+S+CKvVqkY2qNfr8tG0aDQaGAwG
+        IHcsLBaLmmg+n5cTeFUt+v2+fB9yH4TZbF7hxOa+od+D2WwGLuRGy/BkzrndbpD7Q5hMpn/8vr4/O7p6
+        gt3lRTAYxHw+l8X866bTqfzmmN/vB3kKu8JgMEgW8k2ii53TNPYOnXA4HEgkEuh2u+h0OojFYrDb7aB6
+        hVhjT+j1+hV5+7yKreNHbOxe4Oevyz+UvyXaxDPxl9hnZ8G7Mm+k0+nE/xB8M6+9PPmzMjcXWwe335Zl
+        A57G9zJfmbw47Q2P0VAcHdoMQgAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>
\ No newline at end of file

=== added file 'src/GuiComponents/UiKit/Images/Tree/search.png'
Binary files src/GuiComponents/UiKit/Images/Tree/search.png	1970-01-01 00:00:00 +0000 and src/GuiComponents/UiKit/Images/Tree/search.png	2012-08-09 05:13:22 +0000 differ
=== modified file 'src/GuiComponents/UiKit/TestTree.cs'
--- src/GuiComponents/UiKit/TestTree.cs	2012-07-21 20:00:21 +0000
+++ src/GuiComponents/UiKit/TestTree.cs	2012-08-09 05:13:22 +0000
@@ -1,133 +1,152 @@
-// ****************************************************************
-// This is free software licensed under the NUnit license. You
-// may obtain a copy of the license as well as information regarding
-// copyright ownership at http://nunit.org.
-// ****************************************************************
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Windows.Forms;
-using NUnit.Core;
-using NUnit.Util;
-
-namespace NUnit.UiKit
-{
-	public delegate void SelectedTestsChangedEventHandler(object sender, SelectedTestsChangedEventArgs e);
-	/// <summary>
-	/// Summary description for TestTree.
-	/// </summary>
-	public class TestTree : System.Windows.Forms.UserControl
-	{
-		#region Instance Variables
-
-		// Contains all available categories, whether
-		// selected or not. Unselected members of this
-		// list are displayed in selectedList
-		private IList availableCategories = new List<string>();
-
-		// Our test loader
-		private TestLoader loader;
-
-		private System.Windows.Forms.TabControl tabs;
-		private System.Windows.Forms.TabPage testPage;
-		private System.Windows.Forms.TabPage categoryPage;
-		private System.Windows.Forms.Panel testPanel;
-		private System.Windows.Forms.Panel categoryPanel;
-		private System.Windows.Forms.Panel treePanel;
-		private System.Windows.Forms.Panel buttonPanel;
-		private NUnit.UiKit.TestSuiteTreeView tests;
-		private System.Windows.Forms.GroupBox groupBox1;
-		private System.Windows.Forms.ListBox availableList;
-		private System.Windows.Forms.GroupBox selectedCategories;
-		private System.Windows.Forms.ListBox selectedList;
-		private System.Windows.Forms.Panel categoryButtonPanel;
-		private System.Windows.Forms.Button addCategory;
-		private System.Windows.Forms.Button removeCategory;
-		private System.Windows.Forms.Button clearAllButton;
-		private System.Windows.Forms.Button checkFailedButton;
-		private System.Windows.Forms.MenuItem treeMenu;
-		private System.Windows.Forms.MenuItem checkBoxesMenuItem;
-		private System.Windows.Forms.MenuItem treeMenuSeparatorItem1;
-		private System.Windows.Forms.MenuItem expandMenuItem;
-		private System.Windows.Forms.MenuItem collapseMenuItem;
-		private System.Windows.Forms.MenuItem treeMenuSeparatorItem2;
-		private System.Windows.Forms.MenuItem expandAllMenuItem;
-		private System.Windows.Forms.MenuItem collapseAllMenuItem;
-		private System.Windows.Forms.MenuItem hideTestsMenuItem;
-		private System.Windows.Forms.MenuItem treeMenuSeparatorItem3;
-		private System.Windows.Forms.MenuItem propertiesMenuItem;
-		private System.Windows.Forms.CheckBox excludeCheckbox;
-
-		/// <summary> 
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		#endregion
-
-		#region Properties
-
-		public MenuItem TreeMenu 
-		{
-			get { return treeMenu; }
-		}
-
-		public string[] SelectedCategories
-		{
-			get
-			{
-				int n = this.selectedList.Items.Count;
-				string[] categories = new string[n];
-				for( int i = 0; i < n; i++ )
-					categories[i] = this.selectedList.Items[i].ToString();
-				return categories;
-			}
-		}
-
-		[Browsable(false)]
-		public bool ShowCheckBoxes
-		{
-			get { return tests.CheckBoxes; }
-			set 
-			{ 
-				tests.CheckBoxes = value;
-				buttonPanel.Visible	= value;
-				clearAllButton.Visible = value;
-				checkFailedButton.Visible = value;
-				checkBoxesMenuItem.Checked = value;
-			}
-		}
-		#endregion
-
-		#region Construction and Initialization
-
-		public TestTree()
-		{
-			// This call is required by the Windows.Forms Form Designer.
-			InitializeComponent();
-			treeMenu = new MenuItem();
-			this.checkBoxesMenuItem = new System.Windows.Forms.MenuItem();
-			this.treeMenuSeparatorItem1 = new System.Windows.Forms.MenuItem();
-			this.expandMenuItem = new System.Windows.Forms.MenuItem();
-			this.collapseMenuItem = new System.Windows.Forms.MenuItem();
-			this.treeMenuSeparatorItem2 = new System.Windows.Forms.MenuItem();
-			this.expandAllMenuItem = new System.Windows.Forms.MenuItem();
-			this.collapseAllMenuItem = new System.Windows.Forms.MenuItem();
-			this.hideTestsMenuItem = new System.Windows.Forms.MenuItem();
-			this.treeMenuSeparatorItem3 = new System.Windows.Forms.MenuItem();
-			this.propertiesMenuItem = new System.Windows.Forms.MenuItem();
-
-			// 
-			// treeMenu
-			// 
-			this.treeMenu.MergeType = MenuMerge.Add;
-			this.treeMenu.MergeOrder = 1;
-			this.treeMenu.MenuItems.AddRange(
-				new System.Windows.Forms.MenuItem[] 
+// ****************************************************************
+// This is free software licensed under the NUnit license. You
+// may obtain a copy of the license as well as information regarding
+// copyright ownership at http://nunit.org.
+// ****************************************************************
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+using NUnit.Core;
+using NUnit.Util;
+
+namespace NUnit.UiKit
+{
+    public delegate void SelectedTestsChangedEventHandler(object sender, SelectedTestsChangedEventArgs e);
+    /// <summary>
+    /// Summary description for TestTree.
+    /// </summary>
+    public class TestTree : System.Windows.Forms.UserControl
+    {
+        #region Instance Variables
+
+        // Contains all available categories, whether
+        // selected or not. Unselected members of this
+        // list are displayed in selectedList
+        private IList availableCategories = new List<string>();
+
+        // Our test loader
+        private TestLoader loader;
+
+        private System.Windows.Forms.TabControl tabs;
+        private System.Windows.Forms.TabPage testPage;
+        private System.Windows.Forms.TabPage categoryPage;
+        private System.Windows.Forms.Panel testPanel;
+        private System.Windows.Forms.Panel categoryPanel;
+        private System.Windows.Forms.Panel buttonPanel;
+        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.ListBox availableList;
+        private System.Windows.Forms.GroupBox selectedCategories;
+        private System.Windows.Forms.ListBox selectedList;
+        private System.Windows.Forms.Panel categoryButtonPanel;
+        private System.Windows.Forms.Button addCategory;
+        private System.Windows.Forms.Button removeCategory;
+        private System.Windows.Forms.Button clearAllButton;
+        private System.Windows.Forms.Button checkFailedButton;
+        private System.Windows.Forms.MenuItem treeMenu;
+        private System.Windows.Forms.MenuItem checkBoxesMenuItem;
+        private System.Windows.Forms.MenuItem treeMenuSeparatorItem1;
+        private System.Windows.Forms.MenuItem expandMenuItem;
+        private System.Windows.Forms.MenuItem collapseMenuItem;
+        private System.Windows.Forms.MenuItem treeMenuSeparatorItem2;
+        private System.Windows.Forms.MenuItem expandAllMenuItem;
+        private System.Windows.Forms.MenuItem collapseAllMenuItem;
+        private System.Windows.Forms.MenuItem hideTestsMenuItem;
+        private System.Windows.Forms.MenuItem treeMenuSeparatorItem3;
+        private System.Windows.Forms.MenuItem propertiesMenuItem;
+        private System.Windows.Forms.CheckBox excludeCheckbox;
+
+        #endregion
+        private Panel treePanel;
+        private TestSuiteTreeView tests;
+        private FindTextBox FindTestTextBox;
+        private IContainer components;
+
+        #region Properties
+
+        public MenuItem TreeMenu
+        {
+            get { return treeMenu; }
+        }
+
+        public string[] SelectedCategories
+        {
+            get
+            {
+                int n = this.selectedList.Items.Count;
+                string[] categories = new string[n];
+                for (int i = 0; i < n; i++)
+                    categories[i] = this.selectedList.Items[i].ToString();
+                return categories;
+            }
+        }
+
+        [Browsable(false)]
+        public TreeNodeCollection TestNodes
+        {
+            get
+            {
+                return this.tests.Nodes;
+            }
+        }
+
+        public bool IsFindVisible
+        {
+            get
+            {
+                return FindTestTextBox.Visible;
+            }
+            set
+            {
+                FindTestTextBox.Visible = value;
+                FindTestTextBox.SetFocusOnTestName();
+            }
+        }
+
+        [Browsable(false)]
+        public bool ShowCheckBoxes
+        {
+            get { return tests.CheckBoxes; }
+            set
+            {
+                tests.CheckBoxes = value;
+                buttonPanel.Visible = value;
+                clearAllButton.Visible = value;
+                checkFailedButton.Visible = value;
+                checkBoxesMenuItem.Checked = value;
+            }
+        }
+        #endregion
+
+        #region Construction and Initialization
+
+        public TestTree()
+        {
+            // This call is required by the Windows.Forms Form Designer.
+            InitializeComponent();
+            treeMenu = new MenuItem();
+            this.checkBoxesMenuItem = new System.Windows.Forms.MenuItem();
+            this.treeMenuSeparatorItem1 = new System.Windows.Forms.MenuItem();
+            this.expandMenuItem = new System.Windows.Forms.MenuItem();
+            this.collapseMenuItem = new System.Windows.Forms.MenuItem();
+            this.treeMenuSeparatorItem2 = new System.Windows.Forms.MenuItem();
+            this.expandAllMenuItem = new System.Windows.Forms.MenuItem();
+            this.collapseAllMenuItem = new System.Windows.Forms.MenuItem();
+            this.hideTestsMenuItem = new System.Windows.Forms.MenuItem();
+            this.treeMenuSeparatorItem3 = new System.Windows.Forms.MenuItem();
+            this.propertiesMenuItem = new System.Windows.Forms.MenuItem();
+
+            // 
+            // treeMenu
+            // 
+            this.treeMenu.MergeType = MenuMerge.Add;
+            this.treeMenu.MergeOrder = 1;
+            this.treeMenu.MenuItems.AddRange(
+                new System.Windows.Forms.MenuItem[] 
 				{
 					this.checkBoxesMenuItem,
 					this.treeMenuSeparatorItem1,
@@ -139,688 +158,765 @@
 					this.hideTestsMenuItem,
 					this.treeMenuSeparatorItem3,
 					this.propertiesMenuItem 
-				} );
-			this.treeMenu.Text = "&Tree";
-			this.treeMenu.Visible = false;
-			this.treeMenu.Popup += new System.EventHandler(this.treeMenu_Popup);
-			// 
-			// checkBoxesMenuItem
-			// 
-			this.checkBoxesMenuItem.Index = 0;
-			this.checkBoxesMenuItem.Text = "Show Check&Boxes";
-			this.checkBoxesMenuItem.Click += new System.EventHandler(this.checkBoxesMenuItem_Click);
-			// 
-			// treeMenuSeparatorItem1
-			// 
-			this.treeMenuSeparatorItem1.Index = 1;
-			this.treeMenuSeparatorItem1.Text = "-";
-			// 
-			// expandMenuItem
-			// 
-			this.expandMenuItem.Index = 2;
-			this.expandMenuItem.Text = "&Expand";
-			this.expandMenuItem.Click += new System.EventHandler(this.expandMenuItem_Click);
-			// 
-			// collapseMenuItem
-			// 
-			this.collapseMenuItem.Index = 3;
-			this.collapseMenuItem.Text = "&Collapse";
-			this.collapseMenuItem.Click += new System.EventHandler(this.collapseMenuItem_Click);
-			// 
-			// treeMenuSeparatorItem2
-			// 
-			this.treeMenuSeparatorItem2.Index = 4;
-			this.treeMenuSeparatorItem2.Text = "-";
-			// 
-			// expandAllMenuItem
-			// 
-			this.expandAllMenuItem.Index = 5;
-			this.expandAllMenuItem.Text = "Expand All";
-			this.expandAllMenuItem.Click += new System.EventHandler(this.expandAllMenuItem_Click);
-			// 
-			// collapseAllMenuItem
-			// 
-			this.collapseAllMenuItem.Index = 6;
-			this.collapseAllMenuItem.Text = "Collapse All";
-			this.collapseAllMenuItem.Click += new System.EventHandler(this.collapseAllMenuItem_Click);
-			// 
-			// hideTestsMenuItem
-			// 
-			this.hideTestsMenuItem.Index = 7;
-			this.hideTestsMenuItem.Text = "Hide Tests";
-			this.hideTestsMenuItem.Click += new System.EventHandler(this.hideTestsMenuItem_Click);
-			// 
-			// treeMenuSeparatorItem3
-			// 
-			this.treeMenuSeparatorItem3.Index = 8;
-			this.treeMenuSeparatorItem3.Text = "-";
-			// 
-			// propertiesMenuItem
-			// 
-			this.propertiesMenuItem.Index = 9;
-			this.propertiesMenuItem.Text = "&Properties";
-			this.propertiesMenuItem.Click += new System.EventHandler(this.propertiesMenuItem_Click);
-
-
-			tests.SelectedTestChanged += new SelectedTestChangedHandler(tests_SelectedTestChanged);
-			tests.CheckedTestChanged += new CheckedTestChangedHandler(tests_CheckedTestChanged);
-
-			this.excludeCheckbox.Enabled = false;
-		}
-
-		protected override void OnLoad(EventArgs e)
-		{
-			if ( !this.DesignMode )
-			{
-				this.ShowCheckBoxes = 
-					Services.UserSettings.GetSetting( "Options.ShowCheckBoxes", false );
-				Initialize( Services.TestLoader );
-				Services.UserSettings.Changed += new SettingsEventHandler(UserSettings_Changed);
-			}
-
-			base.OnLoad (e);
-		}
-
-		public void Initialize(TestLoader loader) 
-		{
-			this.tests.Initialize(loader, loader.Events);
-			this.loader = loader;
-			loader.Events.TestLoaded += new NUnit.Util.TestEventHandler(events_TestLoaded);
-			loader.Events.TestReloaded += new NUnit.Util.TestEventHandler(events_TestReloaded);
-			loader.Events.TestUnloaded += new NUnit.Util.TestEventHandler(events_TestUnloaded);
-		}
-
-		public void SelectCategories( string[] categories, bool exclude )
-		{
-			foreach( string category in categories )
-			{
-				if ( availableCategories.Contains( category ) )
-				{
-					if (!selectedList.Items.Contains(category))
-					{
-						selectedList.Items.Add(category);
-					}
-					availableList.Items.Remove( category );
-
-					this.excludeCheckbox.Checked = exclude;
-				}
-			}
-
-			UpdateCategoryFilter();
-			if (this.SelectedCategories.Length > 0)
-				this.excludeCheckbox.Enabled = true;
-		}
-
-		/// <summary> 
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if(components != null)
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#endregion
-
-		#region View Menu Handlers
-
-		private void treeMenu_Popup(object sender, System.EventArgs e)
-		{
-			TreeNode selectedNode = tests.SelectedNode;
-			if ( selectedNode != null && selectedNode.Nodes.Count > 0 )
-			{
-				bool isExpanded = selectedNode.IsExpanded;
-				collapseMenuItem.Enabled = isExpanded;
-				expandMenuItem.Enabled = !isExpanded;		
-			}
-			else
-			{
-				collapseMenuItem.Enabled = expandMenuItem.Enabled = false;
-			}
-		}
-
-		private void collapseMenuItem_Click(object sender, System.EventArgs e)
-		{
-			tests.SelectedNode.Collapse();
-		}
-
-		private void expandMenuItem_Click(object sender, System.EventArgs e)
-		{
-			tests.SelectedNode.Expand();
-		}
-
-		private void collapseAllMenuItem_Click(object sender, System.EventArgs e)
-		{
-			tests.BeginUpdate();
-			tests.CollapseAll();
-			tests.EndUpdate();
-
-			// Compensate for a bug in the underlying control
-			if ( tests.Nodes.Count > 0 )
-				tests.SelectedNode = tests.Nodes[0];	
-		}
-
-		private void hideTestsMenuItem_Click(object sender, System.EventArgs e)
-		{
-			tests.HideTests();
-		}
-
-		private void expandAllMenuItem_Click(object sender, System.EventArgs e)
-		{
-			tests.BeginUpdate();
-			tests.ExpandAll();
-			tests.EndUpdate();
-		}
-
-		private void propertiesMenuItem_Click(object sender, System.EventArgs e)
-		{
-			if ( tests.SelectedTest != null )
-				tests.ShowPropertiesDialog( tests.SelectedTest );
-		}
-
-		#endregion
-
-		#region Component Designer generated code
-		/// <summary> 
-		/// Required method for Designer support - do not modify 
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			this.tabs = new System.Windows.Forms.TabControl();
-			this.testPage = new System.Windows.Forms.TabPage();
-			this.testPanel = new System.Windows.Forms.Panel();
-			this.treePanel = new System.Windows.Forms.Panel();
-			this.tests = new NUnit.UiKit.TestSuiteTreeView();
-			this.buttonPanel = new System.Windows.Forms.Panel();
-			this.checkFailedButton = new System.Windows.Forms.Button();
-			this.clearAllButton = new System.Windows.Forms.Button();
-			this.categoryPage = new System.Windows.Forms.TabPage();
-			this.categoryPanel = new System.Windows.Forms.Panel();
-			this.categoryButtonPanel = new System.Windows.Forms.Panel();
-			this.removeCategory = new System.Windows.Forms.Button();
-			this.addCategory = new System.Windows.Forms.Button();
-			this.selectedCategories = new System.Windows.Forms.GroupBox();
-			this.selectedList = new System.Windows.Forms.ListBox();
-			this.excludeCheckbox = new System.Windows.Forms.CheckBox();
-			this.groupBox1 = new System.Windows.Forms.GroupBox();
-			this.availableList = new System.Windows.Forms.ListBox();
-			this.tabs.SuspendLayout();
-			this.testPage.SuspendLayout();
-			this.testPanel.SuspendLayout();
-			this.treePanel.SuspendLayout();
-			this.buttonPanel.SuspendLayout();
-			this.categoryPage.SuspendLayout();
-			this.categoryPanel.SuspendLayout();
-			this.categoryButtonPanel.SuspendLayout();
-			this.selectedCategories.SuspendLayout();
-			this.groupBox1.SuspendLayout();
-			this.SuspendLayout();
-			// 
-			// tabs
-			// 
-			this.tabs.Alignment = System.Windows.Forms.TabAlignment.Left;
-			this.tabs.Controls.Add(this.testPage);
-			this.tabs.Controls.Add(this.categoryPage);
-			this.tabs.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.tabs.Location = new System.Drawing.Point(0, 0);
-			this.tabs.Multiline = true;
-			this.tabs.Name = "tabs";
-			this.tabs.SelectedIndex = 0;
-			this.tabs.Size = new System.Drawing.Size(248, 496);
-			this.tabs.TabIndex = 0;
-			// 
-			// testPage
-			// 
-			this.testPage.Controls.Add(this.testPanel);
-			this.testPage.Location = new System.Drawing.Point(25, 4);
-			this.testPage.Name = "testPage";
-			this.testPage.Size = new System.Drawing.Size(219, 488);
-			this.testPage.TabIndex = 0;
-			this.testPage.Text = "Tests";
-			// 
-			// testPanel
-			// 
-			this.testPanel.Controls.Add(this.treePanel);
-			this.testPanel.Controls.Add(this.buttonPanel);
-			this.testPanel.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.testPanel.Location = new System.Drawing.Point(0, 0);
-			this.testPanel.Name = "testPanel";
-			this.testPanel.Size = new System.Drawing.Size(219, 488);
-			this.testPanel.TabIndex = 0;
-			// 
-			// treePanel
-			// 
-			this.treePanel.Controls.Add(this.tests);
-			this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.treePanel.Location = new System.Drawing.Point(0, 0);
-			this.treePanel.Name = "treePanel";
-			this.treePanel.Size = new System.Drawing.Size(219, 448);
-			this.treePanel.TabIndex = 0;
-			// 
-			// tests
-			// 
-			this.tests.AllowDrop = true;
-			this.tests.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.tests.HideSelection = false;
-			this.tests.Location = new System.Drawing.Point(0, 0);
-			this.tests.Name = "tests";
-			this.tests.Size = new System.Drawing.Size(219, 448);
-			this.tests.TabIndex = 0;
-			this.tests.CheckBoxesChanged += new System.EventHandler(this.tests_CheckBoxesChanged);
-			// 
-			// buttonPanel
-			// 
-			this.buttonPanel.Controls.Add(this.checkFailedButton);
-			this.buttonPanel.Controls.Add(this.clearAllButton);
-			this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
-			this.buttonPanel.Location = new System.Drawing.Point(0, 448);
-			this.buttonPanel.Name = "buttonPanel";
-			this.buttonPanel.Size = new System.Drawing.Size(219, 40);
-			this.buttonPanel.TabIndex = 1;
-			// 
-			// checkFailedButton
-			// 
-			this.checkFailedButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
-			this.checkFailedButton.Location = new System.Drawing.Point(117, 8);
-			this.checkFailedButton.Name = "checkFailedButton";
-			this.checkFailedButton.Size = new System.Drawing.Size(96, 23);
-			this.checkFailedButton.TabIndex = 1;
-			this.checkFailedButton.Text = "Check Failed";
-			this.checkFailedButton.Click += new System.EventHandler(this.checkFailedButton_Click);
-			// 
-			// clearAllButton
-			// 
-			this.clearAllButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
-			this.clearAllButton.Location = new System.Drawing.Point(13, 8);
-			this.clearAllButton.Name = "clearAllButton";
-			this.clearAllButton.Size = new System.Drawing.Size(96, 23);
-			this.clearAllButton.TabIndex = 0;
-			this.clearAllButton.Text = "Clear All";
-			this.clearAllButton.Click += new System.EventHandler(this.clearAllButton_Click);
-			// 
-			// categoryPage
-			// 
-			this.categoryPage.Controls.Add(this.categoryPanel);
-			this.categoryPage.Location = new System.Drawing.Point(25, 4);
-			this.categoryPage.Name = "categoryPage";
-			this.categoryPage.Size = new System.Drawing.Size(219, 488);
-			this.categoryPage.TabIndex = 1;
-			this.categoryPage.Text = "Categories";
-			// 
-			// categoryPanel
-			// 
-			this.categoryPanel.Controls.Add(this.categoryButtonPanel);
-			this.categoryPanel.Controls.Add(this.selectedCategories);
-			this.categoryPanel.Controls.Add(this.groupBox1);
-			this.categoryPanel.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.categoryPanel.Location = new System.Drawing.Point(0, 0);
-			this.categoryPanel.Name = "categoryPanel";
-			this.categoryPanel.Size = new System.Drawing.Size(219, 488);
-			this.categoryPanel.TabIndex = 0;
-			// 
-			// categoryButtonPanel
-			// 
-			this.categoryButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.categoryButtonPanel.Controls.Add(this.removeCategory);
-			this.categoryButtonPanel.Controls.Add(this.addCategory);
-			this.categoryButtonPanel.Location = new System.Drawing.Point(8, 280);
-			this.categoryButtonPanel.Name = "categoryButtonPanel";
-			this.categoryButtonPanel.Size = new System.Drawing.Size(203, 40);
-			this.categoryButtonPanel.TabIndex = 1;
-			// 
-			// removeCategory
-			// 
-			this.removeCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
-			this.removeCategory.Location = new System.Drawing.Point(109, 8);
-			this.removeCategory.Name = "removeCategory";
-			this.removeCategory.TabIndex = 1;
-			this.removeCategory.Text = "Remove";
-			this.removeCategory.Click += new System.EventHandler(this.removeCategory_Click);
-			// 
-			// addCategory
-			// 
-			this.addCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
-			this.addCategory.Location = new System.Drawing.Point(21, 8);
-			this.addCategory.Name = "addCategory";
-			this.addCategory.TabIndex = 0;
-			this.addCategory.Text = "Add";
-			this.addCategory.Click += new System.EventHandler(this.addCategory_Click);
-			// 
-			// selectedCategories
-			// 
-			this.selectedCategories.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.selectedCategories.Controls.Add(this.selectedList);
-			this.selectedCategories.Controls.Add(this.excludeCheckbox);
-			this.selectedCategories.Location = new System.Drawing.Point(8, 328);
-			this.selectedCategories.Name = "selectedCategories";
-			this.selectedCategories.Size = new System.Drawing.Size(203, 144);
-			this.selectedCategories.TabIndex = 2;
-			this.selectedCategories.TabStop = false;
-			this.selectedCategories.Text = "Selected Categories";
-			// 
-			// selectedList
-			// 
-			this.selectedList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.selectedList.ItemHeight = 16;
-			this.selectedList.Location = new System.Drawing.Point(8, 16);
-			this.selectedList.Name = "selectedList";
-			this.selectedList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
-			this.selectedList.Size = new System.Drawing.Size(187, 84);
-			this.selectedList.TabIndex = 0;
-			this.selectedList.DoubleClick += new System.EventHandler(this.removeCategory_Click);
-			// 
-			// excludeCheckbox
-			// 
-			this.excludeCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.excludeCheckbox.Location = new System.Drawing.Point(8, 120);
-			this.excludeCheckbox.Name = "excludeCheckbox";
-			this.excludeCheckbox.Size = new System.Drawing.Size(179, 16);
-			this.excludeCheckbox.TabIndex = 1;
-			this.excludeCheckbox.Text = "Exclude these categories";
-			this.excludeCheckbox.CheckedChanged += new System.EventHandler(this.excludeCheckbox_CheckedChanged);
-			// 
-			// groupBox1
-			// 
-			this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.groupBox1.Controls.Add(this.availableList);
-			this.groupBox1.Location = new System.Drawing.Point(8, 0);
-			this.groupBox1.Name = "groupBox1";
-			this.groupBox1.Size = new System.Drawing.Size(203, 272);
-			this.groupBox1.TabIndex = 0;
-			this.groupBox1.TabStop = false;
-			this.groupBox1.Text = "Available Categories";
-			// 
-			// availableList
-			// 
-			this.availableList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.availableList.ItemHeight = 16;
-			this.availableList.Location = new System.Drawing.Point(8, 24);
-			this.availableList.Name = "availableList";
-			this.availableList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
-			this.availableList.Size = new System.Drawing.Size(187, 244);
-			this.availableList.TabIndex = 0;
-			this.availableList.DoubleClick += new System.EventHandler(this.addCategory_Click);
-			// 
-			// TestTree
-			// 
-			this.Controls.Add(this.tabs);
-			this.Name = "TestTree";
-			this.Size = new System.Drawing.Size(248, 496);
-			this.tabs.ResumeLayout(false);
-			this.testPage.ResumeLayout(false);
-			this.testPanel.ResumeLayout(false);
-			this.treePanel.ResumeLayout(false);
-			this.buttonPanel.ResumeLayout(false);
-			this.categoryPage.ResumeLayout(false);
-			this.categoryPanel.ResumeLayout(false);
-			this.categoryButtonPanel.ResumeLayout(false);
-			this.selectedCategories.ResumeLayout(false);
-			this.groupBox1.ResumeLayout(false);
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		#region SelectedTestsChanged Event
-
-		public event SelectedTestsChangedEventHandler SelectedTestsChanged;
-
-		#endregion
-
-
-        public void RunAllTests()
-        {
-            RunAllTests(true);
-        }
-
-		public void RunAllTests(bool ignoreTests)
-		{
-			tests.RunAllTests(ignoreTests);
-		}
-
-		public void RunSelectedTests()
-		{
-			tests.RunSelectedTests();
-		}
-
-		public void RunFailedTests()
-		{
-			tests.RunFailedTests();
-		}
-
-		private void addCategory_Click(object sender, System.EventArgs e)
-		{
-			if (availableList.SelectedItems.Count > 0) 
-			{
-                // Create a separate list to avoid exception
-                // when using the list box directly.
-                List<string> categories = new List<string>();
-				foreach ( string category in availableList.SelectedItems ) 
-                    categories.Add(category);
-
-                foreach ( string category in categories)
-                {
-					selectedList.Items.Add(category);
-					availableList.Items.Remove(category);
-				}
-
-				UpdateCategoryFilter();
-				if (this.SelectedCategories.Length > 0)
-					this.excludeCheckbox.Enabled = true;
-			}
-		}
-
-		private void removeCategory_Click(object sender, System.EventArgs e)
-		{
-			if (selectedList.SelectedItems.Count > 0) 
-			{
-                // Create a separate list to avoid exception
-                // when using the list box directly.
-                List<string> categories = new List<string>();
-                foreach (string category in selectedList.SelectedItems)
-                    categories.Add(category);
-
-				foreach ( string category in categories )
-				{
-					selectedList.Items.Remove(category);
-					availableList.Items.Add(category);
-				}
-
-				UpdateCategoryFilter();
-				if (this.SelectedCategories.Length == 0)
-				{
-					this.excludeCheckbox.Checked = false;
-					this.excludeCheckbox.Enabled = false;
-				}
-			}
-		}
-
-		private void clearAllButton_Click(object sender, System.EventArgs e)
-		{
-			tests.ClearCheckedNodes();
-		}
-
-		private void checkFailedButton_Click(object sender, System.EventArgs e)
-		{
-			tests.CheckFailedNodes();
-		}
-
-		private void tests_SelectedTestChanged(ITest test)
-		{
-			if (SelectedTestsChanged != null) 
-			{
-				SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs(test.TestName.Name, test.TestCount);
-				SelectedTestsChanged(tests, args);
-			}
-		}
-
-		private void events_TestLoaded(object sender, NUnit.Util.TestEventArgs args)
-		{			
-			treeMenu.Visible = true;
-
-			availableCategories = this.loader.GetCategories();
-			availableList.Items.Clear();
-			selectedList.Items.Clear();
-			
-			availableList.SuspendLayout();
-			foreach (string category in availableCategories) 
-				availableList.Items.Add(category);
-
-			// tree may have restored visual state
-			if( !tests.CategoryFilter.IsEmpty )
-			{
-				ITestFilter filter = tests.CategoryFilter;
-				if ( filter is NUnit.Core.Filters.NotFilter )
-				{
-					filter = ((NUnit.Core.Filters.NotFilter)filter).BaseFilter;
-					this.excludeCheckbox.Checked = true;
-				}
-
-				foreach( string cat in ((NUnit.Core.Filters.CategoryFilter)filter).Categories )
-					if ( this.availableCategories.Contains( cat ) )
-					{
-						this.availableList.Items.Remove( cat );
-						this.selectedList.Items.Add( cat );
-						this.excludeCheckbox.Enabled = true;
-					}
-
-				UpdateCategoryFilter();
-			}
-
-			availableList.ResumeLayout();
-		}
-
-		private void events_TestReloaded(object sender, NUnit.Util.TestEventArgs args)
-		{
-			// Get new list of available categories
-			availableCategories = this.loader.GetCategories();
-
-			// Remove any selected items that are no longer available
-			int index = selectedList.Items.Count;
-			selectedList.SuspendLayout();
-			while( --index >= 0 )
-			{
-				string category = selectedList.Items[index].ToString();
-				if ( !availableCategories.Contains( category )  )
-					selectedList.Items.RemoveAt( index );
-			}
-			selectedList.ResumeLayout();
-
-            // Clear check box if there are no more selected items.
-            if (selectedList.Items.Count == 0)
-                excludeCheckbox.Checked = excludeCheckbox.Enabled = false;
-
-            // Put any unselected available items on availableList
-			availableList.Items.Clear();
-			availableList.SuspendLayout();
-			foreach( string category in availableCategories )
-				if( selectedList.FindStringExact( category ) < 0 )
-					availableList.Items.Add( category );
-			availableList.ResumeLayout();
-
-			// Tell the tree what is selected
-			UpdateCategoryFilter();
-		}
-
-		private void excludeCheckbox_CheckedChanged(object sender, System.EventArgs e)
-		{
-			UpdateCategoryFilter();
-		}
-
-		private void events_TestUnloaded(object sender, NUnit.Util.TestEventArgs args)
-		{
-			availableCategories.Clear();
-			availableList.Items.Clear();
-			selectedList.Items.Clear();
-			excludeCheckbox.Checked = false;
-			excludeCheckbox.Enabled = false;
-			treeMenu.Visible = false;
-		}
-
-		private void tests_CheckedTestChanged(ITest[] tests)
-		{
-			if (SelectedTestsChanged != null) 
-			{
-				SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs("", tests.Length);
-				SelectedTestsChanged(tests, args);
-			}
-
-			if (tests.Length > 0) 
-			{
-			}
-		}
-
-		private void checkBoxesMenuItem_Click(object sender, System.EventArgs e)
-		{
-			Services.UserSettings.SaveSetting( "Options.ShowCheckBoxes", 
-				ShowCheckBoxes = !checkBoxesMenuItem.Checked );
-			
-			// Temporary till we can save tree state and restore
-			//this.SetInitialExpansion();
-		}
-
-		private void UpdateCategoryFilter()
-		{
-			TestFilter catFilter;
-
-			if ( SelectedCategories == null || SelectedCategories.Length == 0 )
-				catFilter = TestFilter.Empty;
-			else
-				catFilter = new NUnit.Core.Filters.CategoryFilter( SelectedCategories );
-
-			if ( excludeCheckbox.Checked )
-				catFilter = new NUnit.Core.Filters.NotFilter( catFilter, true );
-
-			tests.CategoryFilter = catFilter;
-		}
-
-		private void tests_CheckBoxesChanged(object sender, System.EventArgs e)
-		{
-			ShowCheckBoxes = tests.CheckBoxes;
-		}
-
-		private void UserSettings_Changed(object sender, SettingsEventArgs args)
-		{
-			if ( args.SettingName == "Options.ShowCheckBoxes" )
-				this.ShowCheckBoxes = Services.UserSettings.GetSetting( args.SettingName, false );
-		}
-	}
-
-	public class SelectedTestsChangedEventArgs : EventArgs 
-	{
-		private string testName;
-		private int count;
-
-		public SelectedTestsChangedEventArgs(string testName, int count) 
-		{
-			this.testName = testName;
-			this.count = count;
-		}
-
-		public string TestName 
-		{
-			get { return testName; }
-		}
-
-		public int TestCount 
-		{
-			get { return count; }
-		}
-	}
-}
+				});
+            this.treeMenu.Text = "&Tree";
+            this.treeMenu.Visible = false;
+            this.treeMenu.Popup += new System.EventHandler(this.treeMenu_Popup);
+            // 
+            // checkBoxesMenuItem
+            // 
+            this.checkBoxesMenuItem.Index = 0;
+            this.checkBoxesMenuItem.Text = "Show Check&Boxes";
+            this.checkBoxesMenuItem.Click += new System.EventHandler(this.checkBoxesMenuItem_Click);
+            // 
+            // treeMenuSeparatorItem1
+            // 
+            this.treeMenuSeparatorItem1.Index = 1;
+            this.treeMenuSeparatorItem1.Text = "-";
+            // 
+            // expandMenuItem
+            // 
+            this.expandMenuItem.Index = 2;
+            this.expandMenuItem.Text = "&Expand";
+            this.expandMenuItem.Click += new System.EventHandler(this.expandMenuItem_Click);
+            // 
+            // collapseMenuItem
+            // 
+            this.collapseMenuItem.Index = 3;
+            this.collapseMenuItem.Text = "&Collapse";
+            this.collapseMenuItem.Click += new System.EventHandler(this.collapseMenuItem_Click);
+            // 
+            // treeMenuSeparatorItem2
+            // 
+            this.treeMenuSeparatorItem2.Index = 4;
+            this.treeMenuSeparatorItem2.Text = "-";
+            // 
+            // expandAllMenuItem
+            // 
+            this.expandAllMenuItem.Index = 5;
+            this.expandAllMenuItem.Text = "Expand All";
+            this.expandAllMenuItem.Click += new System.EventHandler(this.expandAllMenuItem_Click);
+            // 
+            // collapseAllMenuItem
+            // 
+            this.collapseAllMenuItem.Index = 6;
+            this.collapseAllMenuItem.Text = "Collapse All";
+            this.collapseAllMenuItem.Click += new System.EventHandler(this.collapseAllMenuItem_Click);
+            // 
+            // hideTestsMenuItem
+            // 
+            this.hideTestsMenuItem.Index = 7;
+            this.hideTestsMenuItem.Text = "Hide Tests";
+            this.hideTestsMenuItem.Click += new System.EventHandler(this.hideTestsMenuItem_Click);
+            // 
+            // treeMenuSeparatorItem3
+            // 
+            this.treeMenuSeparatorItem3.Index = 8;
+            this.treeMenuSeparatorItem3.Text = "-";
+            // 
+            // propertiesMenuItem
+            // 
+            this.propertiesMenuItem.Index = 9;
+            this.propertiesMenuItem.Text = "&Properties";
+            this.propertiesMenuItem.Click += new System.EventHandler(this.propertiesMenuItem_Click);
+
+
+            tests.SelectedTestChanged += new SelectedTestChangedHandler(tests_SelectedTestChanged);
+            tests.CheckedTestChanged += new CheckedTestChangedHandler(tests_CheckedTestChanged);
+
+            this.excludeCheckbox.Enabled = false;
+        }
+
+        protected override void OnLoad(EventArgs e)
+        {
+            if (!this.DesignMode)
+            {
+                this.ShowCheckBoxes =
+                    Services.UserSettings.GetSetting("Options.ShowCheckBoxes", false);
+                Initialize(Services.TestLoader);
+                Services.UserSettings.Changed += new SettingsEventHandler(UserSettings_Changed);
+            }
+
+            base.OnLoad(e);
+        }
+
+        public void Initialize(TestLoader loader)
+        {
+            this.tests.Initialize(loader, loader.Events);
+            this.loader = loader;
+            loader.Events.TestLoaded += new NUnit.Util.TestEventHandler(events_TestLoaded);
+            loader.Events.TestReloaded += new NUnit.Util.TestEventHandler(events_TestReloaded);
+            loader.Events.TestUnloaded += new NUnit.Util.TestEventHandler(events_TestUnloaded);
+        }
+
+        public void SelectCategories(string[] categories, bool exclude)
+        {
+            foreach (string category in categories)
+            {
+                if (availableCategories.Contains(category))
+                {
+                    if (!selectedList.Items.Contains(category))
+                    {
+                        selectedList.Items.Add(category);
+                    }
+                    availableList.Items.Remove(category);
+
+                    this.excludeCheckbox.Checked = exclude;
+                }
+            }
+
+            UpdateCategoryFilter();
+            if (this.SelectedCategories.Length > 0)
+                this.excludeCheckbox.Enabled = true;
+        }
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing)
+            {
+                if (components != null)
+                {
+                    components.Dispose();
+                }
+            }
+            base.Dispose(disposing);
+        }
+
+        #endregion
+
+        #region View Menu Handlers
+
+        private void treeMenu_Popup(object sender, System.EventArgs e)
+        {
+            TreeNode selectedNode = tests.SelectedNode;
+            if (selectedNode != null && selectedNode.Nodes.Count > 0)
+            {
+                bool isExpanded = selectedNode.IsExpanded;
+                collapseMenuItem.Enabled = isExpanded;
+                expandMenuItem.Enabled = !isExpanded;
+            }
+            else
+            {
+                collapseMenuItem.Enabled = expandMenuItem.Enabled = false;
+            }
+        }
+
+        private void collapseMenuItem_Click(object sender, System.EventArgs e)
+        {
+            tests.SelectedNode.Collapse();
+        }
+
+        private void expandMenuItem_Click(object sender, System.EventArgs e)
+        {
+            tests.SelectedNode.Expand();
+        }
+
+        private void collapseAllMenuItem_Click(object sender, System.EventArgs e)
+        {
+            tests.BeginUpdate();
+            tests.CollapseAll();
+            tests.EndUpdate();
+
+            // Compensate for a bug in the underlying control
+            if (tests.Nodes.Count > 0)
+                tests.SelectedNode = tests.Nodes[0];
+        }
+
+        private void hideTestsMenuItem_Click(object sender, System.EventArgs e)
+        {
+            tests.HideTests();
+        }
+
+        private void expandAllMenuItem_Click(object sender, System.EventArgs e)
+        {
+            tests.BeginUpdate();
+            tests.ExpandAll();
+            tests.EndUpdate();
+        }
+
+        private void propertiesMenuItem_Click(object sender, System.EventArgs e)
+        {
+            if (tests.SelectedTest != null)
+                tests.ShowPropertiesDialog(tests.SelectedTest);
+        }
+
+        #endregion
+
+        #region Component Designer generated code
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TestTree));
+            this.tabs = new System.Windows.Forms.TabControl();
+            this.testPage = new System.Windows.Forms.TabPage();
+            this.testPanel = new System.Windows.Forms.Panel();
+            this.treePanel = new System.Windows.Forms.Panel();
+            this.buttonPanel = new System.Windows.Forms.Panel();
+            this.checkFailedButton = new System.Windows.Forms.Button();
+            this.clearAllButton = new System.Windows.Forms.Button();
+            this.categoryPage = new System.Windows.Forms.TabPage();
+            this.categoryPanel = new System.Windows.Forms.Panel();
+            this.categoryButtonPanel = new System.Windows.Forms.Panel();
+            this.removeCategory = new System.Windows.Forms.Button();
+            this.addCategory = new System.Windows.Forms.Button();
+            this.selectedCategories = new System.Windows.Forms.GroupBox();
+            this.selectedList = new System.Windows.Forms.ListBox();
+            this.excludeCheckbox = new System.Windows.Forms.CheckBox();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.availableList = new System.Windows.Forms.ListBox();
+            this.tests = new NUnit.UiKit.TestSuiteTreeView();
+            this.FindTestTextBox = new NUnit.UiKit.FindTextBox();
+            this.tabs.SuspendLayout();
+            this.testPage.SuspendLayout();
+            this.testPanel.SuspendLayout();
+            this.treePanel.SuspendLayout();
+            this.buttonPanel.SuspendLayout();
+            this.categoryPage.SuspendLayout();
+            this.categoryPanel.SuspendLayout();
+            this.categoryButtonPanel.SuspendLayout();
+            this.selectedCategories.SuspendLayout();
+            this.groupBox1.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // tabs
+            // 
+            this.tabs.Alignment = System.Windows.Forms.TabAlignment.Left;
+            this.tabs.Controls.Add(this.testPage);
+            this.tabs.Controls.Add(this.categoryPage);
+            this.tabs.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tabs.Location = new System.Drawing.Point(0, 0);
+            this.tabs.Multiline = true;
+            this.tabs.Name = "tabs";
+            this.tabs.SelectedIndex = 0;
+            this.tabs.Size = new System.Drawing.Size(248, 496);
+            this.tabs.TabIndex = 0;
+            // 
+            // testPage
+            // 
+            this.testPage.Controls.Add(this.testPanel);
+            this.testPage.Location = new System.Drawing.Point(23, 4);
+            this.testPage.Name = "testPage";
+            this.testPage.Size = new System.Drawing.Size(221, 488);
+            this.testPage.TabIndex = 0;
+            this.testPage.Text = "Tests";
+            // 
+            // testPanel
+            // 
+            this.testPanel.Controls.Add(this.treePanel);
+            this.testPanel.Controls.Add(this.FindTestTextBox);
+            this.testPanel.Controls.Add(this.buttonPanel);
+            this.testPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.testPanel.Location = new System.Drawing.Point(0, 0);
+            this.testPanel.Name = "testPanel";
+            this.testPanel.Size = new System.Drawing.Size(221, 488);
+            this.testPanel.TabIndex = 0;
+            // 
+            // treePanel
+            // 
+            this.treePanel.Controls.Add(this.tests);
+            this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.treePanel.Location = new System.Drawing.Point(0, 27);
+            this.treePanel.Name = "treePanel";
+            this.treePanel.Size = new System.Drawing.Size(221, 421);
+            this.treePanel.TabIndex = 3;
+            // 
+            // buttonPanel
+            // 
+            this.buttonPanel.Controls.Add(this.checkFailedButton);
+            this.buttonPanel.Controls.Add(this.clearAllButton);
+            this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.buttonPanel.Location = new System.Drawing.Point(0, 448);
+            this.buttonPanel.Name = "buttonPanel";
+            this.buttonPanel.Size = new System.Drawing.Size(221, 40);
+            this.buttonPanel.TabIndex = 1;
+            // 
+            // checkFailedButton
+            // 
+            this.checkFailedButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.checkFailedButton.Location = new System.Drawing.Point(118, 8);
+            this.checkFailedButton.Name = "checkFailedButton";
+            this.checkFailedButton.Size = new System.Drawing.Size(96, 23);
+            this.checkFailedButton.TabIndex = 1;
+            this.checkFailedButton.Text = "Check Failed";
+            this.checkFailedButton.Click += new System.EventHandler(this.checkFailedButton_Click);
+            // 
+            // clearAllButton
+            // 
+            this.clearAllButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.clearAllButton.Location = new System.Drawing.Point(14, 8);
+            this.clearAllButton.Name = "clearAllButton";
+            this.clearAllButton.Size = new System.Drawing.Size(96, 23);
+            this.clearAllButton.TabIndex = 0;
+            this.clearAllButton.Text = "Clear All";
+            this.clearAllButton.Click += new System.EventHandler(this.clearAllButton_Click);
+            // 
+            // categoryPage
+            // 
+            this.categoryPage.Controls.Add(this.categoryPanel);
+            this.categoryPage.Location = new System.Drawing.Point(23, 4);
+            this.categoryPage.Name = "categoryPage";
+            this.categoryPage.Size = new System.Drawing.Size(221, 488);
+            this.categoryPage.TabIndex = 1;
+            this.categoryPage.Text = "Categories";
+            // 
+            // categoryPanel
+            // 
+            this.categoryPanel.Controls.Add(this.categoryButtonPanel);
+            this.categoryPanel.Controls.Add(this.selectedCategories);
+            this.categoryPanel.Controls.Add(this.groupBox1);
+            this.categoryPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.categoryPanel.Location = new System.Drawing.Point(0, 0);
+            this.categoryPanel.Name = "categoryPanel";
+            this.categoryPanel.Size = new System.Drawing.Size(221, 488);
+            this.categoryPanel.TabIndex = 0;
+            // 
+            // categoryButtonPanel
+            // 
+            this.categoryButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.categoryButtonPanel.Controls.Add(this.removeCategory);
+            this.categoryButtonPanel.Controls.Add(this.addCategory);
+            this.categoryButtonPanel.Location = new System.Drawing.Point(8, 280);
+            this.categoryButtonPanel.Name = "categoryButtonPanel";
+            this.categoryButtonPanel.Size = new System.Drawing.Size(205, 40);
+            this.categoryButtonPanel.TabIndex = 1;
+            // 
+            // removeCategory
+            // 
+            this.removeCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.removeCategory.Location = new System.Drawing.Point(110, 8);
+            this.removeCategory.Name = "removeCategory";
+            this.removeCategory.Size = new System.Drawing.Size(75, 23);
+            this.removeCategory.TabIndex = 1;
+            this.removeCategory.Text = "Remove";
+            this.removeCategory.Click += new System.EventHandler(this.removeCategory_Click);
+            // 
+            // addCategory
+            // 
+            this.addCategory.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.addCategory.Location = new System.Drawing.Point(22, 8);
+            this.addCategory.Name = "addCategory";
+            this.addCategory.Size = new System.Drawing.Size(75, 23);
+            this.addCategory.TabIndex = 0;
+            this.addCategory.Text = "Add";
+            this.addCategory.Click += new System.EventHandler(this.addCategory_Click);
+            // 
+            // selectedCategories
+            // 
+            this.selectedCategories.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.selectedCategories.Controls.Add(this.selectedList);
+            this.selectedCategories.Controls.Add(this.excludeCheckbox);
+            this.selectedCategories.Location = new System.Drawing.Point(8, 328);
+            this.selectedCategories.Name = "selectedCategories";
+            this.selectedCategories.Size = new System.Drawing.Size(205, 144);
+            this.selectedCategories.TabIndex = 2;
+            this.selectedCategories.TabStop = false;
+            this.selectedCategories.Text = "Selected Categories";
+            // 
+            // selectedList
+            // 
+            this.selectedList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.selectedList.Location = new System.Drawing.Point(8, 16);
+            this.selectedList.Name = "selectedList";
+            this.selectedList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
+            this.selectedList.Size = new System.Drawing.Size(189, 82);
+            this.selectedList.TabIndex = 0;
+            this.selectedList.DoubleClick += new System.EventHandler(this.removeCategory_Click);
+            // 
+            // excludeCheckbox
+            // 
+            this.excludeCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.excludeCheckbox.Location = new System.Drawing.Point(8, 120);
+            this.excludeCheckbox.Name = "excludeCheckbox";
+            this.excludeCheckbox.Size = new System.Drawing.Size(181, 16);
+            this.excludeCheckbox.TabIndex = 1;
+            this.excludeCheckbox.Text = "Exclude these categories";
+            this.excludeCheckbox.CheckedChanged += new System.EventHandler(this.excludeCheckbox_CheckedChanged);
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.groupBox1.Controls.Add(this.availableList);
+            this.groupBox1.Location = new System.Drawing.Point(8, 0);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(205, 272);
+            this.groupBox1.TabIndex = 0;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "Available Categories";
+            // 
+            // availableList
+            // 
+            this.availableList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.availableList.Location = new System.Drawing.Point(8, 24);
+            this.availableList.Name = "availableList";
+            this.availableList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
+            this.availableList.Size = new System.Drawing.Size(189, 238);
+            this.availableList.TabIndex = 0;
+            this.availableList.DoubleClick += new System.EventHandler(this.addCategory_Click);
+            // 
+            // tests
+            // 
+            this.tests.AllowDrop = true;
+            this.tests.CategoryFilter = ((NUnit.Core.TestFilter)(resources.GetObject("tests.CategoryFilter")));
+            this.tests.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tests.HideSelection = false;
+            this.tests.ImageIndex = 0;
+            this.tests.Location = new System.Drawing.Point(0, 0);
+            this.tests.Name = "tests";
+            this.tests.SelectedImageIndex = 0;
+            this.tests.Size = new System.Drawing.Size(221, 421);
+            this.tests.TabIndex = 0;
+            this.tests.CheckBoxesChanged += new System.EventHandler(this.tests_CheckBoxesChanged);
+            // 
+            // FindTestTextBox
+            // 
+            this.FindTestTextBox.Dock = System.Windows.Forms.DockStyle.Top;
+            this.FindTestTextBox.Location = new System.Drawing.Point(0, 0);
+            this.FindTestTextBox.Name = "FindTestTextBox";
+            this.FindTestTextBox.Size = new System.Drawing.Size(221, 27);
+            this.FindTestTextBox.TabIndex = 2;
+            this.FindTestTextBox.TestName = "";
+            this.FindTestTextBox.Visible = false;
+            this.FindTestTextBox.FindTextBoxKeydown += new System.Windows.Forms.KeyEventHandler(this.FindTestTextBox_FindTextBoxKeydown);
+            // 
+            // TestTree
+            // 
+            this.Controls.Add(this.tabs);
+            this.Name = "TestTree";
+            this.Size = new System.Drawing.Size(248, 496);
+            this.tabs.ResumeLayout(false);
+            this.testPage.ResumeLayout(false);
+            this.testPanel.ResumeLayout(false);
+            this.treePanel.ResumeLayout(false);
+            this.buttonPanel.ResumeLayout(false);
+            this.categoryPage.ResumeLayout(false);
+            this.categoryPanel.ResumeLayout(false);
+            this.categoryButtonPanel.ResumeLayout(false);
+            this.selectedCategories.ResumeLayout(false);
+            this.groupBox1.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+        #endregion
+
+        #region SelectedTestsChanged Event
+
+        public event SelectedTestsChangedEventHandler SelectedTestsChanged;
+
+        #endregion
+
+        public void RunAllTests()
+        {
+            RunAllTests(true);
+        }
+
+        public void RunAllTests(bool ignoreTests)
+        {
+            tests.RunAllTests(ignoreTests);
+        }
+
+        public void RunSelectedTests()
+        {
+            tests.RunSelectedTests();
+        }
+
+        public void RunFailedTests()
+        {
+            tests.RunFailedTests();
+        }
+
+        private void addCategory_Click(object sender, System.EventArgs e)
+        {
+            if (availableList.SelectedItems.Count > 0)
+            {
+                // Create a separate list to avoid exception
+                // when using the list box directly.
+                List<string> categories = new List<string>();
+                foreach (string category in availableList.SelectedItems)
+                    categories.Add(category);
+
+                foreach (string category in categories)
+                {
+                    selectedList.Items.Add(category);
+                    availableList.Items.Remove(category);
+                }
+
+                UpdateCategoryFilter();
+                if (this.SelectedCategories.Length > 0)
+                    this.excludeCheckbox.Enabled = true;
+            }
+        }
+
+        private void removeCategory_Click(object sender, System.EventArgs e)
+        {
+            if (selectedList.SelectedItems.Count > 0)
+            {
+                // Create a separate list to avoid exception
+                // when using the list box directly.
+                List<string> categories = new List<string>();
+                foreach (string category in selectedList.SelectedItems)
+                    categories.Add(category);
+
+                foreach (string category in categories)
+                {
+                    selectedList.Items.Remove(category);
+                    availableList.Items.Add(category);
+                }
+
+                UpdateCategoryFilter();
+                if (this.SelectedCategories.Length == 0)
+                {
+                    this.excludeCheckbox.Checked = false;
+                    this.excludeCheckbox.Enabled = false;
+                }
+            }
+        }
+
+        private void clearAllButton_Click(object sender, System.EventArgs e)
+        {
+            tests.ClearCheckedNodes();
+        }
+
+        private void checkFailedButton_Click(object sender, System.EventArgs e)
+        {
+            tests.CheckFailedNodes();
+        }
+
+        private void tests_SelectedTestChanged(ITest test)
+        {
+            if (SelectedTestsChanged != null)
+            {
+                SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs(test.TestName.Name, test.TestCount);
+                SelectedTestsChanged(tests, args);
+            }
+        }
+
+        private void events_TestLoaded(object sender, NUnit.Util.TestEventArgs args)
+        {
+            treeMenu.Visible = true;
+
+            availableCategories = this.loader.GetCategories();
+            availableList.Items.Clear();
+            selectedList.Items.Clear();
+
+            availableList.SuspendLayout();
+            foreach (string category in availableCategories)
+                availableList.Items.Add(category);
+
+            // tree may have restored visual state
+            if (!tests.CategoryFilter.IsEmpty)
+            {
+                ITestFilter filter = tests.CategoryFilter;
+                if (filter is NUnit.Core.Filters.NotFilter)
+                {
+                    filter = ((NUnit.Core.Filters.NotFilter)filter).BaseFilter;
+                    this.excludeCheckbox.Checked = true;
+                }
+
+                foreach (string cat in ((NUnit.Core.Filters.CategoryFilter)filter).Categories)
+                    if (this.availableCategories.Contains(cat))
+                    {
+                        this.availableList.Items.Remove(cat);
+                        this.selectedList.Items.Add(cat);
+                        this.excludeCheckbox.Enabled = true;
+                    }
+
+                UpdateCategoryFilter();
+            }
+
+            availableList.ResumeLayout();
+        }
+
+        private void events_TestReloaded(object sender, NUnit.Util.TestEventArgs args)
+        {
+            // Get new list of available categories
+            availableCategories = this.loader.GetCategories();
+
+            // Remove any selected items that are no longer available
+            int index = selectedList.Items.Count;
+            selectedList.SuspendLayout();
+            while (--index >= 0)
+            {
+                string category = selectedList.Items[index].ToString();
+                if (!availableCategories.Contains(category))
+                    selectedList.Items.RemoveAt(index);
+            }
+            selectedList.ResumeLayout();
+
+            // Clear check box if there are no more selected items.
+            if (selectedList.Items.Count == 0)
+                excludeCheckbox.Checked = excludeCheckbox.Enabled = false;
+
+            // Put any unselected available items on availableList
+            availableList.Items.Clear();
+            availableList.SuspendLayout();
+            foreach (string category in availableCategories)
+                if (selectedList.FindStringExact(category) < 0)
+                    availableList.Items.Add(category);
+            availableList.ResumeLayout();
+
+            // Tell the tree what is selected
+            UpdateCategoryFilter();
+        }
+
+        private void excludeCheckbox_CheckedChanged(object sender, System.EventArgs e)
+        {
+            UpdateCategoryFilter();
+        }
+
+        private void events_TestUnloaded(object sender, NUnit.Util.TestEventArgs args)
+        {
+            availableCategories.Clear();
+            availableList.Items.Clear();
+            selectedList.Items.Clear();
+            excludeCheckbox.Checked = false;
+            excludeCheckbox.Enabled = false;
+            treeMenu.Visible = false;
+        }
+
+        private void tests_CheckedTestChanged(ITest[] tests)
+        {
+            if (SelectedTestsChanged != null)
+            {
+                SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs("", tests.Length);
+                SelectedTestsChanged(tests, args);
+            }
+
+            if (tests.Length > 0)
+            {
+            }
+        }
+
+        private void checkBoxesMenuItem_Click(object sender, System.EventArgs e)
+        {
+            Services.UserSettings.SaveSetting("Options.ShowCheckBoxes",
+                ShowCheckBoxes = !checkBoxesMenuItem.Checked);
+
+            // Temporary till we can save tree state and restore
+            //this.SetInitialExpansion();
+        }
+
+        private void UpdateCategoryFilter()
+        {
+            TestFilter catFilter;
+
+            if (SelectedCategories == null || SelectedCategories.Length == 0)
+                catFilter = TestFilter.Empty;
+            else
+                catFilter = new NUnit.Core.Filters.CategoryFilter(SelectedCategories);
+
+            if (excludeCheckbox.Checked)
+                catFilter = new NUnit.Core.Filters.NotFilter(catFilter, true);
+
+            tests.CategoryFilter = catFilter;
+        }
+
+        private void tests_CheckBoxesChanged(object sender, System.EventArgs e)
+        {
+            ShowCheckBoxes = tests.CheckBoxes;
+        }
+
+        private void UserSettings_Changed(object sender, SettingsEventArgs args)
+        {
+            if (args.SettingName == "Options.ShowCheckBoxes")
+                this.ShowCheckBoxes = Services.UserSettings.GetSetting(args.SettingName, false);
+        }
+
+        private Queue<TreeNode> _testCache = new Queue<TreeNode>();
+        private Queue<TreeNode> TestCache
+        {
+            get
+            {
+                if (_testCache.Count <= 0)
+                {
+                    TreeNodeCollection nodes = this.tests.Nodes;
+                    foreach (TreeNode treenode in nodes)
+                    {
+                        FindRecursive(treenode);
+                    }
+                }
+                return _testCache;
+            }
+        }
+
+        private void FindTestTextBox_FindTextBoxKeydown(object sender, KeyEventArgs e)
+        {
+            if (Keys.Enter == e.KeyCode)
+            {
+                if (TestCache.Count >= 1)
+                {
+                    tests.SelectedNode = TestCache.Dequeue();
+                }
+            }
+            else if (Keys.Escape == e.KeyCode)
+            {
+                IsFindVisible = false;
+            }
+            else
+            {
+                if (_testCache.Count >= 1)
+                {
+                    _testCache.Clear();
+                }
+            }
+        }
+
+        private void FindRecursive(TreeNode treeNode)
+        {
+            foreach (TreeNode treenode in treeNode.Nodes)
+            {
+                if (FindTestTextBox.TestName.IndexOf("*") >= 0 && treenode.Text.EndsWith(FindTestTextBox.TestName.Replace("*", ""), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    _testCache.Enqueue(treenode);
+                }
+                else if (FindTestTextBox.TestName.LastIndexOf("*") >= 1 && treenode.Text.StartsWith(FindTestTextBox.TestName.Replace("*", ""), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    _testCache.Enqueue(treenode);
+                }
+                else if (FindTestTextBox.TestName.Equals(treenode.Text, StringComparison.CurrentCultureIgnoreCase))
+                {
+                    _testCache.Enqueue(treenode);
+                }
+
+                FindRecursive(treenode);
+            }
+        }
+    }
+
+    public class SelectedTestsChangedEventArgs : EventArgs
+    {
+        private string testName;
+        private int count;
+
+        public SelectedTestsChangedEventArgs(string testName, int count)
+        {
+            this.testName = testName;
+            this.count = count;
+        }
+
+        public string TestName
+        {
+            get { return testName; }
+        }
+
+        public int TestCount
+        {
+            get { return count; }
+        }
+    }
+}

=== modified file 'src/GuiComponents/UiKit/TestTree.resx'
--- src/GuiComponents/UiKit/TestTree.resx	2007-10-20 02:29:41 +0000
+++ src/GuiComponents/UiKit/TestTree.resx	2012-08-09 05:13:22 +0000
@@ -1,382 +1,127 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used forserialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="tabs.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="tabs.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="tabs.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="tabs.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="tabs.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="tabs.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="testPage.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="testPage.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="testPage.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="testPage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="testPage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="testPage.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="testPanel.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="testPanel.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="testPanel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="testPanel.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="testPanel.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="testPanel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="treePanel.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="treePanel.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="treePanel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="treePanel.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="treePanel.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="treePanel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="tests.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="tests.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="tests.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="buttonPanel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="buttonPanel.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="buttonPanel.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="buttonPanel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="buttonPanel.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="buttonPanel.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="checkFailedButton.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="checkFailedButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="checkFailedButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="clearAllButton.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="clearAllButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="clearAllButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryPage.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="categoryPage.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryPage.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryPage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryPage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryPage.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="categoryPanel.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="categoryPanel.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryPanel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryPanel.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="categoryPanel.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryPanel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryButtonPanel.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="categoryButtonPanel.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryButtonPanel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="categoryButtonPanel.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="categoryButtonPanel.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="categoryButtonPanel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="removeCategory.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="removeCategory.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="removeCategory.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="addCategory.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="addCategory.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="addCategory.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="selectedCategories.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="selectedCategories.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="selectedCategories.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="selectedCategories.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="selectedCategories.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="selectedCategories.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="selectedList.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="selectedList.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="selectedList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="excludeCheckbox.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="excludeCheckbox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="excludeCheckbox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="groupBox1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="availableList.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="availableList.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="availableList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Name">
-    <value>TestTree</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"; />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="tests.CategoryFilter" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFhudW5pdC5jb3JlLmludGVyZmFjZXMsIFZlcnNpb249Mi42LjEu
+        MCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj05NmQwOWExZWI3ZjQ0YTc3BQEAAAAhTlVu
+        aXQuQ29yZS5UZXN0RmlsdGVyK0VtcHR5RmlsdGVyAAAAAAIAAAAL
+</value>
+  </data>
 </root>
\ No newline at end of file

=== modified file 'src/GuiComponents/UiKit/nunit.uikit.dll.csproj'
--- src/GuiComponents/UiKit/nunit.uikit.dll.csproj	2012-08-08 03:34:12 +0000
+++ src/GuiComponents/UiKit/nunit.uikit.dll.csproj	2012-08-09 05:13:22 +0000
@@ -1,403 +1,409 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="4.0">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>nunit.uikit</AssemblyName>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>NUnit.UiKit</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>3.5</OldToolsVersion>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>..\..\..\bin\Debug\lib\</OutputPath>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoWarn>1699</NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>..\..\..\bin\Release\lib\</OutputPath>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <FileAlignment>4096</FileAlignment>
-    <NoWarn>1699</NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-    <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj">
-      <Name>nunit.util.dll</Name>
-      <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj">
-      <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>
-      <Name>nunit.core.dll</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj">
-      <Name>nunit.core.interfaces.dll</Name>
-      <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj">
-      <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project>
-      <Name>nunit.uiexception.dll</Name>
-      <Private>False</Private>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\CommonAssemblyInfo.cs">
-      <Link>CommonAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="AddConfigurationDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AddTabPageDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AppContainer.cs" />
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="ConfigurationEditor.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="EditTabPagesDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="ErrorDisplay.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ExpandingLabel.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="ExpandingTextBox.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="GuiAttachedConsole.cs" />
-    <Compile Include="GuiTestEventDispatcher.cs" />
-    <Compile Include="IMessageDisplay.cs" />
-    <Compile Include="LongRunningOperationDisplay.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="NotRunTree.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="NUnitFormBase.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="ProgressBar.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="RenameConfigurationDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="ResultTabs.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ScrollingTextDisplayForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="SettingsDialogBase.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="SettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SimpleSettingsDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="StatusBar.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="TabbedSettingsDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TestPropertiesDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TestPropertiesDialog.Designer.cs">
-      <DependentUpon>TestPropertiesDialog.cs</DependentUpon>
-    </Compile>
-    <Compile Include="TestSuiteTreeNode.cs" />
-    <Compile Include="TestSuiteTreeView.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="TestTree.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="TextBoxDisplay.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="TextDisplayContent.cs" />
-    <Compile Include="TextDisplay.cs" />
-    <Compile Include="TextDisplayTabPage.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="TextDisplayTabSettings.cs" />
-    <Compile Include="TextDisplayWriter.cs" />
-    <Compile Include="TextOutputSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="TipWindow.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TreeBasedSettingsDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="MessageDisplay.cs" />
-    <Compile Include="VisualState.cs" />
-    <Compile Include="WaitCursor.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="AddConfigurationDialog.resx">
-      <DependentUpon>AddConfigurationDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="AddTabPageDialog.resx">
-      <DependentUpon>AddTabPageDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ConfigurationEditor.resx">
-      <DependentUpon>ConfigurationEditor.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="EditTabPagesDialog.resx">
-      <DependentUpon>EditTabPagesDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ErrorDisplay.resx">
-      <DependentUpon>ErrorDisplay.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ExpandingLabel.resx">
-      <DependentUpon>ExpandingLabel.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ExpandingTextBox.resx">
-      <DependentUpon>ExpandingTextBox.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="LongRunningOperationDisplay.resx">
-      <DependentUpon>LongRunningOperationDisplay.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="NotRunTree.resx">
-      <DependentUpon>NotRunTree.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ProgressBar.resx">
-      <DependentUpon>ProgressBar.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="RenameConfigurationDialog.resx">
-      <DependentUpon>RenameConfigurationDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ResultTabs.resx">
-      <DependentUpon>ResultTabs.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsDialogBase.resx">
-      <DependentUpon>SettingsDialogBase.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPage.resx">
-      <DependentUpon>SettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SimpleSettingsDialog.resx">
-      <DependentUpon>SimpleSettingsDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="StatusBar.resx">
-      <DependentUpon>StatusBar.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TabbedSettingsDialog.resx">
-      <DependentUpon>TabbedSettingsDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TestPropertiesDialog.resx">
-      <DependentUpon>TestPropertiesDialog.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TestSuiteTreeView.resx">
-      <DependentUpon>TestSuiteTreeView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TestTree.resx">
-      <DependentUpon>TestTree.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TextOutputSettingsPage.resx">
-      <DependentUpon>TextOutputSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TipWindow.resx">
-      <DependentUpon>TipWindow.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TreeBasedSettingsDialog.resx">
-      <DependentUpon>TreeBasedSettingsDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Images\pinned.gif" />
-    <EmbeddedResource Include="Images\unpinned.gif" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Images\Tree\Classic\Ignored.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Ellipsis.gif" />
-    <Content Include="Images\Tree\Circles\Inconclusive.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Circles\Skipped.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Circles\Success.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Circles\Failure.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Circles\Ignored.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Classic\Failure.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Classic\Skipped.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Default\Failure.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Default\Ignored.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Classic\Inconclusive.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Default\Inconclusive.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Default\Skipped.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Classic\Success.jpg">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Default\Success.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Images\Tree\Visual Studio\Failure.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Visual Studio\Ignored.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Visual Studio\Inconclusive.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Visual Studio\Skipped.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Images\Tree\Visual Studio\Success.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <None Include="nunit.uikit.build" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="4.0">
+  <PropertyGroup>
+    <ProjectType>Local</ProjectType>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyKeyContainerName>
+    </AssemblyKeyContainerName>
+    <AssemblyName>nunit.uikit</AssemblyName>
+    <DefaultClientScript>JScript</DefaultClientScript>
+    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+    <DefaultTargetSchema>IE50</DefaultTargetSchema>
+    <DelaySign>false</DelaySign>
+    <OutputType>Library</OutputType>
+    <RootNamespace>NUnit.UiKit</RootNamespace>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <OutputPath>..\..\..\bin\Debug\lib\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <NoWarn>1699</NoWarn>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <OutputPath>..\..\..\bin\Release\lib\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <FileAlignment>4096</FileAlignment>
+    <NoWarn>1699</NoWarn>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>none</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System">
+      <Name>System</Name>
+    </Reference>
+    <Reference Include="System.Data">
+      <Name>System.Data</Name>
+    </Reference>
+    <Reference Include="System.Drawing">
+      <Name>System.Drawing</Name>
+    </Reference>
+    <Reference Include="System.Windows.Forms">
+      <Name>System.Windows.Forms</Name>
+    </Reference>
+    <Reference Include="System.Xml">
+      <Name>System.XML</Name>
+    </Reference>
+    <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj">
+      <Name>nunit.util.dll</Name>
+      <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj">
+      <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>
+      <Name>nunit.core.dll</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj">
+      <Name>nunit.core.interfaces.dll</Name>
+      <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj">
+      <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project>
+      <Name>nunit.uiexception.dll</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\CommonAssemblyInfo.cs">
+      <Link>CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="AddConfigurationDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AddTabPageDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AppContainer.cs" />
+    <Compile Include="AssemblyInfo.cs" />
+    <Compile Include="ConfigurationEditor.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="EditTabPagesDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ErrorDisplay.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="ExpandingLabel.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="ExpandingTextBox.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="FindTextBox.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="GuiAttachedConsole.cs" />
+    <Compile Include="GuiTestEventDispatcher.cs" />
+    <Compile Include="IMessageDisplay.cs" />
+    <Compile Include="LongRunningOperationDisplay.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="NotRunTree.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="NUnitFormBase.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ProgressBar.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="RenameConfigurationDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ResultTabs.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="ScrollingTextDisplayForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="SettingsDialogBase.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="SettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SimpleSettingsDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="StatusBar.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="TabbedSettingsDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TestPropertiesDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TestPropertiesDialog.Designer.cs">
+      <DependentUpon>TestPropertiesDialog.cs</DependentUpon>
+    </Compile>
+    <Compile Include="TestSuiteTreeNode.cs" />
+    <Compile Include="TestSuiteTreeView.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="TestTree.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="TextBoxDisplay.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="TextDisplayContent.cs" />
+    <Compile Include="TextDisplay.cs" />
+    <Compile Include="TextDisplayTabPage.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="TextDisplayTabSettings.cs" />
+    <Compile Include="TextDisplayWriter.cs" />
+    <Compile Include="TextOutputSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="TipWindow.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TreeBasedSettingsDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="MessageDisplay.cs" />
+    <Compile Include="VisualState.cs" />
+    <Compile Include="WaitCursor.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="AddConfigurationDialog.resx">
+      <DependentUpon>AddConfigurationDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="AddTabPageDialog.resx">
+      <DependentUpon>AddTabPageDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ConfigurationEditor.resx">
+      <DependentUpon>ConfigurationEditor.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="EditTabPagesDialog.resx">
+      <DependentUpon>EditTabPagesDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ErrorDisplay.resx">
+      <DependentUpon>ErrorDisplay.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ExpandingLabel.resx">
+      <DependentUpon>ExpandingLabel.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ExpandingTextBox.resx">
+      <DependentUpon>ExpandingTextBox.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="FindTextBox.resx">
+      <DependentUpon>FindTextBox.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="LongRunningOperationDisplay.resx">
+      <DependentUpon>LongRunningOperationDisplay.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="NotRunTree.resx">
+      <DependentUpon>NotRunTree.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ProgressBar.resx">
+      <DependentUpon>ProgressBar.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="RenameConfigurationDialog.resx">
+      <DependentUpon>RenameConfigurationDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ResultTabs.resx">
+      <DependentUpon>ResultTabs.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsDialogBase.resx">
+      <DependentUpon>SettingsDialogBase.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPage.resx">
+      <DependentUpon>SettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SimpleSettingsDialog.resx">
+      <DependentUpon>SimpleSettingsDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="StatusBar.resx">
+      <DependentUpon>StatusBar.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TabbedSettingsDialog.resx">
+      <DependentUpon>TabbedSettingsDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TestPropertiesDialog.resx">
+      <DependentUpon>TestPropertiesDialog.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TestSuiteTreeView.resx">
+      <DependentUpon>TestSuiteTreeView.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TestTree.resx">
+      <DependentUpon>TestTree.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TextOutputSettingsPage.resx">
+      <DependentUpon>TextOutputSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TipWindow.resx">
+      <DependentUpon>TipWindow.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TreeBasedSettingsDialog.resx">
+      <DependentUpon>TreeBasedSettingsDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\pinned.gif" />
+    <EmbeddedResource Include="Images\unpinned.gif" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Images\Tree\Classic\Ignored.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Ellipsis.gif" />
+    <Content Include="Images\Tree\Circles\Inconclusive.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Circles\Skipped.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Circles\Success.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Circles\Failure.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Circles\Ignored.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Classic\Failure.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Classic\Skipped.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Default\Failure.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Default\Ignored.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Classic\Inconclusive.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Default\Inconclusive.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Default\Skipped.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Classic\Success.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Default\Success.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Images\Tree\search.png" />
+    <Content Include="Images\Tree\Visual Studio\Failure.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Visual Studio\Ignored.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Visual Studio\Inconclusive.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Visual Studio\Skipped.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Images\Tree\Visual Studio\Success.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <None Include="nunit.uikit.build" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file

=== modified file 'src/GuiRunner/nunit-gui/NUnitForm.cs'
--- src/GuiRunner/nunit-gui/NUnitForm.cs	2012-07-19 23:41:28 +0000
+++ src/GuiRunner/nunit-gui/NUnitForm.cs	2012-08-09 05:13:22 +0000
@@ -117,7 +117,7 @@
 		private System.Windows.Forms.MenuItem viewMenuSeparator2;
 		private System.Windows.Forms.MenuItem viewMenuSeparator3;
 		private System.Windows.Forms.MenuItem fontMenuSeparator;
-		private System.Windows.Forms.MenuItem testMenuSeparator;
+		private System.Windows.Forms.MenuItem testMenuSeparator1;
 		private System.Windows.Forms.MenuItem guiFontMenuItem;
 		private System.Windows.Forms.MenuItem fixedFontMenuItem;
 		private System.Windows.Forms.MenuItem increaseFixedFontMenuItem;
@@ -131,7 +131,9 @@
 		private System.Windows.Forms.MenuItem assemblyDetailsMenuItem;
         private MenuItem runtimeMenuItem;
         private MenuItem openLogDirectoryMenuItem;
-        private ExpandingLabel suiteName;
+        private ExpandingLabel suiteName;
+        private MenuItem testMenuSeparator2;
+        private MenuItem FindTestMenuItem;
 		private System.Windows.Forms.MenuItem addAssemblyMenuItem;
 
 		#endregion
@@ -170,655 +172,672 @@
 		/// </summary>
 		private void InitializeComponent()
 		{
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NUnitForm));
-            this.statusBar = new NUnit.UiKit.StatusBar();
-            this.mainMenu = new System.Windows.Forms.MainMenu(this.components);
-            this.fileMenu = new System.Windows.Forms.MenuItem();
-            this.newMenuItem = new System.Windows.Forms.MenuItem();
-            this.openMenuItem = new System.Windows.Forms.MenuItem();
-            this.closeMenuItem = new System.Windows.Forms.MenuItem();
-            this.fileMenuSeparator1 = new System.Windows.Forms.MenuItem();
-            this.saveMenuItem = new System.Windows.Forms.MenuItem();
-            this.saveAsMenuItem = new System.Windows.Forms.MenuItem();
-            this.fileMenuSeparator2 = new System.Windows.Forms.MenuItem();
-            this.reloadProjectMenuItem = new System.Windows.Forms.MenuItem();
-            this.reloadTestsMenuItem = new System.Windows.Forms.MenuItem();
-            this.runtimeMenuItem = new System.Windows.Forms.MenuItem();
-            this.menuItem2 = new System.Windows.Forms.MenuItem();
-            this.recentProjectsMenu = new System.Windows.Forms.MenuItem();
-            this.fileMenuSeparator4 = new System.Windows.Forms.MenuItem();
-            this.exitMenuItem = new System.Windows.Forms.MenuItem();
-            this.viewMenu = new System.Windows.Forms.MenuItem();
-            this.fullGuiMenuItem = new System.Windows.Forms.MenuItem();
-            this.miniGuiMenuItem = new System.Windows.Forms.MenuItem();
-            this.viewMenuSeparator1 = new System.Windows.Forms.MenuItem();
-            this.viewMenuSeparator2 = new System.Windows.Forms.MenuItem();
-            this.guiFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.increaseFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.decreaseFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.fontMenuSeparator = new System.Windows.Forms.MenuItem();
-            this.fontChangeMenuItem = new System.Windows.Forms.MenuItem();
-            this.defaultFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.fixedFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.increaseFixedFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.decreaseFixedFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.menuItem1 = new System.Windows.Forms.MenuItem();
-            this.restoreFixedFontMenuItem = new System.Windows.Forms.MenuItem();
-            this.viewMenuSeparator3 = new System.Windows.Forms.MenuItem();
-            this.statusBarMenuItem = new System.Windows.Forms.MenuItem();
-            this.projectMenu = new System.Windows.Forms.MenuItem();
-            this.configMenuItem = new System.Windows.Forms.MenuItem();
-            this.projectMenuSeparator1 = new System.Windows.Forms.MenuItem();
-            this.addAssemblyMenuItem = new System.Windows.Forms.MenuItem();
-            this.addVSProjectMenuItem = new System.Windows.Forms.MenuItem();
-            this.projectMenuSeparator2 = new System.Windows.Forms.MenuItem();
-            this.editProjectMenuItem = new System.Windows.Forms.MenuItem();
-            this.testMenu = new System.Windows.Forms.MenuItem();
-            this.runAllMenuItem = new System.Windows.Forms.MenuItem();
-            this.runSelectedMenuItem = new System.Windows.Forms.MenuItem();
-            this.runFailedMenuItem = new System.Windows.Forms.MenuItem();
-            this.testMenuSeparator = new System.Windows.Forms.MenuItem();
-            this.stopRunMenuItem = new System.Windows.Forms.MenuItem();
-            this.toolsMenu = new System.Windows.Forms.MenuItem();
-            this.assemblyDetailsMenuItem = new System.Windows.Forms.MenuItem();
-            this.saveXmlResultsMenuItem = new System.Windows.Forms.MenuItem();
-            this.exceptionDetailsMenuItem = new System.Windows.Forms.MenuItem();
-            this.openLogDirectoryMenuItem = new System.Windows.Forms.MenuItem();
-            this.toolsMenuSeparator1 = new System.Windows.Forms.MenuItem();
-            this.settingsMenuItem = new System.Windows.Forms.MenuItem();
-            this.toolsMenuSeparator2 = new System.Windows.Forms.MenuItem();
-            this.addinInfoMenuItem = new System.Windows.Forms.MenuItem();
-            this.helpItem = new System.Windows.Forms.MenuItem();
-            this.helpMenuItem = new System.Windows.Forms.MenuItem();
-            this.helpMenuSeparator1 = new System.Windows.Forms.MenuItem();
-            this.aboutMenuItem = new System.Windows.Forms.MenuItem();
-            this.treeSplitter = new System.Windows.Forms.Splitter();
-            this.rightPanel = new System.Windows.Forms.Panel();
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.suiteName = new CP.Windows.Forms.ExpandingLabel();
-            this.runCount = new CP.Windows.Forms.ExpandingLabel();
-            this.stopButton = new System.Windows.Forms.Button();
-            this.runButton = new System.Windows.Forms.Button();
-            this.progressBar = new NUnit.UiKit.TestProgressBar();
-            this.resultTabs = new NUnit.UiKit.ResultTabs();
-            this.toolTip = new System.Windows.Forms.ToolTip(this.components);
-            this.testTree = new NUnit.UiKit.TestTree();
-            this.leftPanel = new System.Windows.Forms.Panel();
-            this.rightPanel.SuspendLayout();
-            this.groupBox1.SuspendLayout();
-            this.leftPanel.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // statusBar
-            // 
-            this.statusBar.DisplayTestProgress = true;
-            this.statusBar.Location = new System.Drawing.Point(0, 407);
-            this.statusBar.Name = "statusBar";
-            this.statusBar.ShowPanels = true;
-            this.statusBar.Size = new System.Drawing.Size(744, 24);
-            this.statusBar.TabIndex = 0;
-            this.statusBar.Text = "Status";
-            // 
-            // mainMenu
-            // 
-            this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.fileMenu,
-            this.viewMenu,
-            this.projectMenu,
-            this.testMenu,
-            this.toolsMenu,
-            this.helpItem});
-            // 
-            // fileMenu
-            // 
-            this.fileMenu.Index = 0;
-            this.fileMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.newMenuItem,
-            this.openMenuItem,
-            this.closeMenuItem,
-            this.fileMenuSeparator1,
-            this.saveMenuItem,
-            this.saveAsMenuItem,
-            this.fileMenuSeparator2,
-            this.reloadProjectMenuItem,
-            this.reloadTestsMenuItem,
-            this.runtimeMenuItem,
-            this.menuItem2,
-            this.recentProjectsMenu,
-            this.fileMenuSeparator4,
-            this.exitMenuItem});
-            this.fileMenu.Text = "&File";
-            this.fileMenu.Popup += new System.EventHandler(this.fileMenu_Popup);
-            // 
-            // newMenuItem
-            // 
-            this.newMenuItem.Index = 0;
-            this.newMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
-            this.newMenuItem.Text = "&New Project...";
-            this.newMenuItem.Click += new System.EventHandler(this.newMenuItem_Click);
-            // 
-            // openMenuItem
-            // 
-            this.openMenuItem.Index = 1;
-            this.openMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
-            this.openMenuItem.Text = "&Open Project...";
-            this.openMenuItem.Click += new System.EventHandler(this.openMenuItem_Click);
-            // 
-            // closeMenuItem
-            // 
-            this.closeMenuItem.Index = 2;
-            this.closeMenuItem.Text = "&Close";
-            this.closeMenuItem.Click += new System.EventHandler(this.closeMenuItem_Click);
-            // 
-            // fileMenuSeparator1
-            // 
-            this.fileMenuSeparator1.Index = 3;
-            this.fileMenuSeparator1.Text = "-";
-            // 
-            // saveMenuItem
-            // 
-            this.saveMenuItem.Index = 4;
-            this.saveMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlS;
-            this.saveMenuItem.Text = "&Save";
-            this.saveMenuItem.Click += new System.EventHandler(this.saveMenuItem_Click);
-            // 
-            // saveAsMenuItem
-            // 
-            this.saveAsMenuItem.Index = 5;
-            this.saveAsMenuItem.Text = "Save &As...";
-            this.saveAsMenuItem.Click += new System.EventHandler(this.saveAsMenuItem_Click);
-            // 
-            // fileMenuSeparator2
-            // 
-            this.fileMenuSeparator2.Index = 6;
-            this.fileMenuSeparator2.Text = "-";
-            // 
-            // reloadProjectMenuItem
-            // 
-            this.reloadProjectMenuItem.Index = 7;
-            this.reloadProjectMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlL;
-            this.reloadProjectMenuItem.Text = "Re&load Project";
-            this.reloadProjectMenuItem.Click += new System.EventHandler(this.reloadProjectMenuItem_Click);
-            // 
-            // reloadTestsMenuItem
-            // 
-            this.reloadTestsMenuItem.Index = 8;
-            this.reloadTestsMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlR;
-            this.reloadTestsMenuItem.Text = "&Reload Tests";
-            this.reloadTestsMenuItem.Click += new System.EventHandler(this.reloadTestsMenuItem_Click);
-            // 
-            // runtimeMenuItem
-            // 
-            this.runtimeMenuItem.Index = 9;
-            this.runtimeMenuItem.Text = "  Select R&untime";
-            // 
-            // menuItem2
-            // 
-            this.menuItem2.Index = 10;
-            this.menuItem2.Text = "-";
-            // 
-            // recentProjectsMenu
-            // 
-            this.recentProjectsMenu.Index = 11;
-            this.recentProjectsMenu.Text = "Recent &Projects";
-            // 
-            // fileMenuSeparator4
-            // 
-            this.fileMenuSeparator4.Index = 12;
-            this.fileMenuSeparator4.Text = "-";
-            // 
-            // exitMenuItem
-            // 
-            this.exitMenuItem.Index = 13;
-            this.exitMenuItem.Text = "E&xit";
-            this.exitMenuItem.Click += new System.EventHandler(this.exitMenuItem_Click);
-            // 
-            // viewMenu
-            // 
-            this.viewMenu.Index = 1;
-            this.viewMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.fullGuiMenuItem,
-            this.miniGuiMenuItem,
-            this.viewMenuSeparator1,
-            this.viewMenuSeparator2,
-            this.guiFontMenuItem,
-            this.fixedFontMenuItem,
-            this.viewMenuSeparator3,
-            this.statusBarMenuItem});
-            this.viewMenu.Text = "&View";
-            this.viewMenu.Popup += new System.EventHandler(this.viewMenu_Popup);
-            // 
-            // fullGuiMenuItem
-            // 
-            this.fullGuiMenuItem.Checked = true;
-            this.fullGuiMenuItem.Index = 0;
-            this.fullGuiMenuItem.RadioCheck = true;
-            this.fullGuiMenuItem.Text = "&Full GUI";
-            this.fullGuiMenuItem.Click += new System.EventHandler(this.fullGuiMenuItem_Click);
-            // 
-            // miniGuiMenuItem
-            // 
-            this.miniGuiMenuItem.Index = 1;
-            this.miniGuiMenuItem.RadioCheck = true;
-            this.miniGuiMenuItem.Text = "&Mini GUI";
-            this.miniGuiMenuItem.Click += new System.EventHandler(this.miniGuiMenuItem_Click);
-            // 
-            // viewMenuSeparator1
-            // 
-            this.viewMenuSeparator1.Index = 2;
-            this.viewMenuSeparator1.Text = "-";
-            // 
-            // viewMenuSeparator2
-            // 
-            this.viewMenuSeparator2.Index = 3;
-            this.viewMenuSeparator2.Text = "-";
-            // 
-            // guiFontMenuItem
-            // 
-            this.guiFontMenuItem.Index = 4;
-            this.guiFontMenuItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.increaseFontMenuItem,
-            this.decreaseFontMenuItem,
-            this.fontMenuSeparator,
-            this.fontChangeMenuItem,
-            this.defaultFontMenuItem});
-            this.guiFontMenuItem.Text = "GUI Fo&nt";
-            // 
-            // increaseFontMenuItem
-            // 
-            this.increaseFontMenuItem.Index = 0;
-            this.increaseFontMenuItem.Text = "&Increase";
-            this.increaseFontMenuItem.Click += new System.EventHandler(this.increaseFontMenuItem_Click);
-            // 
-            // decreaseFontMenuItem
-            // 
-            this.decreaseFontMenuItem.Index = 1;
-            this.decreaseFontMenuItem.Text = "&Decrease";
-            this.decreaseFontMenuItem.Click += new System.EventHandler(this.decreaseFontMenuItem_Click);
-            // 
-            // fontMenuSeparator
-            // 
-            this.fontMenuSeparator.Index = 2;
-            this.fontMenuSeparator.Text = "-";
-            // 
-            // fontChangeMenuItem
-            // 
-            this.fontChangeMenuItem.Index = 3;
-            this.fontChangeMenuItem.Text = "&Change...";
-            this.fontChangeMenuItem.Click += new System.EventHandler(this.fontChangeMenuItem_Click);
-            // 
-            // defaultFontMenuItem
-            // 
-            this.defaultFontMenuItem.Index = 4;
-            this.defaultFontMenuItem.Text = "&Restore";
-            this.defaultFontMenuItem.Click += new System.EventHandler(this.defaultFontMenuItem_Click);
-            // 
-            // fixedFontMenuItem
-            // 
-            this.fixedFontMenuItem.Index = 5;
-            this.fixedFontMenuItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.increaseFixedFontMenuItem,
-            this.decreaseFixedFontMenuItem,
-            this.menuItem1,
-            this.restoreFixedFontMenuItem});
-            this.fixedFontMenuItem.Text = "Fi&xed Font";
-            // 
-            // increaseFixedFontMenuItem
-            // 
-            this.increaseFixedFontMenuItem.Index = 0;
-            this.increaseFixedFontMenuItem.Text = "&Increase";
-            this.increaseFixedFontMenuItem.Click += new System.EventHandler(this.increaseFixedFontMenuItem_Click);
-            // 
-            // decreaseFixedFontMenuItem
-            // 
-            this.decreaseFixedFontMenuItem.Index = 1;
-            this.decreaseFixedFontMenuItem.Text = "&Decrease";
-            this.decreaseFixedFontMenuItem.Click += new System.EventHandler(this.decreaseFixedFontMenuItem_Click);
-            // 
-            // menuItem1
-            // 
-            this.menuItem1.Index = 2;
-            this.menuItem1.Text = "-";
-            // 
-            // restoreFixedFontMenuItem
-            // 
-            this.restoreFixedFontMenuItem.Index = 3;
-            this.restoreFixedFontMenuItem.Text = "&Restore";
-            this.restoreFixedFontMenuItem.Click += new System.EventHandler(this.restoreFixedFontMenuItem_Click);
-            // 
-            // viewMenuSeparator3
-            // 
-            this.viewMenuSeparator3.Index = 6;
-            this.viewMenuSeparator3.Text = "-";
-            // 
-            // statusBarMenuItem
-            // 
-            this.statusBarMenuItem.Checked = true;
-            this.statusBarMenuItem.Index = 7;
-            this.statusBarMenuItem.Text = "&Status Bar";
-            this.statusBarMenuItem.Click += new System.EventHandler(this.statusBarMenuItem_Click);
-            // 
-            // projectMenu
-            // 
-            this.projectMenu.Index = 2;
-            this.projectMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.configMenuItem,
-            this.projectMenuSeparator1,
-            this.addAssemblyMenuItem,
-            this.addVSProjectMenuItem,
-            this.projectMenuSeparator2,
-            this.editProjectMenuItem});
-            this.projectMenu.Text = "&Project";
-            this.projectMenu.Visible = false;
-            this.projectMenu.Popup += new System.EventHandler(this.projectMenu_Popup);
-            // 
-            // configMenuItem
-            // 
-            this.configMenuItem.Index = 0;
-            this.configMenuItem.Text = "&Configurations";
-            // 
-            // projectMenuSeparator1
-            // 
-            this.projectMenuSeparator1.Index = 1;
-            this.projectMenuSeparator1.Text = "-";
-            // 
-            // addAssemblyMenuItem
-            // 
-            this.addAssemblyMenuItem.Index = 2;
-            this.addAssemblyMenuItem.Text = "Add Assembly...";
-            this.addAssemblyMenuItem.Click += new System.EventHandler(this.addAssemblyMenuItem_Click);
-            // 
-            // addVSProjectMenuItem
-            // 
-            this.addVSProjectMenuItem.Index = 3;
-            this.addVSProjectMenuItem.Text = "Add VS Project...";
-            this.addVSProjectMenuItem.Click += new System.EventHandler(this.addVSProjectMenuItem_Click);
-            // 
-            // projectMenuSeparator2
-            // 
-            this.projectMenuSeparator2.Index = 4;
-            this.projectMenuSeparator2.Text = "-";
-            // 
-            // editProjectMenuItem
-            // 
-            this.editProjectMenuItem.Index = 5;
-            this.editProjectMenuItem.Text = "Edit...";
-            this.editProjectMenuItem.Click += new System.EventHandler(this.editProjectMenuItem_Click);
-            // 
-            // testMenu
-            // 
-            this.testMenu.Index = 3;
-            this.testMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.runAllMenuItem,
-            this.runSelectedMenuItem,
-            this.runFailedMenuItem,
-            this.testMenuSeparator,
-            this.stopRunMenuItem});
-            this.testMenu.Text = "&Tests";
-            // 
-            // runAllMenuItem
-            // 
-            this.runAllMenuItem.Index = 0;
-            this.runAllMenuItem.Shortcut = System.Windows.Forms.Shortcut.F5;
-            this.runAllMenuItem.Text = "&Run All";
-            this.runAllMenuItem.Click += new System.EventHandler(this.runAllMenuItem_Click);
-            // 
-            // runSelectedMenuItem
-            // 
-            this.runSelectedMenuItem.Index = 1;
-            this.runSelectedMenuItem.Shortcut = System.Windows.Forms.Shortcut.F6;
-            this.runSelectedMenuItem.Text = "Run &Selected";
-            this.runSelectedMenuItem.Click += new System.EventHandler(this.runSelectedMenuItem_Click);
-            // 
-            // runFailedMenuItem
-            // 
-            this.runFailedMenuItem.Enabled = false;
-            this.runFailedMenuItem.Index = 2;
-            this.runFailedMenuItem.Shortcut = System.Windows.Forms.Shortcut.F7;
-            this.runFailedMenuItem.Text = "Run &Failed";
-            this.runFailedMenuItem.Click += new System.EventHandler(this.runFailedMenuItem_Click);
-            // 
-            // testMenuSeparator
-            // 
-            this.testMenuSeparator.Index = 3;
-            this.testMenuSeparator.Text = "-";
-            // 
-            // stopRunMenuItem
-            // 
-            this.stopRunMenuItem.Index = 4;
-            this.stopRunMenuItem.Text = "S&top Run";
-            this.stopRunMenuItem.Click += new System.EventHandler(this.stopRunMenuItem_Click);
-            // 
-            // toolsMenu
-            // 
-            this.toolsMenu.Index = 4;
-            this.toolsMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.assemblyDetailsMenuItem,
-            this.saveXmlResultsMenuItem,
-            this.exceptionDetailsMenuItem,
-            this.openLogDirectoryMenuItem,
-            this.toolsMenuSeparator1,
-            this.settingsMenuItem,
-            this.toolsMenuSeparator2,
-            this.addinInfoMenuItem});
-            this.toolsMenu.Text = "T&ools";
-            this.toolsMenu.Popup += new System.EventHandler(this.toolsMenu_Popup);
-            // 
-            // assemblyDetailsMenuItem
-            // 
-            this.assemblyDetailsMenuItem.Index = 0;
-            this.assemblyDetailsMenuItem.Text = "&Test Assemblies...";
-            this.assemblyDetailsMenuItem.Click += new System.EventHandler(this.assemblyDetailsMenuItem_Click);
-            // 
-            // saveXmlResultsMenuItem
-            // 
-            this.saveXmlResultsMenuItem.Index = 1;
-            this.saveXmlResultsMenuItem.Text = "&Save Results as XML...";
-            this.saveXmlResultsMenuItem.Click += new System.EventHandler(this.saveXmlResultsMenuItem_Click);
-            // 
-            // exceptionDetailsMenuItem
-            // 
-            this.exceptionDetailsMenuItem.Index = 2;
-            this.exceptionDetailsMenuItem.Text = "&Exception Details...";
-            this.exceptionDetailsMenuItem.Click += new System.EventHandler(this.exceptionDetailsMenuItem_Click);
-            // 
-            // openLogDirectoryMenuItem
-            // 
-            this.openLogDirectoryMenuItem.Index = 3;
-            this.openLogDirectoryMenuItem.Text = "Open &Log Directory...";
-            this.openLogDirectoryMenuItem.Click += new System.EventHandler(this.openLogDirectoryMenuItem_Click);
-            // 
-            // toolsMenuSeparator1
-            // 
-            this.toolsMenuSeparator1.Index = 4;
-            this.toolsMenuSeparator1.Text = "-";
-            // 
-            // settingsMenuItem
-            // 
-            this.settingsMenuItem.Index = 5;
-            this.settingsMenuItem.Text = "&Settings...";
-            this.settingsMenuItem.Click += new System.EventHandler(this.settingsMenuItem_Click);
-            // 
-            // toolsMenuSeparator2
-            // 
-            this.toolsMenuSeparator2.Index = 6;
-            this.toolsMenuSeparator2.Text = "-";
-            // 
-            // addinInfoMenuItem
-            // 
-            this.addinInfoMenuItem.Index = 7;
-            this.addinInfoMenuItem.Text = "Addins...";
-            this.addinInfoMenuItem.Click += new System.EventHandler(this.addinInfoMenuItem_Click);
-            // 
-            // helpItem
-            // 
-            this.helpItem.Index = 5;
-            this.helpItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-            this.helpMenuItem,
-            this.helpMenuSeparator1,
-            this.aboutMenuItem});
-            this.helpItem.Text = "&Help";
-            // 
-            // helpMenuItem
-            // 
-            this.helpMenuItem.Index = 0;
-            this.helpMenuItem.Shortcut = System.Windows.Forms.Shortcut.F1;
-            this.helpMenuItem.Text = "NUnit &Help...";
-            this.helpMenuItem.Click += new System.EventHandler(this.helpMenuItem_Click);
-            // 
-            // helpMenuSeparator1
-            // 
-            this.helpMenuSeparator1.Index = 1;
-            this.helpMenuSeparator1.Text = "-";
-            // 
-            // aboutMenuItem
-            // 
-            this.aboutMenuItem.Index = 2;
-            this.aboutMenuItem.Text = "&About NUnit...";
-            this.aboutMenuItem.Click += new System.EventHandler(this.aboutMenuItem_Click);
-            // 
-            // treeSplitter
-            // 
-            this.treeSplitter.Location = new System.Drawing.Point(240, 0);
-            this.treeSplitter.MinSize = 240;
-            this.treeSplitter.Name = "treeSplitter";
-            this.treeSplitter.Size = new System.Drawing.Size(6, 407);
-            this.treeSplitter.TabIndex = 2;
-            this.treeSplitter.TabStop = false;
-            // 
-            // rightPanel
-            // 
-            this.rightPanel.BackColor = System.Drawing.SystemColors.Control;
-            this.rightPanel.Controls.Add(this.groupBox1);
-            this.rightPanel.Controls.Add(this.resultTabs);
-            this.rightPanel.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.rightPanel.Location = new System.Drawing.Point(246, 0);
-            this.rightPanel.Name = "rightPanel";
-            this.rightPanel.Size = new System.Drawing.Size(498, 407);
-            this.rightPanel.TabIndex = 3;
-            // 
-            // groupBox1
-            // 
-            this.groupBox1.Controls.Add(this.suiteName);
-            this.groupBox1.Controls.Add(this.runCount);
-            this.groupBox1.Controls.Add(this.stopButton);
-            this.groupBox1.Controls.Add(this.runButton);
-            this.groupBox1.Controls.Add(this.progressBar);
-            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
-            this.groupBox1.Location = new System.Drawing.Point(0, 0);
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(498, 120);
-            this.groupBox1.TabIndex = 0;
-            this.groupBox1.TabStop = false;
-            // 
-            // suiteName
-            // 
-            this.suiteName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                        | System.Windows.Forms.AnchorStyles.Right)));
-            this.suiteName.AutoEllipsis = true;
-            this.suiteName.Location = new System.Drawing.Point(145, 21);
-            this.suiteName.Name = "suiteName";
-            this.suiteName.Size = new System.Drawing.Size(343, 23);
-            this.suiteName.TabIndex = 1;
-            // 
-            // runCount
-            // 
-            this.runCount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                        | System.Windows.Forms.AnchorStyles.Right)));
-            this.runCount.AutoEllipsis = true;
-            this.runCount.Location = new System.Drawing.Point(8, 89);
-            this.runCount.Name = "runCount";
-            this.runCount.Size = new System.Drawing.Size(480, 21);
-            this.runCount.TabIndex = 5;
-            // 
-            // stopButton
-            // 
-            this.stopButton.AutoSize = true;
-            this.stopButton.Location = new System.Drawing.Point(75, 16);
-            this.stopButton.Name = "stopButton";
-            this.stopButton.Size = new System.Drawing.Size(64, 31);
-            this.stopButton.TabIndex = 4;
-            this.stopButton.Text = "&Stop";
-            this.stopButton.Click += new System.EventHandler(this.stopButton_Click);
-            // 
-            // runButton
-            // 
-            this.runButton.Location = new System.Drawing.Point(8, 16);
-            this.runButton.Name = "runButton";
-            this.runButton.Size = new System.Drawing.Size(64, 31);
-            this.runButton.TabIndex = 3;
-            this.runButton.Text = "&Run";
-            this.runButton.Click += new System.EventHandler(this.runButton_Click);
-            // 
-            // progressBar
-            // 
-            this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                        | System.Windows.Forms.AnchorStyles.Right)));
-            this.progressBar.BackColor = System.Drawing.SystemColors.Control;
-            this.progressBar.CausesValidation = false;
-            this.progressBar.Enabled = false;
-            this.progressBar.ForeColor = System.Drawing.SystemColors.Highlight;
-            this.progressBar.Location = new System.Drawing.Point(8, 54);
-            this.progressBar.Maximum = 100;
-            this.progressBar.Minimum = 0;
-            this.progressBar.Name = "progressBar";
-            this.progressBar.Segmented = true;
-            this.progressBar.Size = new System.Drawing.Size(480, 28);
-            this.progressBar.Step = 1;
-            this.progressBar.TabIndex = 0;
-            this.progressBar.Value = 0;
-            // 
-            // resultTabs
-            // 
-            this.resultTabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                        | System.Windows.Forms.AnchorStyles.Left)
-                        | System.Windows.Forms.AnchorStyles.Right)));
-            this.resultTabs.Location = new System.Drawing.Point(0, 120);
-            this.resultTabs.Name = "resultTabs";
-            this.resultTabs.Size = new System.Drawing.Size(498, 284);
-            this.resultTabs.TabIndex = 2;
-            // 
-            // testTree
-            // 
-            this.testTree.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.testTree.Location = new System.Drawing.Point(0, 0);
-            this.testTree.Name = "testTree";
-            this.testTree.ShowCheckBoxes = false;
-            this.testTree.Size = new System.Drawing.Size(240, 407);
-            this.testTree.TabIndex = 0;
-            this.testTree.SelectedTestsChanged += new NUnit.UiKit.SelectedTestsChangedEventHandler(this.testTree_SelectedTestsChanged);
-            // 
-            // leftPanel
-            // 
-            this.leftPanel.Controls.Add(this.testTree);
-            this.leftPanel.Dock = System.Windows.Forms.DockStyle.Left;
-            this.leftPanel.Location = new System.Drawing.Point(0, 0);
-            this.leftPanel.Name = "leftPanel";
-            this.leftPanel.Size = new System.Drawing.Size(240, 407);
-            this.leftPanel.TabIndex = 4;
-            // 
-            // NUnitForm
-            // 
-            this.ClientSize = new System.Drawing.Size(744, 431);
-            this.Controls.Add(this.rightPanel);
-            this.Controls.Add(this.treeSplitter);
-            this.Controls.Add(this.leftPanel);
-            this.Controls.Add(this.statusBar);
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-            this.Menu = this.mainMenu;
-            this.MinimumSize = new System.Drawing.Size(160, 32);
-            this.Name = "NUnitForm";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
-            this.Text = "NUnit";
-            this.Load += new System.EventHandler(this.NUnitForm_Load);
-            this.Closing += new System.ComponentModel.CancelEventHandler(this.NUnitForm_Closing);
-            this.rightPanel.ResumeLayout(false);
-            this.groupBox1.ResumeLayout(false);
-            this.groupBox1.PerformLayout();
-            this.leftPanel.ResumeLayout(false);
-            this.ResumeLayout(false);
-
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NUnitForm));
+            this.statusBar = new NUnit.UiKit.StatusBar();
+            this.mainMenu = new System.Windows.Forms.MainMenu(this.components);
+            this.fileMenu = new System.Windows.Forms.MenuItem();
+            this.newMenuItem = new System.Windows.Forms.MenuItem();
+            this.openMenuItem = new System.Windows.Forms.MenuItem();
+            this.closeMenuItem = new System.Windows.Forms.MenuItem();
+            this.fileMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.saveMenuItem = new System.Windows.Forms.MenuItem();
+            this.saveAsMenuItem = new System.Windows.Forms.MenuItem();
+            this.fileMenuSeparator2 = new System.Windows.Forms.MenuItem();
+            this.reloadProjectMenuItem = new System.Windows.Forms.MenuItem();
+            this.reloadTestsMenuItem = new System.Windows.Forms.MenuItem();
+            this.runtimeMenuItem = new System.Windows.Forms.MenuItem();
+            this.menuItem2 = new System.Windows.Forms.MenuItem();
+            this.recentProjectsMenu = new System.Windows.Forms.MenuItem();
+            this.fileMenuSeparator4 = new System.Windows.Forms.MenuItem();
+            this.exitMenuItem = new System.Windows.Forms.MenuItem();
+            this.viewMenu = new System.Windows.Forms.MenuItem();
+            this.fullGuiMenuItem = new System.Windows.Forms.MenuItem();
+            this.miniGuiMenuItem = new System.Windows.Forms.MenuItem();
+            this.viewMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.viewMenuSeparator2 = new System.Windows.Forms.MenuItem();
+            this.guiFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.increaseFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.decreaseFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.fontMenuSeparator = new System.Windows.Forms.MenuItem();
+            this.fontChangeMenuItem = new System.Windows.Forms.MenuItem();
+            this.defaultFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.fixedFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.increaseFixedFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.decreaseFixedFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.menuItem1 = new System.Windows.Forms.MenuItem();
+            this.restoreFixedFontMenuItem = new System.Windows.Forms.MenuItem();
+            this.viewMenuSeparator3 = new System.Windows.Forms.MenuItem();
+            this.statusBarMenuItem = new System.Windows.Forms.MenuItem();
+            this.projectMenu = new System.Windows.Forms.MenuItem();
+            this.configMenuItem = new System.Windows.Forms.MenuItem();
+            this.projectMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.addAssemblyMenuItem = new System.Windows.Forms.MenuItem();
+            this.addVSProjectMenuItem = new System.Windows.Forms.MenuItem();
+            this.projectMenuSeparator2 = new System.Windows.Forms.MenuItem();
+            this.editProjectMenuItem = new System.Windows.Forms.MenuItem();
+            this.testMenu = new System.Windows.Forms.MenuItem();
+            this.runAllMenuItem = new System.Windows.Forms.MenuItem();
+            this.runSelectedMenuItem = new System.Windows.Forms.MenuItem();
+            this.runFailedMenuItem = new System.Windows.Forms.MenuItem();
+            this.testMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.stopRunMenuItem = new System.Windows.Forms.MenuItem();
+            this.testMenuSeparator2 = new System.Windows.Forms.MenuItem();
+            this.FindTestMenuItem = new System.Windows.Forms.MenuItem();
+            this.toolsMenu = new System.Windows.Forms.MenuItem();
+            this.assemblyDetailsMenuItem = new System.Windows.Forms.MenuItem();
+            this.saveXmlResultsMenuItem = new System.Windows.Forms.MenuItem();
+            this.exceptionDetailsMenuItem = new System.Windows.Forms.MenuItem();
+            this.openLogDirectoryMenuItem = new System.Windows.Forms.MenuItem();
+            this.toolsMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.settingsMenuItem = new System.Windows.Forms.MenuItem();
+            this.toolsMenuSeparator2 = new System.Windows.Forms.MenuItem();
+            this.addinInfoMenuItem = new System.Windows.Forms.MenuItem();
+            this.helpItem = new System.Windows.Forms.MenuItem();
+            this.helpMenuItem = new System.Windows.Forms.MenuItem();
+            this.helpMenuSeparator1 = new System.Windows.Forms.MenuItem();
+            this.aboutMenuItem = new System.Windows.Forms.MenuItem();
+            this.treeSplitter = new System.Windows.Forms.Splitter();
+            this.rightPanel = new System.Windows.Forms.Panel();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.suiteName = new CP.Windows.Forms.ExpandingLabel();
+            this.runCount = new CP.Windows.Forms.ExpandingLabel();
+            this.stopButton = new System.Windows.Forms.Button();
+            this.runButton = new System.Windows.Forms.Button();
+            this.progressBar = new NUnit.UiKit.TestProgressBar();
+            this.resultTabs = new NUnit.UiKit.ResultTabs();
+            this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+            this.testTree = new NUnit.UiKit.TestTree();
+            this.leftPanel = new System.Windows.Forms.Panel();
+            this.rightPanel.SuspendLayout();
+            this.groupBox1.SuspendLayout();
+            this.leftPanel.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // statusBar
+            // 
+            this.statusBar.DisplayTestProgress = true;
+            this.statusBar.Location = new System.Drawing.Point(0, 407);
+            this.statusBar.Name = "statusBar";
+            this.statusBar.ShowPanels = true;
+            this.statusBar.Size = new System.Drawing.Size(744, 24);
+            this.statusBar.TabIndex = 0;
+            this.statusBar.Text = "Status";
+            // 
+            // mainMenu
+            // 
+            this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.fileMenu,
+            this.viewMenu,
+            this.projectMenu,
+            this.testMenu,
+            this.toolsMenu,
+            this.helpItem});
+            // 
+            // fileMenu
+            // 
+            this.fileMenu.Index = 0;
+            this.fileMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.newMenuItem,
+            this.openMenuItem,
+            this.closeMenuItem,
+            this.fileMenuSeparator1,
+            this.saveMenuItem,
+            this.saveAsMenuItem,
+            this.fileMenuSeparator2,
+            this.reloadProjectMenuItem,
+            this.reloadTestsMenuItem,
+            this.runtimeMenuItem,
+            this.menuItem2,
+            this.recentProjectsMenu,
+            this.fileMenuSeparator4,
+            this.exitMenuItem});
+            this.fileMenu.Text = "&File";
+            this.fileMenu.Popup += new System.EventHandler(this.fileMenu_Popup);
+            // 
+            // newMenuItem
+            // 
+            this.newMenuItem.Index = 0;
+            this.newMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
+            this.newMenuItem.Text = "&New Project...";
+            this.newMenuItem.Click += new System.EventHandler(this.newMenuItem_Click);
+            // 
+            // openMenuItem
+            // 
+            this.openMenuItem.Index = 1;
+            this.openMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
+            this.openMenuItem.Text = "&Open Project...";
+            this.openMenuItem.Click += new System.EventHandler(this.openMenuItem_Click);
+            // 
+            // closeMenuItem
+            // 
+            this.closeMenuItem.Index = 2;
+            this.closeMenuItem.Text = "&Close";
+            this.closeMenuItem.Click += new System.EventHandler(this.closeMenuItem_Click);
+            // 
+            // fileMenuSeparator1
+            // 
+            this.fileMenuSeparator1.Index = 3;
+            this.fileMenuSeparator1.Text = "-";
+            // 
+            // saveMenuItem
+            // 
+            this.saveMenuItem.Index = 4;
+            this.saveMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlS;
+            this.saveMenuItem.Text = "&Save";
+            this.saveMenuItem.Click += new System.EventHandler(this.saveMenuItem_Click);
+            // 
+            // saveAsMenuItem
+            // 
+            this.saveAsMenuItem.Index = 5;
+            this.saveAsMenuItem.Text = "Save &As...";
+            this.saveAsMenuItem.Click += new System.EventHandler(this.saveAsMenuItem_Click);
+            // 
+            // fileMenuSeparator2
+            // 
+            this.fileMenuSeparator2.Index = 6;
+            this.fileMenuSeparator2.Text = "-";
+            // 
+            // reloadProjectMenuItem
+            // 
+            this.reloadProjectMenuItem.Index = 7;
+            this.reloadProjectMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlL;
+            this.reloadProjectMenuItem.Text = "Re&load Project";
+            this.reloadProjectMenuItem.Click += new System.EventHandler(this.reloadProjectMenuItem_Click);
+            // 
+            // reloadTestsMenuItem
+            // 
+            this.reloadTestsMenuItem.Index = 8;
+            this.reloadTestsMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlR;
+            this.reloadTestsMenuItem.Text = "&Reload Tests";
+            this.reloadTestsMenuItem.Click += new System.EventHandler(this.reloadTestsMenuItem_Click);
+            // 
+            // runtimeMenuItem
+            // 
+            this.runtimeMenuItem.Index = 9;
+            this.runtimeMenuItem.Text = "  Select R&untime";
+            // 
+            // menuItem2
+            // 
+            this.menuItem2.Index = 10;
+            this.menuItem2.Text = "-";
+            // 
+            // recentProjectsMenu
+            // 
+            this.recentProjectsMenu.Index = 11;
+            this.recentProjectsMenu.Text = "Recent &Projects";
+            // 
+            // fileMenuSeparator4
+            // 
+            this.fileMenuSeparator4.Index = 12;
+            this.fileMenuSeparator4.Text = "-";
+            // 
+            // exitMenuItem
+            // 
+            this.exitMenuItem.Index = 13;
+            this.exitMenuItem.Text = "E&xit";
+            this.exitMenuItem.Click += new System.EventHandler(this.exitMenuItem_Click);
+            // 
+            // viewMenu
+            // 
+            this.viewMenu.Index = 1;
+            this.viewMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.fullGuiMenuItem,
+            this.miniGuiMenuItem,
+            this.viewMenuSeparator1,
+            this.viewMenuSeparator2,
+            this.guiFontMenuItem,
+            this.fixedFontMenuItem,
+            this.viewMenuSeparator3,
+            this.statusBarMenuItem});
+            this.viewMenu.Text = "&View";
+            this.viewMenu.Popup += new System.EventHandler(this.viewMenu_Popup);
+            // 
+            // fullGuiMenuItem
+            // 
+            this.fullGuiMenuItem.Checked = true;
+            this.fullGuiMenuItem.Index = 0;
+            this.fullGuiMenuItem.RadioCheck = true;
+            this.fullGuiMenuItem.Text = "&Full GUI";
+            this.fullGuiMenuItem.Click += new System.EventHandler(this.fullGuiMenuItem_Click);
+            // 
+            // miniGuiMenuItem
+            // 
+            this.miniGuiMenuItem.Index = 1;
+            this.miniGuiMenuItem.RadioCheck = true;
+            this.miniGuiMenuItem.Text = "&Mini GUI";
+            this.miniGuiMenuItem.Click += new System.EventHandler(this.miniGuiMenuItem_Click);
+            // 
+            // viewMenuSeparator1
+            // 
+            this.viewMenuSeparator1.Index = 2;
+            this.viewMenuSeparator1.Text = "-";
+            // 
+            // viewMenuSeparator2
+            // 
+            this.viewMenuSeparator2.Index = 3;
+            this.viewMenuSeparator2.Text = "-";
+            // 
+            // guiFontMenuItem
+            // 
+            this.guiFontMenuItem.Index = 4;
+            this.guiFontMenuItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.increaseFontMenuItem,
+            this.decreaseFontMenuItem,
+            this.fontMenuSeparator,
+            this.fontChangeMenuItem,
+            this.defaultFontMenuItem});
+            this.guiFontMenuItem.Text = "GUI Fo&nt";
+            // 
+            // increaseFontMenuItem
+            // 
+            this.increaseFontMenuItem.Index = 0;
+            this.increaseFontMenuItem.Text = "&Increase";
+            this.increaseFontMenuItem.Click += new System.EventHandler(this.increaseFontMenuItem_Click);
+            // 
+            // decreaseFontMenuItem
+            // 
+            this.decreaseFontMenuItem.Index = 1;
+            this.decreaseFontMenuItem.Text = "&Decrease";
+            this.decreaseFontMenuItem.Click += new System.EventHandler(this.decreaseFontMenuItem_Click);
+            // 
+            // fontMenuSeparator
+            // 
+            this.fontMenuSeparator.Index = 2;
+            this.fontMenuSeparator.Text = "-";
+            // 
+            // fontChangeMenuItem
+            // 
+            this.fontChangeMenuItem.Index = 3;
+            this.fontChangeMenuItem.Text = "&Change...";
+            this.fontChangeMenuItem.Click += new System.EventHandler(this.fontChangeMenuItem_Click);
+            // 
+            // defaultFontMenuItem
+            // 
+            this.defaultFontMenuItem.Index = 4;
+            this.defaultFontMenuItem.Text = "&Restore";
+            this.defaultFontMenuItem.Click += new System.EventHandler(this.defaultFontMenuItem_Click);
+            // 
+            // fixedFontMenuItem
+            // 
+            this.fixedFontMenuItem.Index = 5;
+            this.fixedFontMenuItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.increaseFixedFontMenuItem,
+            this.decreaseFixedFontMenuItem,
+            this.menuItem1,
+            this.restoreFixedFontMenuItem});
+            this.fixedFontMenuItem.Text = "Fi&xed Font";
+            // 
+            // increaseFixedFontMenuItem
+            // 
+            this.increaseFixedFontMenuItem.Index = 0;
+            this.increaseFixedFontMenuItem.Text = "&Increase";
+            this.increaseFixedFontMenuItem.Click += new System.EventHandler(this.increaseFixedFontMenuItem_Click);
+            // 
+            // decreaseFixedFontMenuItem
+            // 
+            this.decreaseFixedFontMenuItem.Index = 1;
+            this.decreaseFixedFontMenuItem.Text = "&Decrease";
+            this.decreaseFixedFontMenuItem.Click += new System.EventHandler(this.decreaseFixedFontMenuItem_Click);
+            // 
+            // menuItem1
+            // 
+            this.menuItem1.Index = 2;
+            this.menuItem1.Text = "-";
+            // 
+            // restoreFixedFontMenuItem
+            // 
+            this.restoreFixedFontMenuItem.Index = 3;
+            this.restoreFixedFontMenuItem.Text = "&Restore";
+            this.restoreFixedFontMenuItem.Click += new System.EventHandler(this.restoreFixedFontMenuItem_Click);
+            // 
+            // viewMenuSeparator3
+            // 
+            this.viewMenuSeparator3.Index = 6;
+            this.viewMenuSeparator3.Text = "-";
+            // 
+            // statusBarMenuItem
+            // 
+            this.statusBarMenuItem.Checked = true;
+            this.statusBarMenuItem.Index = 7;
+            this.statusBarMenuItem.Text = "&Status Bar";
+            this.statusBarMenuItem.Click += new System.EventHandler(this.statusBarMenuItem_Click);
+            // 
+            // projectMenu
+            // 
+            this.projectMenu.Index = 2;
+            this.projectMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.configMenuItem,
+            this.projectMenuSeparator1,
+            this.addAssemblyMenuItem,
+            this.addVSProjectMenuItem,
+            this.projectMenuSeparator2,
+            this.editProjectMenuItem});
+            this.projectMenu.Text = "&Project";
+            this.projectMenu.Visible = false;
+            this.projectMenu.Popup += new System.EventHandler(this.projectMenu_Popup);
+            // 
+            // configMenuItem
+            // 
+            this.configMenuItem.Index = 0;
+            this.configMenuItem.Text = "&Configurations";
+            // 
+            // projectMenuSeparator1
+            // 
+            this.projectMenuSeparator1.Index = 1;
+            this.projectMenuSeparator1.Text = "-";
+            // 
+            // addAssemblyMenuItem
+            // 
+            this.addAssemblyMenuItem.Index = 2;
+            this.addAssemblyMenuItem.Text = "Add Assembly...";
+            this.addAssemblyMenuItem.Click += new System.EventHandler(this.addAssemblyMenuItem_Click);
+            // 
+            // addVSProjectMenuItem
+            // 
+            this.addVSProjectMenuItem.Index = 3;
+            this.addVSProjectMenuItem.Text = "Add VS Project...";
+            this.addVSProjectMenuItem.Click += new System.EventHandler(this.addVSProjectMenuItem_Click);
+            // 
+            // projectMenuSeparator2
+            // 
+            this.projectMenuSeparator2.Index = 4;
+            this.projectMenuSeparator2.Text = "-";
+            // 
+            // editProjectMenuItem
+            // 
+            this.editProjectMenuItem.Index = 5;
+            this.editProjectMenuItem.Text = "Edit...";
+            this.editProjectMenuItem.Click += new System.EventHandler(this.editProjectMenuItem_Click);
+            // 
+            // testMenu
+            // 
+            this.testMenu.Index = 3;
+            this.testMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.runAllMenuItem,
+            this.runSelectedMenuItem,
+            this.runFailedMenuItem,
+            this.testMenuSeparator1,
+            this.stopRunMenuItem,
+            this.testMenuSeparator2,
+            this.FindTestMenuItem});
+            this.testMenu.Text = "&Tests";
+            // 
+            // runAllMenuItem
+            // 
+            this.runAllMenuItem.Index = 0;
+            this.runAllMenuItem.Shortcut = System.Windows.Forms.Shortcut.F5;
+            this.runAllMenuItem.Text = "&Run All";
+            this.runAllMenuItem.Click += new System.EventHandler(this.runAllMenuItem_Click);
+            // 
+            // runSelectedMenuItem
+            // 
+            this.runSelectedMenuItem.Index = 1;
+            this.runSelectedMenuItem.Shortcut = System.Windows.Forms.Shortcut.F6;
+            this.runSelectedMenuItem.Text = "Run &Selected";
+            this.runSelectedMenuItem.Click += new System.EventHandler(this.runSelectedMenuItem_Click);
+            // 
+            // runFailedMenuItem
+            // 
+            this.runFailedMenuItem.Enabled = false;
+            this.runFailedMenuItem.Index = 2;
+            this.runFailedMenuItem.Shortcut = System.Windows.Forms.Shortcut.F7;
+            this.runFailedMenuItem.Text = "Run &Failed";
+            this.runFailedMenuItem.Click += new System.EventHandler(this.runFailedMenuItem_Click);
+            // 
+            // testMenuSeparator1
+            // 
+            this.testMenuSeparator1.Index = 3;
+            this.testMenuSeparator1.Text = "-";
+            // 
+            // stopRunMenuItem
+            // 
+            this.stopRunMenuItem.Index = 4;
+            this.stopRunMenuItem.Text = "S&top Run";
+            this.stopRunMenuItem.Click += new System.EventHandler(this.stopRunMenuItem_Click);
+            // 
+            // testMenuSeparator2
+            // 
+            this.testMenuSeparator2.Index = 5;
+            this.testMenuSeparator2.Text = "-";
+            // 
+            // FindTestMenuItem
+            // 
+            this.FindTestMenuItem.Index = 6;
+            this.FindTestMenuItem.Shortcut = System.Windows.Forms.Shortcut.CtrlF;
+            this.FindTestMenuItem.Text = "&Find";
+            this.FindTestMenuItem.Click += new System.EventHandler(this.FindTestMenuItem_Click);
+            // 
+            // toolsMenu
+            // 
+            this.toolsMenu.Index = 4;
+            this.toolsMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.assemblyDetailsMenuItem,
+            this.saveXmlResultsMenuItem,
+            this.exceptionDetailsMenuItem,
+            this.openLogDirectoryMenuItem,
+            this.toolsMenuSeparator1,
+            this.settingsMenuItem,
+            this.toolsMenuSeparator2,
+            this.addinInfoMenuItem});
+            this.toolsMenu.Text = "T&ools";
+            this.toolsMenu.Popup += new System.EventHandler(this.toolsMenu_Popup);
+            // 
+            // assemblyDetailsMenuItem
+            // 
+            this.assemblyDetailsMenuItem.Index = 0;
+            this.assemblyDetailsMenuItem.Text = "&Test Assemblies...";
+            this.assemblyDetailsMenuItem.Click += new System.EventHandler(this.assemblyDetailsMenuItem_Click);
+            // 
+            // saveXmlResultsMenuItem
+            // 
+            this.saveXmlResultsMenuItem.Index = 1;
+            this.saveXmlResultsMenuItem.Text = "&Save Results as XML...";
+            this.saveXmlResultsMenuItem.Click += new System.EventHandler(this.saveXmlResultsMenuItem_Click);
+            // 
+            // exceptionDetailsMenuItem
+            // 
+            this.exceptionDetailsMenuItem.Index = 2;
+            this.exceptionDetailsMenuItem.Text = "&Exception Details...";
+            this.exceptionDetailsMenuItem.Click += new System.EventHandler(this.exceptionDetailsMenuItem_Click);
+            // 
+            // openLogDirectoryMenuItem
+            // 
+            this.openLogDirectoryMenuItem.Index = 3;
+            this.openLogDirectoryMenuItem.Text = "Open &Log Directory...";
+            this.openLogDirectoryMenuItem.Click += new System.EventHandler(this.openLogDirectoryMenuItem_Click);
+            // 
+            // toolsMenuSeparator1
+            // 
+            this.toolsMenuSeparator1.Index = 4;
+            this.toolsMenuSeparator1.Text = "-";
+            // 
+            // settingsMenuItem
+            // 
+            this.settingsMenuItem.Index = 5;
+            this.settingsMenuItem.Text = "&Settings...";
+            this.settingsMenuItem.Click += new System.EventHandler(this.settingsMenuItem_Click);
+            // 
+            // toolsMenuSeparator2
+            // 
+            this.toolsMenuSeparator2.Index = 6;
+            this.toolsMenuSeparator2.Text = "-";
+            // 
+            // addinInfoMenuItem
+            // 
+            this.addinInfoMenuItem.Index = 7;
+            this.addinInfoMenuItem.Text = "Addins...";
+            this.addinInfoMenuItem.Click += new System.EventHandler(this.addinInfoMenuItem_Click);
+            // 
+            // helpItem
+            // 
+            this.helpItem.Index = 5;
+            this.helpItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+            this.helpMenuItem,
+            this.helpMenuSeparator1,
+            this.aboutMenuItem});
+            this.helpItem.Text = "&Help";
+            // 
+            // helpMenuItem
+            // 
+            this.helpMenuItem.Index = 0;
+            this.helpMenuItem.Shortcut = System.Windows.Forms.Shortcut.F1;
+            this.helpMenuItem.Text = "NUnit &Help...";
+            this.helpMenuItem.Click += new System.EventHandler(this.helpMenuItem_Click);
+            // 
+            // helpMenuSeparator1
+            // 
+            this.helpMenuSeparator1.Index = 1;
+            this.helpMenuSeparator1.Text = "-";
+            // 
+            // aboutMenuItem
+            // 
+            this.aboutMenuItem.Index = 2;
+            this.aboutMenuItem.Text = "&About NUnit...";
+            this.aboutMenuItem.Click += new System.EventHandler(this.aboutMenuItem_Click);
+            // 
+            // treeSplitter
+            // 
+            this.treeSplitter.Location = new System.Drawing.Point(240, 0);
+            this.treeSplitter.MinSize = 240;
+            this.treeSplitter.Name = "treeSplitter";
+            this.treeSplitter.Size = new System.Drawing.Size(6, 407);
+            this.treeSplitter.TabIndex = 2;
+            this.treeSplitter.TabStop = false;
+            // 
+            // rightPanel
+            // 
+            this.rightPanel.BackColor = System.Drawing.SystemColors.Control;
+            this.rightPanel.Controls.Add(this.groupBox1);
+            this.rightPanel.Controls.Add(this.resultTabs);
+            this.rightPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.rightPanel.Location = new System.Drawing.Point(246, 0);
+            this.rightPanel.Name = "rightPanel";
+            this.rightPanel.Size = new System.Drawing.Size(498, 407);
+            this.rightPanel.TabIndex = 3;
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.suiteName);
+            this.groupBox1.Controls.Add(this.runCount);
+            this.groupBox1.Controls.Add(this.stopButton);
+            this.groupBox1.Controls.Add(this.runButton);
+            this.groupBox1.Controls.Add(this.progressBar);
+            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.groupBox1.Location = new System.Drawing.Point(0, 0);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(498, 120);
+            this.groupBox1.TabIndex = 0;
+            this.groupBox1.TabStop = false;
+            // 
+            // suiteName
+            // 
+            this.suiteName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.suiteName.AutoEllipsis = true;
+            this.suiteName.Location = new System.Drawing.Point(145, 21);
+            this.suiteName.Name = "suiteName";
+            this.suiteName.Size = new System.Drawing.Size(343, 23);
+            this.suiteName.TabIndex = 1;
+            // 
+            // runCount
+            // 
+            this.runCount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.runCount.AutoEllipsis = true;
+            this.runCount.Location = new System.Drawing.Point(8, 89);
+            this.runCount.Name = "runCount";
+            this.runCount.Size = new System.Drawing.Size(480, 21);
+            this.runCount.TabIndex = 5;
+            // 
+            // stopButton
+            // 
+            this.stopButton.AutoSize = true;
+            this.stopButton.Location = new System.Drawing.Point(75, 16);
+            this.stopButton.Name = "stopButton";
+            this.stopButton.Size = new System.Drawing.Size(64, 31);
+            this.stopButton.TabIndex = 4;
+            this.stopButton.Text = "&Stop";
+            this.stopButton.Click += new System.EventHandler(this.stopButton_Click);
+            // 
+            // runButton
+            // 
+            this.runButton.Location = new System.Drawing.Point(8, 16);
+            this.runButton.Name = "runButton";
+            this.runButton.Size = new System.Drawing.Size(64, 31);
+            this.runButton.TabIndex = 3;
+            this.runButton.Text = "&Run";
+            this.runButton.Click += new System.EventHandler(this.runButton_Click);
+            // 
+            // progressBar
+            // 
+            this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.progressBar.BackColor = System.Drawing.SystemColors.Control;
+            this.progressBar.CausesValidation = false;
+            this.progressBar.Enabled = false;
+            this.progressBar.ForeColor = System.Drawing.SystemColors.Highlight;
+            this.progressBar.Location = new System.Drawing.Point(8, 54);
+            this.progressBar.Maximum = 100;
+            this.progressBar.Minimum = 0;
+            this.progressBar.Name = "progressBar";
+            this.progressBar.Segmented = true;
+            this.progressBar.Size = new System.Drawing.Size(480, 28);
+            this.progressBar.Step = 1;
+            this.progressBar.TabIndex = 0;
+            this.progressBar.Value = 0;
+            // 
+            // resultTabs
+            // 
+            this.resultTabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.resultTabs.Location = new System.Drawing.Point(0, 120);
+            this.resultTabs.Name = "resultTabs";
+            this.resultTabs.Size = new System.Drawing.Size(498, 284);
+            this.resultTabs.TabIndex = 2;
+            // 
+            // testTree
+            // 
+            this.testTree.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.testTree.IsFindVisible = false;
+            this.testTree.Location = new System.Drawing.Point(0, 0);
+            this.testTree.Name = "testTree";
+            this.testTree.ShowCheckBoxes = false;
+            this.testTree.Size = new System.Drawing.Size(240, 407);
+            this.testTree.TabIndex = 0;
+            this.testTree.SelectedTestsChanged += new NUnit.UiKit.SelectedTestsChangedEventHandler(this.testTree_SelectedTestsChanged);
+            // 
+            // leftPanel
+            // 
+            this.leftPanel.Controls.Add(this.testTree);
+            this.leftPanel.Dock = System.Windows.Forms.DockStyle.Left;
+            this.leftPanel.Location = new System.Drawing.Point(0, 0);
+            this.leftPanel.Name = "leftPanel";
+            this.leftPanel.Size = new System.Drawing.Size(240, 407);
+            this.leftPanel.TabIndex = 4;
+            // 
+            // NUnitForm
+            // 
+            this.ClientSize = new System.Drawing.Size(744, 431);
+            this.Controls.Add(this.rightPanel);
+            this.Controls.Add(this.treeSplitter);
+            this.Controls.Add(this.leftPanel);
+            this.Controls.Add(this.statusBar);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Menu = this.mainMenu;
+            this.MinimumSize = new System.Drawing.Size(160, 32);
+            this.Name = "NUnitForm";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
+            this.Text = "NUnit";
+            this.Closing += new System.ComponentModel.CancelEventHandler(this.NUnitForm_Closing);
+            this.Load += new System.EventHandler(this.NUnitForm_Load);
+            this.rightPanel.ResumeLayout(false);
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
+            this.leftPanel.ResumeLayout(false);
+            this.ResumeLayout(false);
+
 		}
 
 		#endregion
@@ -1867,7 +1886,8 @@
 		private void EnableRunCommand( bool enable )
 		{
 			runButton.Enabled = enable;
-			runAllMenuItem.Enabled = enable;
+			runAllMenuItem.Enabled = enable;
+            FindTestMenuItem.Enabled = enable;
 			runSelectedMenuItem.Enabled = enable;
 		    runFailedMenuItem.Enabled = enable && this.TestLoader.TestResult != null &&
 		        (this.TestLoader.TestResult.ResultState == ResultState.Failure ||
@@ -1880,7 +1900,15 @@
 			stopRunMenuItem.Enabled = enable;
 		}
 
-		#endregion	
+		#endregion	
+
+        private void FindTestMenuItem_Click(object sender, EventArgs e)
+        {
+            if (!testTree.IsFindVisible)
+            {
+                testTree.IsFindVisible = true;
+            }
+        }
 	}
 }
 

=== modified file 'src/GuiRunner/nunit-gui/NUnitForm.resx'
--- src/GuiRunner/nunit-gui/NUnitForm.resx	2010-12-22 03:57:17 +0000
+++ src/GuiRunner/nunit-gui/NUnitForm.resx	2012-08-09 05:13:22 +0000
@@ -1,152 +1,152 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"; />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="mainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>130, 17</value>
-  </metadata>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>65</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAAAC
-        AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
-        ////////////////////////////////////////qqqqqv///6qq/5mZmZn//6qqqqr///+qqvmZmZmZ
-        n/+qqqqq///6qqqZmf//mZn//6qv////+qqqmZ////mZ//+qr////6qqqpmf///5mf//qq////+qqqqZ
-        n///+Zn//6qv///6qqqqmZ////mZ//+qr///+qqqqpmf///5mf//qq///6qq+qqZn///+Zn//6qv//qq
-        qvqqmZ////mZ//+qr//6qq/6qpmf///5mf//qq//qqqv+qqZn///+Zn//6qv/6qq//qZmZmf+ZmZmf+q
-        r/qqqv/6mZmZn/mZmZn/qq/6qq//+qr//////////6qvqqqv//qq//////////+qqqqq///6qv//////
-        ////qqqqqv//+qr//////////6qqqq////qq/////////6qqqqqv/6qqqqqv//////+qqqqq//+qqqqq
-        r///////qqqqqv//qqqqqq//////////////////////////////////////////////////////////
-        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AGZmZmZmZmZmZmZmZmZm
-        Zmb/////////////////////qqr/qv+Zn//6r/qq+f/5//qv+qr5//n/+q+qqvn/+f/6r6+q+f/5//qq
-        r6qZn5mf+qqvqv////+qqvqqr///////////////////////////////////////////////AAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-</value>
-  </data>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"; />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="mainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>130, 17</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>65</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAAAC
+        AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/
+        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
+        ////////////////////////////////////////qqqqqv///6qq/5mZmZn//6qqqqr///+qqvmZmZmZ
+        n/+qqqqq///6qqqZmf//mZn//6qv////+qqqmZ////mZ//+qr////6qqqpmf///5mf//qq////+qqqqZ
+        n///+Zn//6qv///6qqqqmZ////mZ//+qr///+qqqqpmf///5mf//qq///6qq+qqZn///+Zn//6qv//qq
+        qvqqmZ////mZ//+qr//6qq/6qpmf///5mf//qq//qqqv+qqZn///+Zn//6qv/6qq//qZmZmf+ZmZmf+q
+        r/qqqv/6mZmZn/mZmZn/qq/6qq//+qr//////////6qvqqqv//qq//////////+qqqqq///6qv//////
+        ////qqqqqv//+qr//////////6qqqq////qq/////////6qqqqqv/6qqqqqv//////+qqqqq//+qqqqq
+        r///////qqqqqv//qqqqqq//////////////////////////////////////////////////////////
+        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA
+        AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AGZmZmZmZmZmZmZmZmZm
+        Zmb/////////////////////qqr/qv+Zn//6r/qq+f/5//qv+qr5//n/+q+qqvn/+f/6r6+q+f/5//qq
+        r6qZn5mf+qqvqv////+qqvqqr///////////////////////////////////////////////AAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+  </data>
 </root>
\ No newline at end of file

=== modified file 'src/GuiRunner/nunit-gui/nunit-gui.csproj'
--- src/GuiRunner/nunit-gui/nunit-gui.csproj	2012-08-08 03:34:12 +0000
+++ src/GuiRunner/nunit-gui/nunit-gui.csproj	2012-08-09 05:13:22 +0000
@@ -1,277 +1,276 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="4.0">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{3FF340D5-D3B4-4DF0-BAF1-98B3C00B6148}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>nunit-gui-runner</AssemblyName>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>NUnit.Gui</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>3.5</OldToolsVersion>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>..\..\..\bin\Debug\lib\</OutputPath>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoWarn>1699</NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>..\..\..\bin\Release\lib\</OutputPath>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <FileAlignment>4096</FileAlignment>
-    <NoWarn>1699</NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-    <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj">
-      <Name>nunit.util.dll</Name>
-      <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\GuiComponents\UiKit\nunit.uikit.dll.csproj">
-      <Name>nunit.uikit.dll</Name>
-      <Project>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj">
-      <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project>
-      <Name>nunit.uiexception.dll</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj">
-      <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>
-      <Name>nunit.core.dll</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj">
-      <Name>nunit.core.interfaces.dll</Name>
-      <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <Reference Include="System.Configuration" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\CommonAssemblyInfo.cs">
-      <Link>CommonAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="AboutBox.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AddinDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AppEntry.cs" />
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="DetailResults.cs" />
-    <Compile Include="ExceptionDetailsForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="GuiOptions.cs" />
-    <Compile Include="NUnitForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="OptionsDialog.cs" />
-    <Compile Include="RecentFileMenuHandler.cs" />
-    <Compile Include="SettingsPages\AdvancedLoaderSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\AssemblyReloadSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\RuntimeSelectionSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\RuntimeSelectionSettingsPage.Designer.cs">
-      <DependentUpon>RuntimeSelectionSettingsPage.cs</DependentUpon>
-    </Compile>
-    <Compile Include="SettingsPages\GuiSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\InternalTraceSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\InternalTraceSettingsPage.Designer.cs">
-      <DependentUpon>InternalTraceSettingsPage.cs</DependentUpon>
-    </Compile>
-    <Compile Include="SettingsPages\ProjectEditorSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\ProjectEditorSettingsPage.Designer.cs">
-      <DependentUpon>ProjectEditorSettingsPage.cs</DependentUpon>
-    </Compile>
-    <Compile Include="SettingsPages\TestLoaderSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\TestResultSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\TreeSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SettingsPages\VisualStudioSettingsPage.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="TestAssemblyInfoForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="NUnitPresenter.cs" />
-    <EmbeddedResource Include="AboutBox.resx">
-      <DependentUpon>AboutBox.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="AddinDialog.resx">
-      <DependentUpon>AddinDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ExceptionDetailsForm.resx">
-      <DependentUpon>ExceptionDetailsForm.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="NUnitForm.resx">
-      <DependentUpon>NUnitForm.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="OptionsDialog.resx">
-      <DependentUpon>OptionsDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\AdvancedLoaderSettingsPage.resx">
-      <DependentUpon>AdvancedLoaderSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\AssemblyReloadSettingsPage.resx">
-      <DependentUpon>AssemblyReloadSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\RuntimeSelectionSettingsPage.resx">
-      <DependentUpon>RuntimeSelectionSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\GuiSettingsPage.resx">
-      <DependentUpon>GuiSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\InternalTraceSettingsPage.resx">
-      <DependentUpon>InternalTraceSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\ProjectEditorSettingsPage.resx">
-      <DependentUpon>ProjectEditorSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\TestLoaderSettingsPage.resx">
-      <DependentUpon>TestLoaderSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\TestResultSettingsPage.resx">
-      <DependentUpon>TestResultSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\TreeSettingsPage.resx">
-      <DependentUpon>TreeSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SettingsPages\VisualStudioSettingsPage.resx">
-      <DependentUpon>VisualStudioSettingsPage.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="nunit-gui.build" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="4.0">
+  <PropertyGroup>
+    <ProjectType>Local</ProjectType>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{3FF340D5-D3B4-4DF0-BAF1-98B3C00B6148}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyKeyContainerName>
+    </AssemblyKeyContainerName>
+    <AssemblyName>nunit-gui-runner</AssemblyName>
+    <DefaultClientScript>JScript</DefaultClientScript>
+    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+    <DefaultTargetSchema>IE50</DefaultTargetSchema>
+    <DelaySign>false</DelaySign>
+    <OutputType>Library</OutputType>
+    <RootNamespace>NUnit.Gui</RootNamespace>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <OutputPath>..\..\..\bin\Debug\lib\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <NoWarn>1699</NoWarn>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <OutputPath>..\..\..\bin\Release\lib\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <FileAlignment>4096</FileAlignment>
+    <NoWarn>1699</NoWarn>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>none</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System">
+      <Name>System</Name>
+    </Reference>
+    <Reference Include="System.Data">
+      <Name>System.Data</Name>
+    </Reference>
+    <Reference Include="System.Drawing">
+      <Name>System.Drawing</Name>
+    </Reference>
+    <Reference Include="System.Windows.Forms">
+      <Name>System.Windows.Forms</Name>
+    </Reference>
+    <Reference Include="System.Xml">
+      <Name>System.XML</Name>
+    </Reference>
+    <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj">
+      <Name>nunit.util.dll</Name>
+      <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\GuiComponents\UiKit\nunit.uikit.dll.csproj">
+      <Name>nunit.uikit.dll</Name>
+      <Project>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</Project>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj">
+      <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project>
+      <Name>nunit.uiexception.dll</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj">
+      <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project>
+      <Name>nunit.core.dll</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj">
+      <Name>nunit.core.interfaces.dll</Name>
+      <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project>
+      <Private>False</Private>
+    </ProjectReference>
+    <Reference Include="System.Configuration" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\CommonAssemblyInfo.cs">
+      <Link>CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="AboutBox.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AddinDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AppEntry.cs" />
+    <Compile Include="AssemblyInfo.cs" />
+    <Compile Include="DetailResults.cs" />
+    <Compile Include="ExceptionDetailsForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="GuiOptions.cs" />
+    <Compile Include="NUnitForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="OptionsDialog.cs" />
+    <Compile Include="RecentFileMenuHandler.cs" />
+    <Compile Include="SettingsPages\AdvancedLoaderSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\AssemblyReloadSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\RuntimeSelectionSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\RuntimeSelectionSettingsPage.Designer.cs">
+      <DependentUpon>RuntimeSelectionSettingsPage.cs</DependentUpon>
+    </Compile>
+    <Compile Include="SettingsPages\GuiSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\InternalTraceSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\InternalTraceSettingsPage.Designer.cs">
+      <DependentUpon>InternalTraceSettingsPage.cs</DependentUpon>
+    </Compile>
+    <Compile Include="SettingsPages\ProjectEditorSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\ProjectEditorSettingsPage.Designer.cs">
+      <DependentUpon>ProjectEditorSettingsPage.cs</DependentUpon>
+    </Compile>
+    <Compile Include="SettingsPages\TestLoaderSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\TestResultSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\TreeSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SettingsPages\VisualStudioSettingsPage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="TestAssemblyInfoForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="NUnitPresenter.cs" />
+    <EmbeddedResource Include="AboutBox.resx">
+      <DependentUpon>AboutBox.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="AddinDialog.resx">
+      <DependentUpon>AddinDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ExceptionDetailsForm.resx">
+      <DependentUpon>ExceptionDetailsForm.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="NUnitForm.resx">
+      <DependentUpon>NUnitForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="OptionsDialog.resx">
+      <DependentUpon>OptionsDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\AdvancedLoaderSettingsPage.resx">
+      <DependentUpon>AdvancedLoaderSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\AssemblyReloadSettingsPage.resx">
+      <DependentUpon>AssemblyReloadSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\RuntimeSelectionSettingsPage.resx">
+      <DependentUpon>RuntimeSelectionSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\GuiSettingsPage.resx">
+      <DependentUpon>GuiSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\InternalTraceSettingsPage.resx">
+      <DependentUpon>InternalTraceSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\ProjectEditorSettingsPage.resx">
+      <DependentUpon>ProjectEditorSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\TestLoaderSettingsPage.resx">
+      <DependentUpon>TestLoaderSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\TestResultSettingsPage.resx">
+      <DependentUpon>TestResultSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\TreeSettingsPage.resx">
+      <DependentUpon>TreeSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SettingsPages\VisualStudioSettingsPage.resx">
+      <DependentUpon>VisualStudioSettingsPage.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="nunit-gui.build" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file