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); }
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; }