// Finds the type library tree node no matter where it is internal static BrowserTreeNode FindTypeLib(TypeLibKey libKey) { BrowserTreeNode node; BrowserTreeNode findRoot; // First try favorites findRoot = _favTypeLibNode; node = FindTypeLib(libKey, findRoot); // Then the registered part if (node == null) { node = FindTypeLib(libKey, _typeLibNode); } return(node); }
// s/b protected, stupid compiler internal static BrowserTreeNode FindTypeLib(TypeLibKey libKey, BrowserTreeNode parent) { BrowserTreeNode typeLibNode = null; // Will happen if not COM product if (parent == null) { return(null); } // Make sure we get all of the children added parent.ExpandNode(); foreach (BrowserTreeNode node in parent.LogicalNodes) { if (node is ComTypeLibTreeNode) { if (((ComTypeLibTreeNode)node).TypeLib.Key.Equals(libKey)) { typeLibNode = node; break; } } } return(typeLibNode); }