Ejemplo n.º 1
0
        public ProjectItem AddFromFile(string fileName)
        {
            MockEnvDteProjectItem newItem = new MockEnvDteProjectItem(_parentHierarchy)
            {
                Name = fileName
            };

            _parentHierarchy.AddChild(Path.GetFileName(fileName));
            return(newItem);
        }
Ejemplo n.º 2
0
        public ProjectItem AddFolder(string name, string kind)
        {
            MockEnvDteProjectItem newItem = new MockEnvDteProjectItem(_parentHierarchy)
            {
                Name = name,
                Kind = Constants.vsProjectItemKindPhysicalFolder
            };

            _parentHierarchy.AddFolder(Path.GetFileName(name));
            return(newItem);
        }
Ejemplo n.º 3
0
        public int GetProperty(uint itemid, int propid, out object pvar)
        {
            pvar = null;
            __VSHPROPID propId = (__VSHPROPID)propid;

            switch (propId)
            {
            case __VSHPROPID.VSHPROPID_ExtObject:
            {
                if (itemid == VSConstants.VSITEMID_ROOT)
                {
                    pvar = ExtObject;
                    return(VSConstants.S_OK);
                }

                if (IsChild(itemid))
                {
                    pvar = new MockEnvDteProjectItem(this)
                    {
                        Name = new FileInfo(GetChild(itemid)).FullName
                    };
                    return(VSConstants.S_OK);
                }
                if (IsFolder(itemid))
                {
                    pvar = new MockEnvDteProjectItem(this)
                    {
                        Name = new FileInfo(GetFolder(itemid)).FullName,
                        Kind = Constants.vsProjectItemKindPhysicalFolder
                    };
                    return(VSConstants.S_OK);
                }
                break;
            }

            case __VSHPROPID.VSHPROPID_SaveName:
            {
                if (itemid == VSConstants.VSITEMID_ROOT)
                {
                    pvar = FileName;
                }
                else if (IsChild(itemid))
                {
                    pvar = new FileInfo(GetChild(itemid)).FullName;
                }
                else if (IsFolder(itemid))
                {
                    pvar = new FileInfo(GetFolder(itemid)).FullName;
                }
                else if (IsProject(itemid))
                {
                    pvar = GetProject(itemid).FileName;
                }

                return(VSConstants.S_OK);
            }

            case __VSHPROPID.VSHPROPID_Name:
            {
                if (itemid == VSConstants.VSITEMID_ROOT)
                {
                    pvar = Name;
                }
                else if (IsChild(itemid))
                {
                    pvar = new FileInfo(GetChild(itemid)).Name;
                }
                else if (IsFolder(itemid))
                {
                    pvar = new FileInfo(GetFolder(itemid)).Name;
                }
                else if (IsProject(itemid))
                {
                    pvar = GetProject(itemid).Name;
                }
                return(VSConstants.S_OK);
            }

            case __VSHPROPID.VSHPROPID_FirstVisibleChild:
            case __VSHPROPID.VSHPROPID_FirstChild:
            {
                if (itemid == VSConstants.VSITEMID_ROOT && HierarchyChildrenCount > 0)
                {
                    pvar = 0;
                    return(VSConstants.S_OK);
                }
                pvar = VSConstants.VSITEMID_NIL;
                return(VSConstants.S_OK);
            }

            case __VSHPROPID.VSHPROPID_NextSibling:
            case __VSHPROPID.VSHPROPID_NextVisibleSibling:
            {
                if (itemid + 1 < HierarchyChildrenCount)
                {
                    pvar = itemid + 1;
                    return(VSConstants.S_OK);
                }
                pvar = VSConstants.VSITEMID_NIL;
                return(VSConstants.S_OK);
            }

            case __VSHPROPID.VSHPROPID_ProjectDir:
            {
                pvar = Directory.GetCurrentDirectory();
                return(VSConstants.S_OK);
            }

            case __VSHPROPID.VSHPROPID_ParentHierarchy:
            {
                pvar = _parent;
                return(VSConstants.S_OK);
            }
            }
            return(VSConstants.DISP_E_MEMBERNOTFOUND);
        }