public ProjectItem AddFromFile(string fileName) { MockEnvDteProjectItem newItem = new MockEnvDteProjectItem(_parentHierarchy) { Name = fileName }; _parentHierarchy.AddChild(Path.GetFileName(fileName)); return(newItem); }
public ProjectItem AddFolder(string name, string kind) { MockEnvDteProjectItem newItem = new MockEnvDteProjectItem(_parentHierarchy) { Name = name, Kind = Constants.vsProjectItemKindPhysicalFolder }; _parentHierarchy.AddFolder(Path.GetFileName(name)); return(newItem); }
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); }