Пример #1
0
		public virtual void UpdateVisibility()
		{
			for (int i = 0; i < invisibleNodes.Count;) {
				if (invisibleNodes[i].Visible) {
					invisibleNodes[i].AddTo(this);
					invisibleNodes.RemoveAt(i);
					continue;
				}
				++i;
			}
			
			foreach (TreeNode node in Nodes) {
				if (node is ExtTreeNode) {
					ExtTreeNode extTreeNode = (ExtTreeNode)node;
					if (!extTreeNode.Visible) {
						invisibleNodes.Add(extTreeNode);
					}
				}
			}
			
			foreach (TreeNode node in invisibleNodes) {
				Nodes.Remove(node);
			}
			
			foreach (TreeNode node in Nodes) {
				if (node is ExtTreeNode) {
					((ExtTreeNode)node).UpdateVisibility();
				}
			}
		}
Пример #2
0
        protected override void OnDragOver(DragEventArgs e)
        {
            base.OnDragOver(e);
            Point       clientcoordinate = PointToClient(new Point(e.X, e.Y));
            ExtTreeNode node             = GetNodeAt(clientcoordinate) as ExtTreeNode;

            if (node != null)
            {
                DragDropEffects effect = DragDropEffects.None;

                if ((e.KeyState & 8) > 0)                   // CTRL key pressed.
                {
                    effect = DragDropEffects.Copy;
                }
                else
                {
                    effect = DragDropEffects.Move;
                }
                e.Effect = node.GetDragDropEffect(e.Data, effect);

                if (e.Effect != DragDropEffects.None)
                {
                    SelectedNode = node;
                }
            }
        }
		public void SetUpFixture()
		{
			doc = new XmlDocument();
			doc.LoadXml("<root><firstChild><secondChild/></firstChild><textChild>some text</textChild></root>");
			using (XmlTreeViewControl treeView = new XmlTreeViewControl()) {
				treeView.Document = doc;
				treeView.SelectedNode = treeView.Nodes[0];
				rootNodeElement = treeView.SelectedElement;
				isRootElementSelected = treeView.IsElementSelected;
				rootNode = (ExtTreeNode)treeView.SelectedNode;
				rootNodeHadChildrenBeforeExpansion = rootNode.Nodes.Count > 0;
				rootNode.Expanding();
				firstChildNode = (ExtTreeNode)rootNode.Nodes[0];
				firstChildNodeHadChildrenBeforeExpansion = firstChildNode.Nodes.Count > 0;
				firstChildNode.Expanding();
				secondChildNode = (ExtTreeNode)firstChildNode.Nodes[0];
				textChildNode = (ExtTreeNode)rootNode.Nodes[1];
				textChildNode.Expanding();
				textNode = (ExtTreeNode)textChildNode.Nodes[0];
				isTextContentSelectedBeforeTextNodeSelected = treeView.IsTextNodeSelected;
				textContentBefore = treeView.SelectedTextNode;
				treeView.SelectedNode = textNode;
				isTextContentSelectedAfterTextNodeSelected = treeView.IsTextNodeSelected;
				textContentAfter = treeView.SelectedTextNode;
				textNodeElement = treeView.SelectedElement;
			}
		}
Пример #4
0
        protected override void OnDragDrop(DragEventArgs e)
        {
            base.OnDragDrop(e);
            Point       clientcoordinate = PointToClient(new Point(e.X, e.Y));
            ExtTreeNode node             = GetNodeAt(clientcoordinate) as ExtTreeNode;

            if (node != null)
            {
                // when dragging very fast from one node to another, it's possible that
                // OnDragDrop raises without OnDragOver for the node.
                // So we have to call HandleDragOver to ensure that we don't call DoDragDrop for
                // invalid operations.
                try {
                    HandleDragOver(e, node);
                    if (e.Effect != DragDropEffects.None)
                    {
                        node.DoDragDrop(e.Data, e.Effect);
                        SortParentNodes(node);
                    }
                } catch (Exception ex) {
                    // WinForms silently discards exceptions in the drag'n'drop events; so we need to catch+report any errors
                    SD.MessageService.ShowException(ex);
                }
            }
        }
