public override object GetProperty()

in Nodejs/Product/Nodejs/SharedProject/ProjectNode.cs [794:873]


        public override object GetProperty(int propId)
        {
            switch ((__VSHPROPID)propId)
            {
                case (__VSHPROPID)__VSHPROPID4.VSHPROPID_TargetFrameworkMoniker:
                    // really only here for testing so WAP projects load correctly...
                    // But this also impacts the toolbox by filtering what available items there are.
                    return ".NETFramework,Version=v4.0,Profile=Client";
                case __VSHPROPID.VSHPROPID_ConfigurationProvider:
                    return this.ConfigProvider;

                case __VSHPROPID.VSHPROPID_ProjectName:
                    return this.Caption;

                case __VSHPROPID.VSHPROPID_ProjectDir:
                    return this.ProjectFolder;

                case __VSHPROPID.VSHPROPID_TypeName:
                    return this.ProjectType;

                case __VSHPROPID.VSHPROPID_ShowProjInSolutionPage:
                    return this.ShowProjectInSolutionPage;

                case __VSHPROPID.VSHPROPID_ExpandByDefault:
                    return true;

                case __VSHPROPID.VSHPROPID_DefaultEnableDeployProjectCfg:
                    return true;

                case __VSHPROPID.VSHPROPID_DefaultEnableBuildProjectCfg:
                    return true;

                // Use the same icon as if the folder was closed
                case __VSHPROPID.VSHPROPID_OpenFolderIconIndex:
                    return GetProperty((int)__VSHPROPID.VSHPROPID_IconIndex);

                case __VSHPROPID.VSHPROPID_ParentHierarchyItemid:
                    if (this.parentHierarchy != null)
                    {
                        return (IntPtr)this.parentHierarchyItemId; // VS requires VT_I4 | VT_INT_PTR
                    }
                    break;

                case __VSHPROPID.VSHPROPID_ParentHierarchy:
                    return this.parentHierarchy;
            }

            switch ((__VSHPROPID2)propId)
            {
                case __VSHPROPID2.VSHPROPID_SupportsProjectDesigner:
                    return this.SupportsProjectDesigner;

                case __VSHPROPID2.VSHPROPID_PropertyPagesCLSIDList:
                    return Utilities.CreateSemicolonDelimitedListOfStringFromGuids(this.GetConfigurationIndependentPropertyPages());

                case __VSHPROPID2.VSHPROPID_CfgPropertyPagesCLSIDList:
                    return Utilities.CreateSemicolonDelimitedListOfStringFromGuids(this.GetConfigurationDependentPropertyPages());

                case __VSHPROPID2.VSHPROPID_PriorityPropertyPagesCLSIDList:
                    return Utilities.CreateSemicolonDelimitedListOfStringFromGuids(this.GetPriorityProjectDesignerPages());

                case __VSHPROPID2.VSHPROPID_Container:
                    return true;
                default:
                    break;
            }

            switch ((__VSHPROPID5)propId)
            {
                case __VSHPROPID5.VSHPROPID_ProjectCapabilities:
                    var caps = this.ProjectCapabilities;
                    if (!string.IsNullOrEmpty(caps))
                    {
                        return caps;
                    }
                    break;
            }

            return base.GetProperty(propId);
        }