コード例 #1
0
        public override IEnumerable <INodeFactory> GetNodeChildren(IContext context)
        {
            List <INodeFactory> factories = new List <INodeFactory>
            {
                new SelectedProjectItemsNodeFactory(_dte.SelectedItems),
                new SelectedProjectsNodeFactory(_dte.SelectedItems)
            };

            var codeModel = new SelectedCodeModelItemsCollectionNodeFactory(_dte);

            if (PathTopologyVersions.SupportsSelectedCodeModelItemContainer(context))
            {
                factories.Add(codeModel);
            }
            else
            {
                factories.AddRange(codeModel.GetNodeChildren(context));
            }

            if (null != _dte.ActiveDocument)
            {
                factories.Add(new DocumentNodeFactory(_dte.ActiveDocument, "ActiveDocument"));
            }



            return(factories);
        }
コード例 #2
0
        public override IEnumerable<INodeFactory>  GetNodeChildren( IContext context )
        {
            List<INodeFactory> factories = new List<INodeFactory>
                                               {
                                                   new SelectedProjectItemsNodeFactory(_dte.SelectedItems),
                                                   new SelectedProjectsNodeFactory(_dte.SelectedItems),
                                               };

            var codeModel = new SelectedCodeModelItemsCollectionNodeFactory(_dte);

            if( PathTopologyVersions.SupportsSelectedCodeModelItemContainer( context ) )
            {
                factories.Add(codeModel);
            }
            else
            {
                factories.AddRange( codeModel.GetNodeChildren( context ));
            }
            return factories;
        }