Exemple #1
0
        void OnFileAdded(object sender, MonoDevelop.Projects.ProjectFileEventArgs args)
        {
            if (internalChanges)
            {
                return;
            }
            var project = (MonoDevelop.Projects.Project)sender;

            foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args)
            {
                var projectFile = fargs.ProjectFile;
                if (projectFile.Subtype == MonoDevelop.Projects.Subtype.Directory)
                {
                    continue;
                }
                var projectData = GetProjectData(GetProjectId(project));
                if (TypeSystemParserNode.IsCompileBuildAction(projectFile.BuildAction))
                {
                    var newDocument = CreateDocumentInfo(solutionData, project.Name, projectData, projectFile);
                    OnDocumentAdded(newDocument);
                }
                else
                {
                    foreach (var projectedDocument in GenerateProjections(projectFile, projectData, project))
                    {
                        OnDocumentAdded(projectedDocument);
                    }
                }
            }
        }
Exemple #2
0
        void OnFileRemoved(object sender, MonoDevelop.Projects.ProjectFileEventArgs args)
        {
            if (internalChanges)
            {
                return;
            }
            var project = (MonoDevelop.Projects.Project)sender;

            foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args)
            {
                var projectId = GetProjectId(project);
                var data      = GetProjectData(projectId);
                var id        = data.GetDocumentId(fargs.ProjectFile.FilePath);
                if (id != null)
                {
                    ClearDocumentData(id);
                    OnDocumentRemoved(id);
                    data.RemoveDocument(fargs.ProjectFile.FilePath);
                }
                else
                {
                    foreach (var entry in ProjectionList)
                    {
                        if (entry.File == fargs.ProjectFile)
                        {
                            foreach (var projectedDocument in entry.Projections)
                            {
                                id = data.GetDocumentId(projectedDocument.Document.FileName);
                                if (id != null)
                                {
                                    ClearDocumentData(id);
                                    OnDocumentRemoved(id);
                                    data.RemoveDocument(projectedDocument.Document.FileName);
                                }
                            }
                            break;
                        }
                    }
                }
            }
        }
Exemple #3
0
        void OnFileRemoved(object sender, MonoDevelop.Projects.ProjectFileEventArgs args)
        {
            if (internalChanges)
            {
                return;
            }
            var project = (MonoDevelop.Projects.Project)sender;

            foreach (MonoDevelop.Projects.ProjectFileEventInfo fargs in args)
            {
                var projectId = GetProjectId(project);
                var data      = GetProjectData(projectId);
                var id        = data.GetDocumentId(fargs.ProjectFile.FilePath);
                if (id != null)
                {
                    ClearDocumentData(id);
                    OnDocumentRemoved(id);
                    data.RemoveDocument(fargs.ProjectFile.FilePath);
                }
            }
        }
 void FileChangedInProject(object sender, MonoDevelop.Projects.ProjectFileEventArgs e)
 {
     cache.Remove(e.ProjectFile.Name);
 }