Пример #5
0
 protected override void OnDrawNode(DrawTreeNodeEventArgs e)
 {
     if (!inRefresh)
     {
         ExtTreeNode node = e.Node as ExtTreeNode;
         if (node != null && !node.DrawDefault)
         {
             node.Draw(e);
             e.DrawDefault = false;
         }
         else
         {
             if ((e.State & (TreeNodeStates.Selected | TreeNodeStates.Focused)) == TreeNodeStates.Selected)
             {
                 // node is selected, but not focussed:
                 // HACK: work around TreeView bug in OwnerDrawText mode:
                 // overpaint blue selection with the correct gray selection
                 e.Graphics.FillRectangle(SystemBrushes.Control, e.Bounds);
                 e.Graphics.DrawString(e.Node.Text, this.Font, SystemBrushes.ControlText, e.Bounds.Location);
                 e.DrawDefault = false;
             }
             else
             {
                 e.DrawDefault = true;
             }
         }
     }
     else
     {
         e.DrawDefault = false;
     }
     base.OnDrawNode(e);
 }
		public void SetUp()
		{
			solution = new Solution();
			
			// Create a project to display in the test tree view.
			project = new MockCSharpProject(solution, "TestProject");
			ReferenceProjectItem nunitFrameworkReferenceItem = new ReferenceProjectItem(project);
			nunitFrameworkReferenceItem.Include = "NUnit.Framework";
			ProjectService.AddProjectItem(project, nunitFrameworkReferenceItem);
			
			// Add a test class with a TestFixture attributes.
			projectContent = new MockProjectContent();
			projectContent.Language = LanguageProperties.None;
			testClass1 = new MockClass(projectContent, "Project.Tests.MyTestFixture");
			testClass1.Attributes.Add(new MockAttribute("TestFixture"));
			projectContent.Classes.Add(testClass1);
			
			testClass2 = new MockClass(projectContent, "Project.MyTestFixture");
			testClass2.Attributes.Add(new MockAttribute("TestFixture"));
			projectContent.Classes.Add(testClass2);
						
			testFrameworks = new MockTestFrameworksWithNUnitFrameworkSupport();
			dummyTreeView = new DummyParserServiceTestTreeView(testFrameworks);
			dummyTreeView.ProjectContentForProject = projectContent;
			
			// Load the projects into the test tree view.
			treeView = dummyTreeView as TestTreeView;
			solution.Folders.Add(project);
			treeView.AddSolution(solution);
			nodes = treeView.Nodes;
			rootNode = (ExtTreeNode)treeView.Nodes[0];
			
			treeView.SelectedNode = rootNode;
			testProject = treeView.SelectedTestProject;
		}
		/// <summary>
		/// Creates a new TestNamespaceTreeNode
		/// </summary>
		/// <remarks>
		/// Note that the Namespace child nodes are added in
		/// the constructor not whilst the node is expanding
		/// via the Initialize method. This is so the icon for the
		/// node can be updated even if the parent node is not 
		/// expanded. The alternative is to have each namespace node,
		/// even if it does not have any class child nodes, to
		/// store all the classes that are below it in the tree and
		/// update the icon based on their results. The assumption
		/// is that there are fewer namespace nodes than classes so
		/// adding the namespace nodes here does not matter. 
		/// </remarks>
		/// <param name="namespacePrefix">The first part of the
		/// namespace (including any dot characters) before this 
		/// particular namespace.</param>
		/// <param name="name">The name of the namespace without any
		/// dot characters (e.g. the name at this particular 
		/// location in the tree).</param>
		public TestNamespaceTreeNode(TestProject testProject, string namespacePrefix, string name) 
			: base(testProject, name)
		{
			ns = name;
			this.namespacePrefix = namespacePrefix;
			fullNamespace = GetFullNamespace(namespacePrefix, ns);
			GetTestClasses();
			testProject.TestClasses.TestClassAdded += TestClassAdded;
			testProject.TestClasses.TestClassRemoved += TestClassRemoved;
			
			// Add namespace nodes - do not add them on node expansion.
			foreach (string namespaceName in TestProject.GetChildNamespaces(fullNamespace)) {
				TestNamespaceTreeNode node = new TestNamespaceTreeNode(TestProject, fullNamespace, namespaceName);
				node.AddTo(this);
				namespaceChildNodes.Add(node);
				node.ImageIndexChanged += TestNamespaceNodeImageIndexChanged;
			}
			
			// Add a dummy node if there are no namespaces since
			// there might be class nodes which will be added 
			// lazily when the node is expanded.
			if (namespaceChildNodes.Count == 0) {
				dummyNode = new ExtTreeNode();
				Nodes.Add(dummyNode);
			}
			
			UpdateImageListIndex();
		}
		public void NonCodeCoverageNodeNotInitialised()
		{
			DerivedCodeCoverageTreeView treeView = new DerivedCodeCoverageTreeView();
			ExtTreeNode node = new ExtTreeNode();
			treeView.CallOnAfterSelect(node);
			Assert.IsFalse(node.IsInitialized);
		}
