private TreeNode getNodeFromElement(HsfElement element, TreeNode targetNode) { // Searches given node and (recursively) children for matching element try { if (((PicassoSubform)targetNode.Tag).Element == element) { return(targetNode); } } catch (InvalidCastException) { // Not a subform, or tag is null; check children anyways } catch (NullReferenceException) { // Looking at a node with no tag } // Check children TreeNodeCollection collection = targetNode.Nodes; foreach (TreeNode node in collection) { TreeNode result = getNodeFromElement(element, node); if (result != null) { return(result); } } return(null); }
private TreeNode getNodeFromElement(HsfElement element) { // Recursively searches all tree nodes for element in picasso subform tag foreach (TreeNode node in mainTreeView.Nodes) { TreeNode result = getNodeFromElement(element, node); if (result != null) { return(result); } } return(null); }
private void xmlMenuItem_Click(object sender, EventArgs e) { // Serialize element and show in xml browser HsfElement currElement = ((PicassoSubform)mainTreeView.SelectedNode.Tag).Element; string serializedContent = currElement.ToXml(); // Write content to xml cache FileStream file = new FileStream(_xmlDumpLocation, FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter(file); sw.Write(serializedContent); sw.Close(); file.Close(); // Navigate / refresh / show / focus _xmlBrowser.Url = _xmlDumpLocation; _xmlBrowser.Show(); _xmlBrowser.Focus(); }