/// <summary> /// Adds child elements to this tree node. /// </summary> protected override void Initialize() { Nodes.Clear(); foreach (XmlNode childNode in element.ChildNodes) { XmlElement childElement = childNode as XmlElement; XmlText text = childNode as XmlText; XmlComment comment = childNode as XmlComment; if (childElement != null) { XmlElementTreeNode treeNode = new XmlElementTreeNode(childElement); treeNode.AddTo(this); } else if (text != null) { XmlTextTreeNode treeNode = new XmlTextTreeNode(text); treeNode.AddTo(this); } else if (comment != null) { XmlCommentTreeNode treeNode = new XmlCommentTreeNode(comment); treeNode.AddTo(this); } } }
public void Init() { treeViewContainer = new XmlTreeViewContainerControl(); XmlTextReader reader = ResourceManager.GetXhtmlStrictSchema(); XmlSchemaCompletionData xhtmlSchema = new XmlSchemaCompletionData(reader); XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection(); XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xhtmlSchema, String.Empty); treeViewContainer.LoadXml("<!-- comment --><html><body class='a'><p>Text</p></body></html>", provider); doc = treeViewContainer.Document; treeView = treeViewContainer.TreeView; commentTreeNode = (XmlCommentTreeNode)treeView.Nodes[0]; htmlTreeNode = (XmlElementTreeNode)treeView.Nodes[1]; htmlTreeNode.Expanding(); bodyTreeNode = (XmlElementTreeNode)htmlTreeNode.Nodes[0]; bodyTreeNode.Expanding(); paraTreeNode = (XmlElementTreeNode)bodyTreeNode.Nodes[0]; paraTreeNode.Expanding(); textTreeNode = (XmlTextTreeNode)paraTreeNode.Nodes[0]; }
public void SetUp() { XmlCompletionDataProvider completionDataProvider = new XmlCompletionDataProvider(new XmlSchemaCompletionDataCollection(), null, String.Empty); treeViewContainerControl = new XmlTreeViewContainerControl(); treeView = treeViewContainerControl.TreeView; treeViewContainerControl.LoadXml(GetXml(), completionDataProvider); doc = treeViewContainerControl.Document; clipboardHandler = treeViewContainerControl as IClipboardHandler; htmlElement = doc.DocumentElement; bodyElement = htmlElement.FirstChild as XmlElement; paragraphElement = bodyElement.SelectSingleNode("p") as XmlElement; paragraphText = paragraphElement.SelectSingleNode("text()") as XmlText; bodyComment = bodyElement.SelectSingleNode("comment()") as XmlComment; htmlTreeNode = treeView.Nodes[0] as XmlElementTreeNode; htmlTreeNode.PerformInitialization(); bodyTreeNode = htmlTreeNode.FirstNode as XmlElementTreeNode; bodyTreeNode.PerformInitialization(); bodyCommentTreeNode = bodyTreeNode.FirstNode as XmlCommentTreeNode; paragraphTreeNode = bodyTreeNode.LastNode as XmlElementTreeNode; paragraphTreeNode.PerformInitialization(); paragraphTextTreeNode = paragraphTreeNode.FirstNode as XmlTextTreeNode; }
/// <summary> /// Removes the specified text node from the tree. /// </summary> public void RemoveTextNode(XmlText textNode) { XmlTextTreeNode node = FindTextNode(textNode); if (node != null) { node.Remove(); } }
/// <summary> /// Updates the corresponding tree node's text based on /// the textNode's value. /// </summary> public void UpdateTextNode(XmlText textNode) { XmlTextTreeNode node = FindTextNode(textNode); if (node != null) { node.Update(); } }
/// <summary> /// Appends a new child text node to the currently selected element. /// </summary> public void AppendChildTextNode(XmlText textNode) { XmlElementTreeNode selectedNode = SelectedElementNode; if (selectedNode != null) { XmlTextTreeNode newNode = new XmlTextTreeNode(textNode); newNode.AddTo(selectedNode); selectedNode.Expand(); } }
/// <summary> /// Finds the specified text node in the tree. /// </summary> XmlTextTreeNode FindTextNode(XmlText textNode) { XmlTextTreeNode selectedTextTreeNode = SelectedNode as XmlTextTreeNode; if (selectedTextTreeNode != null && selectedTextTreeNode.XmlText == textNode) { return(selectedTextTreeNode); } else { return(FindTextNode(textNode, Nodes)); } }
public void GhostImage() { XmlText text = doc.CreateTextNode("\r\n\r\n\r\n"); XmlTextTreeNode node = new XmlTextTreeNode(text); Assert.IsFalse(node.ShowGhostImage); node.ShowGhostImage = false; Assert.AreEqual(XmlTextTreeNode.XmlTextTreeNodeImageKey, node.ImageKey); node.ShowGhostImage = true; Assert.IsTrue(node.ShowGhostImage); Assert.AreEqual(XmlTextTreeNode.XmlTextTreeNodeGhostImageKey, node.ImageKey); }
/// <summary> /// Inserts a new text node either before or after the /// currently selected node. /// </summary> void InsertTextNode(XmlText textNode, InsertionMode insertionMode) { ExtTreeNode selectedNode = (ExtTreeNode)SelectedNode; if (selectedNode != null) { XmlElementTreeNode parentNode = (XmlElementTreeNode)selectedNode.Parent; XmlTextTreeNode newNode = new XmlTextTreeNode(textNode); int index = parentNode.Nodes.IndexOf(selectedNode); if (insertionMode == InsertionMode.After) { index++; } newNode.Insert(index, parentNode); } }
public void Init() { treeViewContainer = new DerivedXmlTreeViewContainerControl(); treeViewContainer.LoadXml("<!-- comment --><html><body class='a'><p>Text</p></body></html>"); doc = treeViewContainer.Document; treeView = treeViewContainer.TreeView; commentTreeNode = (XmlCommentTreeNode)treeView.Nodes[0]; htmlTreeNode = (XmlElementTreeNode)treeView.Nodes[1]; htmlTreeNode.Expanding(); bodyTreeNode = (XmlElementTreeNode)htmlTreeNode.Nodes[0]; bodyTreeNode.Expanding(); paraTreeNode = (XmlElementTreeNode)bodyTreeNode.Nodes[0]; paraTreeNode.Expanding(); textTreeNode = (XmlTextTreeNode)paraTreeNode.Nodes[0]; }
public void Init() { treeViewContainer = new DerivedXmlTreeViewContainerControl(); treeViewContainer.DirtyChanged += TreeViewContainerDirtyChanged; treeViewContainer.LoadXml("<html id='a'>text<body></body></html>"); doc = treeViewContainer.Document; treeView = treeViewContainer.TreeView; htmlTreeNode = (XmlElementTreeNode)treeView.Nodes[0]; htmlTreeNode.Expanding(); textTreeNode = (XmlTextTreeNode)htmlTreeNode.Nodes[0]; splitContainer = (SplitContainer)treeViewContainer.Controls["splitContainer"]; textBox = (RichTextBox)splitContainer.Panel2.Controls["textBox"]; errorMessageTextBox = (RichTextBox)splitContainer.Panel2.Controls["errorMessageTextBox"]; attributesGrid = (PropertyGrid)splitContainer.Panel2.Controls["attributesGrid"]; }
public void SetUp() { treeViewContainerControl = new XmlTreeViewContainerControl(); treeView = treeViewContainerControl.TreeView; string xml = "<root><top>text</top><bottom><child>text</child></bottom></root>"; treeViewContainerControl.LoadXml(xml, new XmlSchemaCompletionCollection(), null); doc = treeViewContainerControl.Document; ExtTreeNode rootNode = (ExtTreeNode)treeView.Nodes[0]; rootNode.Expanding(); topElementTreeNode = (XmlElementTreeNode)rootNode.Nodes[0]; topElementTreeNode.Expanding(); topTextTreeNode = (XmlTextTreeNode)topElementTreeNode.Nodes[0]; ExtTreeNode bottomNode = (ExtTreeNode)rootNode.Nodes[1]; bottomNode.Expanding(); childElementTreeNode = (XmlElementTreeNode)bottomNode.Nodes[0]; childElementTreeNode.Expanding(); }
public void Init() { treeViewContainer = new DerivedXmlTreeViewContainerControl(); treeViewContainer.DirtyChanged += TreeViewContainerDirtyChanged; XmlSchemaCompletion xhtmlSchema = new XmlSchemaCompletion(ResourceManager.ReadXhtmlStrictSchema()); schemas = new XmlSchemaCompletionCollection(); treeViewContainer.LoadXml("<html id='a'>text<body></body></html>", schemas, null); doc = treeViewContainer.Document; treeView = treeViewContainer.TreeView; htmlTreeNode = (XmlElementTreeNode)treeView.Nodes[0]; htmlTreeNode.Expanding(); textTreeNode = (XmlTextTreeNode)htmlTreeNode.Nodes[0]; splitContainer = (SplitContainer)treeViewContainer.Controls["splitContainer"]; textBox = (RichTextBox)splitContainer.Panel2.Controls["textBox"]; errorMessageTextBox = (RichTextBox)splitContainer.Panel2.Controls["errorMessageTextBox"]; attributesGrid = (PropertyGrid)splitContainer.Panel2.Controls["attributesGrid"]; }
public void SetUp() { XmlCompletionDataProvider completionDataProvider = new XmlCompletionDataProvider(new XmlSchemaCompletionDataCollection(), null, String.Empty); treeViewContainerControl = new XmlTreeViewContainerControl(); treeView = treeViewContainerControl.TreeView; treeViewContainerControl.LoadXml("<root><top>text</top><bottom><child>text</child></bottom></root>", completionDataProvider); doc = treeViewContainerControl.Document; ExtTreeNode rootNode = (ExtTreeNode)treeView.Nodes[0]; rootNode.Expanding(); topElementTreeNode = (XmlElementTreeNode)rootNode.Nodes[0]; topElementTreeNode.Expanding(); topTextTreeNode = (XmlTextTreeNode)topElementTreeNode.Nodes[0]; ExtTreeNode bottomNode = (ExtTreeNode)rootNode.Nodes[1]; bottomNode.Expanding(); childElementTreeNode = (XmlElementTreeNode)bottomNode.Nodes[0]; childElementTreeNode.Expanding(); }
public void Init() { treeViewContainer = new XmlTreeViewContainerControl(); XmlSchemaCompletion xhtmlSchema = new XmlSchemaCompletion(ResourceManager.ReadXhtmlStrictSchema()); XmlSchemaCompletionCollection schemas = new XmlSchemaCompletionCollection(); treeViewContainer.LoadXml("<!-- comment --><html><body class='a'><p>Text</p></body></html>", schemas, null); doc = treeViewContainer.Document; treeView = treeViewContainer.TreeView; commentTreeNode = (XmlCommentTreeNode)treeView.Nodes[0]; htmlTreeNode = (XmlElementTreeNode)treeView.Nodes[1]; htmlTreeNode.Expanding(); bodyTreeNode = (XmlElementTreeNode)htmlTreeNode.Nodes[0]; bodyTreeNode.Expanding(); paraTreeNode = (XmlElementTreeNode)bodyTreeNode.Nodes[0]; paraTreeNode.Expanding(); textTreeNode = (XmlTextTreeNode)paraTreeNode.Nodes[0]; }
/// <summary> /// Looks at all the nodes in the tree view and returns the /// tree node that represents the specified text node. /// </summary> XmlTextTreeNode FindTextNode(XmlText textNode, TreeNodeCollection nodes) { foreach (ExtTreeNode node in nodes) { XmlTextTreeNode textTreeNode = node as XmlTextTreeNode; if (textTreeNode != null) { if (textTreeNode.XmlText == textNode) { return(textTreeNode); } } else { // Look for a match in the node's child nodes. XmlTextTreeNode childTextTreeNode = FindTextNode(textNode, node.Nodes); if (childTextTreeNode != null) { return(childTextTreeNode); } } } return(null); }
public void SetUp() { treeViewContainerControl = new DerivedXmlTreeViewContainerControl(); treeView = treeViewContainerControl.TreeView; treeViewContainerControl.LoadXml(GetXml()); doc = treeViewContainerControl.Document; clipboardHandler = treeViewContainerControl as IClipboardHandler; htmlElement = doc.DocumentElement; bodyElement = htmlElement.FirstChild as XmlElement; paragraphElement = bodyElement.SelectSingleNode("p") as XmlElement; paragraphText = paragraphElement.SelectSingleNode("text()") as XmlText; bodyComment = bodyElement.SelectSingleNode("comment()") as XmlComment; htmlTreeNode = treeView.Nodes[0] as XmlElementTreeNode; htmlTreeNode.PerformInitialization(); bodyTreeNode = htmlTreeNode.FirstNode as XmlElementTreeNode; bodyTreeNode.PerformInitialization(); bodyCommentTreeNode = bodyTreeNode.FirstNode as XmlCommentTreeNode; paragraphTreeNode = bodyTreeNode.LastNode as XmlElementTreeNode; paragraphTreeNode.PerformInitialization(); paragraphTextTreeNode = paragraphTreeNode.FirstNode as XmlTextTreeNode; }
/// <summary> /// Shows the corresponding tree node with the ghosted image /// that indicates it is being cut. /// </summary> void ShowCutTextNode(XmlText textNode, bool showGhostImage) { XmlTextTreeNode node = FindTextNode(textNode); node.ShowGhostImage = showGhostImage; }
public void WhiteSpaceRemoved() { XmlText text = doc.CreateTextNode(" \t\tTest\t\t "); XmlTextTreeNode node = new XmlTextTreeNode(text); Assert.AreEqual("Test", node.Text); }
public void ThreeLinesTextOnSecondLine() { XmlText text = doc.CreateTextNode("\r\nTest\r\n"); XmlTextTreeNode node = new XmlTextTreeNode(text); Assert.AreEqual("Test", node.Text); }
public void TwoLines() { XmlText text = doc.CreateTextNode("Test\r\nSecond Line"); XmlTextTreeNode node = new XmlTextTreeNode(text); Assert.AreEqual("Test...", node.Text); }
public void EmptyLines() { XmlText text = doc.CreateTextNode("\r\n\r\n\r\n"); XmlTextTreeNode node = new XmlTextTreeNode(text); Assert.AreEqual(String.Empty, node.Text); }