Пример #9
0
		/// <summary>
		/// Adds all the elements.
		/// </summary>
		public static void AddNodes(ExtTreeNode parentNode, XmlNodeList nodes)
		{
			foreach (XmlNode childNode in nodes) {
				XmlElement childElement = childNode as XmlElement;
				if (childElement != null) {
					AddNode(parentNode, childElement);
				}
			}
		}
Пример #10
0
		public WixTreeNode(XmlElement element)
		{
			this.element = element;
			sortOrder = 10;
			
			if (element.HasChildNodes) {
				dummyChildNode = new ExtTreeNode();
				dummyChildNode.AddTo(this);
			}
		}
Пример #11
0
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            ExtTreeNode node = GetNodeAt(e.Location) as ExtTreeNode;

            if (node != null)
            {
                node.ActivateItem();
            }
        }
Пример #12
0
        protected override void OnAfterCheck(TreeViewEventArgs e)
        {
            base.OnAfterCheck(e);
            ExtTreeNode node = e.Node as ExtTreeNode;

            if (node != null)
            {
                node.CheckedChanged();
            }
        }
Пример #13
0
        protected override void OnBeforeSelect(TreeViewCancelEventArgs e)
        {
            // setting the context menu must be done by BeforeSelect because
            // AfterSelect is not called for the selection changes when a node is being deleted.
            base.OnBeforeSelect(e);
            ExtTreeNode node = e.Node as ExtTreeNode;

            if (node != null)
            {
                node.ContextMenuStrip = MenuService.CreateContextMenu(e.Node, node.ContextmenuAddinTreePath);
            }
        }
Пример #14
0
        protected override void OnDragDrop(DragEventArgs e)
        {
            base.OnDragDrop(e);
            Point       clientcoordinate = PointToClient(new Point(e.X, e.Y));
            ExtTreeNode node             = GetNodeAt(clientcoordinate) as ExtTreeNode;

            if (node != null)
            {
                node.DoDragDrop(e.Data, e.Effect);
                SortParentNodes(node);
            }
        }
Пример #15
0
 protected override void OnKeyPress(KeyPressEventArgs e)
 {
     base.OnKeyPress(e);
     if (e.KeyChar == '\r')
     {
         ExtTreeNode node = SelectedNode as ExtTreeNode;
         if (node != null)
         {
             node.ActivateItem();
         }
         e.Handled = true;
     }
 }
Пример #16
0
        protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e)
        {
            base.OnAfterLabelEdit(e);
            LabelEdit    = false;
            e.CancelEdit = true;

            ExtTreeNode node = e.Node as ExtTreeNode;

            if (node != null && e.Label != null)
            {
                node.AfterLabelEdit(e.Label);
            }
            SortParentNodes(e.Node);
        }
Пример #17
0
        void HandleDragOver(DragEventArgs e, ExtTreeNode node)
        {
            DragDropEffects effect = DragDropEffects.None;

            if ((e.KeyState & 8) > 0)               // CTRL key pressed.
            {
                effect = DragDropEffects.Copy;
            }
            else
            {
                effect = DragDropEffects.Move;
            }
            e.Effect = node.GetDragDropEffect(e.Data, effect);
        }
