int IProjectSourceNode.IncludeInProject(bool recursive) { if (this.ProjectMgr == null || this.ProjectMgr.IsClosed) { return((int)OleConstants.OLECMDERR_E_NOTSUPPORTED); } else if (!this.IsNonMemberItem) { return(VSConstants.S_OK); // do nothing, just ignore it. } using (WixHelperMethods.NewWaitCursor()) { // Check out the project file. if (!this.ProjectMgr.QueryEditProjectFile(false)) { throw Marshal.GetExceptionForHR(VSConstants.OLE_E_PROMPTSAVECANCELLED); } // make sure that all parent folders are included in the project WixHelperMethods.EnsureParentFolderIncluded(this); // now add this node to the project. this.AddToMSBuild(recursive); this.ReDraw(UIHierarchyElement.Icon); // refresh property browser... WixHelperMethods.RefreshPropertyBrowser(); } return(VSConstants.S_OK); }
int IProjectSourceNode.IncludeInProject() { WixProjectNode projectNode = this.ProjectMgr as WixProjectNode; if (projectNode == null || projectNode.IsClosed) { return((int)OleConstants.OLECMDERR_E_NOTSUPPORTED); } else if (!this.IsNonMemberItem) { return(VSConstants.S_OK); // do nothing, just ignore it. } using (WixHelperMethods.NewWaitCursor()) { // Check out the project file. if (!projectNode.QueryEditProjectFile(false)) { throw Marshal.GetExceptionForHR(VSConstants.OLE_E_PROMPTSAVECANCELLED); } // make sure that all parent folders are included in the project WixHelperMethods.EnsureParentFolderIncluded(this); // now add this node to the project. this.SetProperty((int)__VSHPROPID.VSHPROPID_IsNonMemberItem, false); this.ItemNode = projectNode.CreateMsBuildFileProjectElement(this.Url); this.ProjectMgr.Tracker.OnItemAdded(this.Url, VSADDFILEFLAGS.VSADDFILEFLAGS_NoFlags); // notify others ////projectNode.OnItemAdded(this.Parent, this); this.ReDraw(UIHierarchyElement.Icon); // We have to redraw the icon of the node as it is now a member of the project and should be drawn using a different icon. this.ReDraw(UIHierarchyElement.SccState); // update the SCC state icon. this.ResetProperties(); // refresh property browser... WixHelperMethods.RefreshPropertyBrowser(); } return(VSConstants.S_OK); }