void AddWebReferenceToProjectBrowser(AbstractProjectBrowserTreeNode node, WebReference webReference) { TreeNode webReferencesNode = null; if (node is ProjectNode) { webReferencesNode = AddWebReferenceToProjectNode((ProjectNode)node, webReference); } else if (node is WebReferencesFolderNode) { webReferencesNode = node; WebReferenceNodeBuilder.AddWebReference((WebReferencesFolderNode)webReferencesNode, webReference); } else if (node is ReferenceFolder && node.Parent != null && node.Parent is ProjectNode) { webReferencesNode = AddWebReferenceToProjectNode((ProjectNode)node.Parent, webReference); } else { LoggingService.Warn("AddWebReferenceToProjectBrowser: Selected node type is not handled."); AddWebReferenceToProjectBrowser(node.Parent as AbstractProjectBrowserTreeNode, webReference); } if (webReferencesNode != null) { ProjectBrowserPad.Instance.ProjectBrowserControl.TreeView.Sort(); webReferencesNode.Expand(); webReferencesNode.EnsureVisible(); } }
TreeNode AddWebReferenceToProjectNode(ProjectNode node, WebReference webReference) { TreeNode webReferencesNode = WebReferenceNodeBuilder.AddWebReferencesFolderNode(node, webReference); if (webReferencesNode == null) { webReferencesNode = GetWebReferencesFolderNode((ProjectNode)node); if (webReferencesNode != null) { WebReferenceNodeBuilder.AddWebReference((WebReferencesFolderNode)webReferencesNode, webReference); } } return(webReferencesNode); }