Пример #18
0
        void DeleteNode(ExtTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (node.EnableDelete)
            {
                node.EnsureVisible();
                SelectedNode = node;
                node.Delete();
            }
        }
Пример #19
0
        protected override void OnItemDrag(ItemDragEventArgs e)
        {
            base.OnItemDrag(e);
            ExtTreeNode node = e.Item as ExtTreeNode;

            if (node != null)
            {
                DataObject dataObject = node.DragDropDataObject;
                if (dataObject != null)
                {
                    DoDragDrop(dataObject, DragDropEffects.All);
                    SortParentNodes(node);
                }
            }
        }
Пример #20
0
        public void StartLabelEdit(ExtTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (node.CanLabelEdit)
            {
                node.EnsureVisible();
                SelectedNode = node;
                LabelEdit    = true;
                node.BeforeLabelEdit();
                node.BeginEdit();
            }
        }
Пример #21
0
        protected override void OnDragOver(DragEventArgs e)
        {
            base.OnDragOver(e);
            Point       clientcoordinate = PointToClient(new Point(e.X, e.Y));
            ExtTreeNode node             = GetNodeAt(clientcoordinate) as ExtTreeNode;

            if (node != null)
            {
                HandleDragOver(e, node);

                if (e.Effect != DragDropEffects.None)
                {
                    SelectedNode = node;
                }
            }
        }
		public int Compare(TreeNode x, TreeNode y)
		{
			Debug.Assert(x != null);
			Debug.Assert(y != null);
			ExtTreeNode node1 = x as ExtTreeNode;
			ExtTreeNode node2 = y as ExtTreeNode;
			
			if (node1 == null || node2 == null) {
				return x.Text.CompareTo(y.Text);
			}
			
			if (node1.SortOrder != node2.SortOrder) {
				return Math.Sign(node1.SortOrder - node2.SortOrder);
			}
			
			return node1.CompareString.CompareTo(node2.CompareString);
		}
		public void SetUpFixture()
		{
			List<CodeCoverageModule> modules = new List<CodeCoverageModule>();
			CodeCoverageModule fooModule = new CodeCoverageModule("Tests");
			
			XElement setterMethod = CreateSetterElement("Tests.FooTest", "Count");
			fooSetterMethod = new CodeCoverageMethod("Tests.FooTest", setterMethod);
			fooSetterMethod.SequencePoints.Add(new CodeCoverageSequencePoint("c:\\Projects\\Foo\\FooTest.cs", 1, 2, 2, 3, 4, 2));
			fooSetterMethod.SequencePoints.Add(new CodeCoverageSequencePoint("c:\\Projects\\Foo\\FooTest.cs", 0, 3, 4, 4, 4, 1));
			
			XElement getterMethod = CreateGetterElement("Tests.FooTest", "Count");
			fooGetterMethod = new CodeCoverageMethod("Tests.FooTest", getterMethod);
			fooGetterMethod.SequencePoints.Add(new CodeCoverageSequencePoint("c:\\Projects\\Foo\\FooTest.cs", 1, 1, 0, 2, 1, 1));
				
			fooModule.Methods.Add(fooGetterMethod);
			fooModule.Methods.Add(fooSetterMethod);
			
			modules.Add(fooModule);
			
			using (CodeCoverageTreeView treeView = new CodeCoverageTreeView()) {
				treeView.AddModules(modules);
				fooModuleNode = (CodeCoverageModuleTreeNode)treeView.Nodes[0];
			}

			fooModuleNode.Expanding();
			
			fooTestsNamespaceTreeNode = (CodeCoverageNamespaceTreeNode)fooModuleNode.Nodes[0];

			fooTestsNamespaceTreeNode.Expanding();
			fooTestTreeNode = (CodeCoverageClassTreeNode)fooTestsNamespaceTreeNode.Nodes[0];

			fooTestTreeNode.Expanding();
			if (fooTestTreeNode.Nodes.Count > 0) {
				countPropertyTreeNode = fooTestTreeNode.Nodes[0] as CodeCoveragePropertyTreeNode;
			}
			
			countPropertyTreeNode.Expanding();
			if (countPropertyTreeNode != null && countPropertyTreeNode.Nodes.Count > 1) {
				fooGetterTreeNode = (CodeCoverageMethodTreeNode)countPropertyTreeNode.Nodes[0];
				fooSetterTreeNode = (CodeCoverageMethodTreeNode)countPropertyTreeNode.Nodes[1];
			}
		}
