// ------------------------------------------------------
        public int OnAfterRemoveDirectories(int cProjects, int cDirectories,
			IVsProject[] rgpProjects, int[] rgFirstIndices,
			string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
        {
            CxxTestPackage.Instance.TryToRefreshTestSuitesWindow();

            return VSConstants.S_OK;
        }
 int IVsTrackProjectDocumentsEvents2.OnAfterRemoveDirectories(int cProjects,
     int cDirectories,
     IVsProject[] rgpProjects,
     int[] rgFirstIndices,
     string[] rgpszMkDocuments,
     VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     return VSConstants.S_OK;
 }
Пример #3
0
 /// <summary>
 /// Notify the environment about a file just removed
 /// </summary>
 internal void OnFolderRemoved(string folder, VSREMOVEDIRECTORYFLAGS flag)
 {
     if ((this.projectMgr.EventTriggeringFlag & ProjectNode.EventTriggering.DoNotTriggerTrackerEvents) == 0)
     {
         ErrorHandler.ThrowOnFailure(this.GetIVsTrackProjectDocuments2().OnAfterRemoveDirectories(
                                         this.projectMgr.GetOuterInterface <IVsProject>(),
                                         1,
                                         new string[1] {
             folder
         },
                                         new VSREMOVEDIRECTORYFLAGS[1] {
             flag
         }));
     }
 }
        public int OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices,
            string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
        {
            var args = new PostProjectRemoveDirectoriesEventArgs(this.events)
            {
                Files = rgpszMkDocuments
            };

            //VSQUERYADDFILERESULTS.VSQUERYADDFILERESULTS_AddOK;
            //VSQUERYADDFILERESULTS.VSQUERYADDFILERESULTS_AddNotOK;

            this.events.TriggerPostProjectRemoveDirectories(args);

            return VSConstants.S_OK;
        }
Пример #5
0
        public int OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
        {
            if (rgpProjects == null || rgpszMkDocuments == null)
                return VSConstants.E_POINTER;

            int iDirectory = 0;

            for (int i = 0; i < cDirectories; i++)
            {
                string s = rgpszMkDocuments[i];

                if (!string.IsNullOrEmpty(s) && GitItem.IsValidPath(s))
                    StatusCache.MarkDirty(GitTools.GetNormalizedFullPath(s));
            }

            for (int iProject = 0; (iProject < cProjects) && (iDirectory < cDirectories); iProject++)
            {
                int iLastDirectoryThisProject = (iProject < cProjects - 1) ? rgFirstIndices[iProject + 1] : cDirectories;

                IVsSccProject2 sccProject = rgpProjects[iProject] as IVsSccProject2;
                bool track = SccProvider.TrackProjectChanges(sccProject);

                for (; iDirectory < iLastDirectoryThisProject; iDirectory++)
                {
                    if (sccProject == null || !track)
                        continue; // Not handled by our provider

                    string dir = rgpszMkDocuments[iDirectory];

                    if (string.IsNullOrEmpty(dir) || !GitItem.IsValidPath(dir))
                        continue;

                    dir = GitTools.GetNormalizedFullPath(dir);

                    SccProvider.OnProjectDirectoryRemoved(sccProject, rgpszMkDocuments[iDirectory], rgFlags[iDirectory]);
                }
            }

            return VSConstants.S_OK;
        }
Пример #6
0
        void IAnkhSccProviderEvents.OnProjectDirectoryRemoved(IVsSccProject2 sccProject, string dir, VSREMOVEDIRECTORYFLAGS vSREMOVEDIRECTORYFLAGS)
        {
            SccProjectData data;

            ProjectMap.EnsureSccProject(sccProject, out data);
            OnProjectDirectoryRemoved(data, dir);
        }
Пример #7
0
 protected override void RaiseOnItemRemoved(string documentToRemove, string[] filesToBeDeleted) {
     VSREMOVEDIRECTORYFLAGS[] removeFlags = new VSREMOVEDIRECTORYFLAGS[1];
     this.ProjectMgr.Tracker.OnFolderRemoved(documentToRemove, removeFlags[0]);
 }
Пример #8
0
 public int OnAfterRemoveDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags) {
     return VSConstants.S_OK;
 }
