예제 #1
0
		protected BrowserTreeNode FindMember(ComTypeLibTreeNode typeLibNode, ComTypeTreeNode typeTreeNode, MemberInfo mi)
		{
			// If we have a class, we need to look at all of
			// its implemented interfaces
			if (typeTreeNode.MemberInfo is ComClassInfo) {
				BrowserTreeNode resultNode = null;
			
				ComClassInfo classInfo = (ComClassInfo)typeTreeNode.MemberInfo;
				foreach (BasicInfo iface in classInfo.Interfaces) {
					BrowserTreeNode ifaceNode = 
						SearchNode(typeLibNode, iface.Name);
					String searchName = mi.Name;
					// See if its a member name qualified by this
					// interface name
					if (mi.Name.StartsWith(iface.Name)) {
						searchName = mi.Name.Substring(iface.Name.Length + 1);
						if (mi is EventInfo && 
							searchName.StartsWith("Event_"))
							searchName = searchName.Substring(6);
					}
					resultNode = SearchNode(ifaceNode, searchName);
					if (resultNode != null)
						return resultNode;
				}
				throw new Exception("(bug) - cant find member " + mi);
			} else {
				return SearchNode(typeTreeNode, mi.Name);
			}
		}
예제 #2
0
        // Allocates the correct type of node
        protected override BrowserTreeNode AllocateChildNode(Object obj)
        {
            ComTypeTreeNode node = new ComTypeTreeNode((BasicInfo)obj);

            node.IntermediateNodeTypes = null;
            return(node);
        }
 // Allocates the correct type of node
 protected override BrowserTreeNode AllocateChildNode(Object obj)
 {
     BrowserTreeNode node = new ComTypeTreeNode((BasicInfo)obj);
     node.IntermediateNodeTypes = null;
     if (_progress != null)
         _progress.UpdateProgress(1);
     return node;
 }
 // Allocates the correct type of node
 protected override BrowserTreeNode AllocateChildNode(Object obj)
 {
     ComTypeTreeNode node = new ComTypeTreeNode((BasicInfo)obj);
     node.IntermediateNodeTypes = null;
     node.SetPresInfo(TYPEKIND.TKIND_COCLASS);
     if (_progress != null)
         _progress.UpdateProgress(1);
     return node;
 }
        // Allocates the correct type of node
        protected override BrowserTreeNode AllocateChildNode(Object obj)
        {
            BrowserTreeNode node = new ComTypeTreeNode((BasicInfo)obj);

            node.IntermediateNodeTypes = null;
            if (_progress != null)
            {
                _progress.UpdateProgress(1);
            }
            return(node);
        }
예제 #6
0
 // Allocates the correct type of node
 protected override BrowserTreeNode AllocateChildNode(Object obj)
 {
     // For inherited interfaces
     if (obj is ComInterfaceInfo)
     {
         BrowserTreeNode node = new ComTypeTreeNode((BasicInfo)obj);
         node.IntermediateNodeTypes = new ArrayList();
         node.IntermediateNodeTypes.Add
             (IntermediateNodeType.
             GetNodeType(IntermediateNodeType.INTNODE_COM_BASEINT));
         return(node);
     }
     return(new ComMemberTreeNode((BasicInfo)obj));
 }
        // Allocates the correct type of node
        protected override BrowserTreeNode AllocateChildNode(Object obj)
        {
            if (_progress != null)
            {
                _progress.UpdateProgress(1);
            }

            ProgIdNode      progIdNode = (ProgIdNode)obj;
            ComTypeTreeNode node       = new ComTypeTreeNode(progIdNode._info,
                                                             progIdNode._progId);

            node.IntermediateNodeTypes = null;
            return(node);
        }
        // Allocates the correct type of node
        protected override BrowserTreeNode AllocateChildNode(Object obj)
        {
            if (_progress != null)
                _progress.UpdateProgress(1);

            ProgIdNode progIdNode = (ProgIdNode)obj;
            ComTypeTreeNode node = new ComTypeTreeNode(progIdNode._info, 
                                                       progIdNode._progId);
            node.IntermediateNodeTypes = null;
            return node;
        }
예제 #9
0
 // Allocates the correct type of node
 protected override BrowserTreeNode AllocateChildNode(Object obj)
 {
     // For inherited interfaces
     if (obj is ComInterfaceInfo)
     {
         BrowserTreeNode node = new ComTypeTreeNode((BasicInfo)obj);
         node.IntermediateNodeTypes = new ArrayList();
         node.IntermediateNodeTypes.Add
             (IntermediateNodeType.
              GetNodeType(IntermediateNodeType.INTNODE_COM_BASEINT));
         return node;
     }
     return new ComMemberTreeNode((BasicInfo)obj);
 }
예제 #10
0
 // Allocates the correct type of node
 protected override BrowserTreeNode AllocateChildNode(Object obj)
 {
     ComTypeTreeNode node = new ComTypeTreeNode((BasicInfo)obj);
     node.IntermediateNodeTypes = null;
     return node;
 }