Пример #24
0
        protected override void OnDragDrop(DragEventArgs e)
        {
            base.OnDragDrop(e);
            Point       clientcoordinate = PointToClient(new Point(e.X, e.Y));
            ExtTreeNode node             = GetNodeAt(clientcoordinate) as ExtTreeNode;

            if (node != null)
            {
                // when dragging very fast from one node to another, it's possible that
                // OnDragDrop raises without OnDragOver for the node.
                // So we have to call HandleDragOver to ensure that we don't call DoDragDrop for
                // invalid operations.
                HandleDragOver(e, node);
                if (e.Effect != DragDropEffects.None)
                {
                    node.DoDragDrop(e.Data, e.Effect);
                    SortParentNodes(node);
                }
            }
        }
Пример #25
0
        protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e)
        {
            base.OnAfterLabelEdit(e);
            LabelEdit    = false;
            e.CancelEdit = true;

            ExtTreeNode node = e.Node as ExtTreeNode;

            if (node != null)
            {
                //node.Text = labelEditOldLabel;
                //labelEditOldLabel = null;
                if (e.Label != null)
                {
                    node.AfterLabelEdit(e.Label);
                }
            }
            SortParentNodes(e.Node);
            SelectedNode = e.Node;
        }
Пример #26
0
        public void StartLabelEdit(ExtTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (node.CanLabelEdit)
            {
                node.EnsureVisible();
                SelectedNode = node;
                LabelEdit    = true;
                node.BeforeLabelEdit();
                node.BeginEdit();
                // remove node's label so that it doesn't get rendered behind the label editing textbox
                // (if the user deletes some characters so that the text box shrinks)
                labelEditOldLabel = node.Text;
                node.Text         = "";
            }
        }
Пример #27
0
        //string labelEditOldLabel;

        public void StartLabelEdit(ExtTreeNode node)
        {
            if (node == null)
            {
                return;
            }

            if (node.CanLabelEdit)
            {
                node.EnsureVisible();
                SelectedNode = node;
                LabelEdit    = true;
                node.BeforeLabelEdit();
                node.BeginEdit();
                // Workaround disabled due to http://community.sharpdevelop.net/forums/t/14354.aspx
                // "Rename fails if filename in Project Explorer is too long for the treeview viewport"
                //// remove node's label so that it doesn't get rendered behind the label editing textbox
                //// (if the user deletes some characters so that the text box shrinks)
                //labelEditOldLabel = node.Text;
                //node.Text = "";
            }
        }
		public void SetUp()
		{
			// Create solution.
			solution = new Solution();
			
			// Create a project to display in the test tree view.
			project = new MockCSharpProject();
			project.Name = "TestProject";
			ReferenceProjectItem nunitFrameworkReferenceItem = new ReferenceProjectItem(project);
			nunitFrameworkReferenceItem.Include = "NUnit.Framework";
			ProjectService.AddProjectItem(project, nunitFrameworkReferenceItem);
			
			// Add a test class with a TestFixture attributes.
			projectContent = new MockProjectContent();
			projectContent.Language = LanguageProperties.None;
			testClass = new MockClass("MyTestFixture");
			testClass.Attributes.Add(new MockAttribute("TestFixture"));
			testClass.ProjectContent = projectContent;
			projectContent.Classes.Add(testClass);
						
			// Init mock project content to be returned.
			dummyTreeView = new DummyParserServiceTestTreeView();
			dummyTreeView.ProjectContentForProject = projectContent;
			
			// Load the projects into the test tree view.
			treeView = dummyTreeView as TestTreeView;
			solution.Folders.Add(project);
			treeView.AddSolution(solution);
			nodes = treeView.Nodes;
			rootNode = (ExtTreeNode)treeView.Nodes[0];
			
			// Expand the root node so any child nodes are
			// lazily created.
			rootNode.Expanding();
			rootChildNodes = rootNode.Nodes;
			testFixtureNode = (ExtTreeNode)rootNode.Nodes[0];
		}