Пример #9
0
 protected override void RaiseOnItemRemoved(string documentToRemove, string[] filesToBeDeleted)
 {
     VSREMOVEDIRECTORYFLAGS[] removeFlags = new VSREMOVEDIRECTORYFLAGS[1];
     this.ProjectMgr.Tracker.OnFolderRemoved(documentToRemove, removeFlags[0]);
 }
Пример #10
0
 int IVsTrackProjectDocumentsEvents2.OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     GenerateEvents(rgpProjects, rgFirstIndices, rgpszMkDocuments, DirectoryRemoved, new ProjectDocumentsChangeEventArgs());
     return NativeMethods.S_OK;
 }
        /// <summary>
        /// Called when a directory is removed from a project
        /// </summary>
        /// <param name="project">The SCC project.</param>
        /// <param name="directoryname">The directoryname.</param>
        /// <param name="flags">The flags.</param>
        internal void OnProjectDirectoryRemoved(IVsSccProject2 project, string directoryname, VSREMOVEDIRECTORYFLAGS flags)
        {
            SccProjectData data;
            if (!_projectMap.TryGetValue(project, out data))
                return; // Not managed by us

            // a directory can be added like a folder but with an ending '\'
            string dir = GitTools.GetNormalizedFullPath(directoryname);
            data.RemovePath(dir);

            if (!IsActive)
                return;

            RegisterForSccCleanup();
        }
 public int OnAfterRemoveDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     throw new NotImplementedException();
 }
 public int OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags) {
     foreach (var dir in rgpszMkDocuments) {
         DocumentEvents.Add("OnAfterRemoveDirectories " + dir);
         CodeDocumentEvents.Add("OnAfterRemoveDirectories(" + GetRelativePath(rgpProjects[0], dir) + ")");
     }
     return VSConstants.S_OK;
 }
 /// <summary>
 /// Notify the environment about a file just removed
 /// </summary>
 internal void OnFolderRemoved(string folder, VSREMOVEDIRECTORYFLAGS flag) {
     if ((this.projectMgr.EventTriggeringFlag & ProjectNode.EventTriggering.DoNotTriggerTrackerEvents) == 0) {
         ErrorHandler.ThrowOnFailure(this.GetIVsTrackProjectDocuments2().OnAfterRemoveDirectories(
             projectMgr.GetOuterInterface<IVsProject>(),
             1,
             new string[1] { folder },
             new VSREMOVEDIRECTORYFLAGS[1] { flag }));
     }
 }
Пример #15
0
 int IVsTrackProjectDocumentsEvents2.OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     _flavoredProjectBase.GenerateEvents(rgpProjects, rgFirstIndices, rgpszMkDocuments, _flavoredProjectBase.DirectoryRemoved, new ProjectDocumentsChangeEventArgs());
     return VSConstants.S_OK;
 }
Пример #16
0
 public int OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects,
                                     int[] rgFirstIndices, string[] rgpszMkDocuments,
                                     VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     return 0;
 }
 public virtual int OnAfterRemoveDirectories(int cProjects, int cDirectories, IVsProject[] rgpProjects, int[] rgFirstIndices, string[] rgpszMkDocuments, VSREMOVEDIRECTORYFLAGS[] rgFlags)
 {
     return VSConstants.E_NOTIMPL;
 }
Пример #18
0
        void IAnkhSccProviderEvents.OnProjectDirectoryRemoved(IVsSccProject2 sccProject, string dir, VSREMOVEDIRECTORYFLAGS vSREMOVEDIRECTORYFLAGS)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            SccProjectData data;

            ProjectMap.EnsureSccProject(sccProject, out data);
            OnProjectDirectoryRemoved(data, dir);
        }