示例#1
0
        private void OnTestUnloaded(object sender, TestEventArgs e)
        {
            ClosePropertiesDialog();

            if (Services.UserSettings.GetSetting("Gui.TestTree.SaveVisualState", true) && loader != null)
            {
                try
                {
                    new VisualState(this).Save(VisualState.GetVisualStateFileName(loader.TestFileName));
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Unable to save visual state.");
                    Debug.WriteLine(ex);
                }
            }

            Clear();
            explicitlySelectedNode = null;
            runCommandEnabled      = false;
        }
示例#2
0
        private void RestoreVisualState( VisualState visualState )
        {
            this.CheckBoxes = visualState.ShowCheckBoxes;

            foreach (VisualTreeNode visualNode in visualState.Nodes)
            {
                TestSuiteTreeNode treeNode = this[visualNode.UniqueName];
                if (treeNode != null)
                {
                    if (treeNode.IsExpanded != visualNode.Expanded)
                        treeNode.Toggle();

                    treeNode.Checked = visualNode.Checked;
                }
            }

            if (visualState.SelectedNode != null)
            {
                TestSuiteTreeNode treeNode = this[visualState.SelectedNode];
                if (treeNode != null)
                    this.SelectedNode = treeNode;
            }

            if (visualState.TopNode != null)
            {
                TestSuiteTreeNode treeNode = this[visualState.TopNode];
                if (treeNode != null)
                    TryToSetTopNode(treeNode);
            }

            if (visualState.SelectedCategories != null)
            {
                TestFilter filter = new CategoryFilter(visualState.SelectedCategories.Split(new char[] { ',' }));
                if (visualState.ExcludeCategories)
                    filter = new NotFilter(filter);
                this.CategoryFilter = filter;
            }

            this.Select();
        }
		/// <summary>
		/// Reload the tree with a changed test hierarchy
		/// while maintaining as much gui state as possible.
		/// </summary>
		/// <param name="test">Test suite to be loaded</param>
		public void Reload( TestNode test )
		{
            TestResult result = ((TestSuiteTreeNode)Nodes[0]).Result;
            VisualState visualState = new VisualState(this);

            Load(test);

            visualState.Restore(this);

            if (result != null && !Services.UserSettings.GetSetting("Options.TestLoader.ClearResultsOnReload", false))
                RestoreResults(result);
		}