Пример #29
0
		void HandleDragOver(DragEventArgs e, ExtTreeNode node)
		{
			DragDropEffects effect = DragDropEffects.None;
			
			if ((e.KeyState & 8) > 0) { // CTRL key pressed.
				effect = DragDropEffects.Copy;
			} else {
				effect = DragDropEffects.Move;
			}
			e.Effect = node.GetDragDropEffect(e.Data, effect);
		}
		MenuItem MakeItem(ExtTreeNode classBrowserTreeNode, ICompilationUnit cu, DomRegion region)
		{
			MenuItem item = MakeItemWithGoToDefinition(classBrowserTreeNode.Text, ClassBrowserIconService.GetImageByIndex(classBrowserTreeNode.ImageIndex), cu, region);
			foreach (object obj in MenuService.CreateMenuItems(null, classBrowserTreeNode, classBrowserTreeNode.ContextmenuAddinTreePath))
				item.Items.Add(obj);
			return item;
		}
		IEnumerable<FileNode> GetChildFileNodes(ExtTreeNode parentNode)
		{
			return parentNode.AllNodes.OfType<FileNode>();
		}
		ToolStripMenuItem MakeItem(ExtTreeNode classBrowserTreeNode, ICompilationUnit cu, DomRegion region)
		{
			ToolStripMenuItem item = MakeItemInternal(classBrowserTreeNode.Text, classBrowserTreeNode.ImageIndex, cu, region);
			MenuService.AddItemsToMenu(item.DropDown.Items, classBrowserTreeNode, classBrowserTreeNode.ContextmenuAddinTreePath);
			return item;
		}
Пример #33
0
        //string labelEditOldLabel;
        public void StartLabelEdit(ExtTreeNode node)
        {
            if (node == null) {
                return;
            }

            if (node.CanLabelEdit) {
                node.EnsureVisible();
                SelectedNode = node;
                LabelEdit = true;
                node.BeforeLabelEdit();
                node.BeginEdit();
                // Workaround disabled due to http://community.sharpdevelop.net/forums/t/14354.aspx
                // "Rename fails if filename in Project Explorer is too long for the treeview viewport"
                //// remove node's label so that it doesn't get rendered behind the label editing textbox
                //// (if the user deletes some characters so that the text box shrinks)
                //labelEditOldLabel = node.Text;
                //node.Text = "";
            }
        }
		public void SetUp()
		{
			// Create a project to display in the test tree view.
			project = new MockCSharpProject();
			project.Name = "TestProject";
			nunitFrameworkReferenceItem = new ReferenceProjectItem(project);
			nunitFrameworkReferenceItem.Include = "NUnit.Framework";
			ProjectService.AddProjectItem(project, nunitFrameworkReferenceItem);
			List<IProject> projects = new List<IProject>();
			projects.Add(project);
			
			// Add second non-test project.
			projects.Add(new MockCSharpProject());
			
			// Add a test class with a TestFixture attributes.
			projectContent = new MockProjectContent();
			projectContent.Language = LanguageProperties.None;
			testClass = new MockClass("RootNamespace.Tests.MyTestFixture");
			testClass.Namespace = "RootNamespace.Tests";
			testClass.Attributes.Add(new MockAttribute("TestFixture"));
			testClass.ProjectContent = projectContent;
			projectContent.Classes.Add(testClass);
			
			// Add two methods to the test class only
			// one of which has test attributes.
			testMethod = new MockMethod("NameExists");
			testMethod.Attributes.Add(new MockAttribute("Test"));
			testMethod.DeclaringType = testClass;
			testClass.Methods.Add(testMethod);
			testClass.Methods.Add(new MockMethod());
					
			// Add a second class that has no test fixture attribute.
			MockClass nonTestClass = new MockClass();
			nonTestClass.ProjectContent = projectContent;
			projectContent.Classes.Add(nonTestClass);
			
			// Init mock project content to be returned.
			dummyTreeView = new DummyParserServiceTestTreeView();
			dummyTreeView.ProjectContentForProject = projectContent;
			
			// Load the projects into the test tree view.
			treeView = dummyTreeView as TestTreeView;	
			treeView.AddProjects(projects);
			nodes = treeView.Nodes;
			rootNode = (ExtTreeNode)treeView.Nodes[0];
			
			// Expand the root node so any child nodes are
			// lazily created.
			rootNode.Expanding();
			rootChildNodes = rootNode.Nodes;
			rootNamespaceNode = (ExtTreeNode)rootNode.Nodes[0];
			
			// Expand the first namespace node.
			rootNamespaceNode.Expanding();
			rootNamespaceChildNodes = rootNamespaceNode.Nodes;
			testsNamespaceNode = (ExtTreeNode)rootNamespaceNode.Nodes[0];
		
			// Expand the tests namespace node.
			testsNamespaceNode.Expanding();
			testsNamespaceChildNodes = testsNamespaceNode.Nodes;
			testFixtureNode = (ExtTreeNode)testsNamespaceNode.Nodes[0];
		
			// Expand the test node.
			testFixtureNode.Expanding();
			testFixtureChildNodes = testFixtureNode.Nodes;
			testNode = (ExtTreeNode)testFixtureChildNodes[0];
		}
Пример #35
0
		void DeleteNode(ExtTreeNode node)
		{
			if (node == null) {
				return;
			}
			
			if (node.EnableDelete) {
				node.EnsureVisible();
				SelectedNode = node;
				node.Delete();
			}
		}
		public void ExpandRootNode()
		{
			// Expand the root node so any child nodes are lazily created.
			rootNode.Expanding();
			projectNamespaceNode = (ExtTreeNode)rootNode.Nodes[0];
		}
Пример #37
0
		/// <summary>
		/// Adds a new tree node containing the xml element to the specified
		/// nodes collection.
		/// </summary>
		public static ExtTreeNode AddNode(ExtTreeNode parentNode, XmlElement element)
		{
			ExtTreeNode node = CreateNode(element);
			node.AddTo(parentNode);
			return node;
		}
Пример #38
0
		public void StartLabelEdit(ExtTreeNode node)
		{
			if (node == null) {
				return;
			}
			
			if (node.CanLabelEdit) {
				node.EnsureVisible();
				SelectedNode = node;
				LabelEdit = true;
				node.BeforeLabelEdit();
				node.BeginEdit();
				// remove node's label so that it doesn't get rendered behind the label editing textbox
				// (if the user deletes some characters so that the text box shrinks)
				labelEditOldLabel = node.Text;
				node.Text = "";
			}
		}
		IEnumerable<DirectoryNode> GetChildDirectoryNodes(ExtTreeNode parentNode)
		{
			return parentNode.AllNodes.OfType<DirectoryNode>();
		}
Пример #40
0
		public void StartLabelEdit(ExtTreeNode node)
		{
			if (node == null) {
				return;
			}
			
			if (node.CanLabelEdit) {
				node.EnsureVisible();
				SelectedNode = node;
				LabelEdit = true;
				node.BeforeLabelEdit();
				node.BeginEdit();
			}
		}
Пример #41
0
		/// <summary>
		/// Adds child nodes to this tree node.
		/// </summary>
		protected override void Initialize()
		{
			base.Initialize();
			
			if (dummyChildNode != null) {
				Nodes.Remove(dummyChildNode);
				dummyChildNode = null;
			}
			
			WixTreeNodeBuilder.AddNodes(this, element.ChildNodes);
		}
Пример #42
0
		public void StartLabelEdit(ExtTreeNode node)
		{
			ProjectBrowserControl.TreeView.StartLabelEdit(node);
		}