Beispiel #1
0
 static void OnProjectItemRemoved(ProjectItemEventArgs e)
 {
     if (ProjectItemRemoved != null)
     {
         ProjectItemRemoved(null, e);
     }
 }
 void ProjectServiceProjectItemAdded(object sender, ProjectItemEventArgs e)
 {
     if (e.ProjectItem is ReferenceProjectItem)
     {
         CallVisitor(new UpdateReferencesVisitor(e));
     }
 }
 void AddFileProjectItemToProjectBrowser(ProjectItemEventArgs e)
 {
     var visitor = new UpdateProjectBrowserFileNodesVisitor(e);
     foreach (AbstractProjectBrowserTreeNode node in projectBrowser.TreeView.Nodes) {
         node.AcceptVisitor(visitor, null);
     }
 }
		void OnProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.Project != project) return;
			
			ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
			if (reference != null) {
				if (reference.ItemType == ItemType.COMReference) {
					System.Windows.Forms.MethodInvoker action = delegate {
						// Compile project to ensure interop library is generated
						project.Save(); // project is not yet saved when ItemAdded fires, so save it here
						string message = StringParser.Parse("\n${res:MainWindow.CompilerMessages.CreatingCOMInteropAssembly}\n");
						TaskService.BuildMessageViewCategory.AppendText(message);
						BuildCallback afterBuildCallback = delegate {
							lock (callAfterAddComReference) {
								if (callAfterAddComReference.Count > 0) {
									// run next enqueued action
									callAfterAddComReference.Dequeue()();
								} else {
									buildingComReference = false;
									ParserService.Reparse(project, true, false);
								}
							}
						};
						BuildEngine.BuildInGui(project, new BuildOptions(BuildTarget.ResolveComReferences, afterBuildCallback));
					};
					
					// enqueue actions when adding multiple COM references so that multiple builds of the same project
					// are not started parallely
					lock (callAfterAddComReference) {
						if (buildingComReference) {
							callAfterAddComReference.Enqueue(action);
						} else {
							buildingComReference = true;
							action();
						}
					}
				} else {
					ParserService.Reparse(project, true, false);
				}
			}
			if (e.ProjectItem.ItemType == ItemType.Import) {
				UpdateDefaultImports(project.Items);
			} else if (e.ProjectItem.ItemType == ItemType.Compile) {
				if (System.IO.File.Exists(e.ProjectItem.FileName)) {
					ParserService.BeginParse(e.ProjectItem.FileName);
				}
			}
		}
		void OnProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.Project != project) return;
			
			ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
			if (reference != null) {
				if (reference.ItemType == ItemType.COMReference) {
					System.Windows.Forms.MethodInvoker action = delegate {
						// Compile project to ensure interop library is generated
						project.Save(); // project is not yet saved when ItemAdded fires, so save it here
						TaskService.BuildMessageViewCategory.AppendText("\n${res:MainWindow.CompilerMessages.CreatingCOMInteropAssembly}\n");
						BuildCallback callback = delegate {
							System.Threading.ThreadPool.QueueUserWorkItem(AddReference, reference);
							lock (callAfterAddComReference) {
								if (callAfterAddComReference.Count > 0) {
									callAfterAddComReference.Dequeue()();
								} else {
									buildingComReference = false;
								}
							}
						};
						project.StartBuild(new BuildOptions(BuildTarget.ResolveComReferences, callback));
					};
					lock (callAfterAddComReference) {
						if (buildingComReference) {
							callAfterAddComReference.Enqueue(action);
						} else {
							buildingComReference = true;
							action();
						}
					}
				} else {
					System.Threading.ThreadPool.QueueUserWorkItem(AddReference, reference);
				}
			}
			if (e.ProjectItem.ItemType == ItemType.Import) {
				UpdateDefaultImports(project.Items);
			} else if (e.ProjectItem.ItemType == ItemType.Compile) {
				if (System.IO.File.Exists(e.ProjectItem.FileName)) {
					ParserService.EnqueueForParsing(e.ProjectItem.FileName);
				}
			}
		}
Beispiel #6
0
		void IProjectServiceRaiseEvents.RaiseProjectItemRemoved(ProjectItemEventArgs e)
		{
			ProjectItemRemoved(this, e);
		}
Beispiel #7
0
		void ProjectService_ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.ProjectItem is ReferenceProjectItem)
				WpfToolbox.Instance.AddProjectDlls(this.Files[0]);
		}
		void OnProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.Project != project) return;
			
			ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
			if (reference != null) {
				ReparseReferences();
			}
			FileProjectItem fileProjectItem = e.ProjectItem as FileProjectItem;
			if (IsParseableFile(fileProjectItem)) {
				var fileName = e.ProjectItem.FileName;
				SD.ParserService.AddOwnerProject(fileName, project, startAsyncParse: true, isLinkedFile: fileProjectItem.IsLink);
			}
		}
		void OnProjectItemRemoved(object sender, ProjectItemEventArgs e)
		{
			if (e.Project != project) return;
			
			ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
			if (reference != null) {
				try {
					ReparseReferences();
				} catch (Exception ex) {
					MessageService.ShowException(ex);
				}
			}
			
			FileProjectItem fileProjectItem = e.ProjectItem as FileProjectItem;
			if (IsParseableFile(fileProjectItem)) {
				SD.ParserService.RemoveOwnerProject(e.ProjectItem.FileName, project);
			}
		}
 public UpdateReferencesVisitor(ProjectItemEventArgs e)
 {
     this.e = e;
 }
		void ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.ProjectItem is ReferenceProjectItem) {
				RescanProjectAssemblies(sender, e);
			}
		}
		protected override void ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			SD.MainThread.InvokeIfRequired(() => base.ProjectItemAdded(sender, e));
		}
Beispiel #13
0
		void OnReferenceAdded(object sender, ProjectItemEventArgs e)
		{
			if (!(e.ProjectItem is ReferenceProjectItem)) return;
			if (e.Project != SD.ProjectService.FindProjectContainingFile(Files[0].FileName)) return;
			WpfToolbox.Instance.AddProjectDlls(Files[0]);
		}
		protected override void ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			WorkbenchSingleton.SafeThreadAsyncCall(() => base.ProjectItemAdded(sender, e));
		}
		void OnProjectItemRemoved(object sender, ProjectItemEventArgs e)
		{
			if (e.Project != project) return;
			
			ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
			if (reference != null) {
				try {
					IProjectContent referencedContent = AssemblyParserService.GetExistingProjectContentForReference(reference);
					if (referencedContent != null) {
						lock (ReferencedContents) {
							ReferencedContents.Remove(referencedContent);
						}
						OnReferencedContentsChanged(EventArgs.Empty);
					}
				} catch (Exception ex) {
					MessageService.ShowException(ex);
				}
			}
			
			if (e.ProjectItem.ItemType == ItemType.Import) {
				UpdateDefaultImports(project.Items);
			} else if (e.ProjectItem.ItemType == ItemType.Compile) {
				ParserService.ClearParseInformation(e.ProjectItem.FileName);
			}
		}
		void ProjectItemRemoved(object sender, ProjectItemEventArgs e)
		{
			RemoveTypeScriptFileFromContext(e.ProjectItem.FileName);
		}
Beispiel #17
0
 public UpdateReferencesVisitor(ProjectItemEventArgs e)
 {
     this.e = e;
 }
		void ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			AddTypeScriptFileToContext(e.Project, e.ProjectItem.FileName);
		}
		void ProjectServiceProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			if (e.ProjectItem is ReferenceProjectItem)  {
				CallVisitor(new UpdateReferencesVisitor(e));
			}
		}
 void IProjectServiceRaiseEvents.RaiseProjectItemRemoved(ProjectItemEventArgs e)
 {
     ProjectItemRemoved(this, e);
 }
		void ProjectItemRemoved(object sender, ProjectItemEventArgs e)
		{
			LoggingService.Debug("ProjectItemRemoved.");
			if (e.ProjectItem.ItemType != ItemType.Folder) {
				if (NAntBuildFile.IsBuildFile(e.ProjectItem.FileName)) {
					treeView.RemoveBuildFile(e.ProjectItem.FileName);
				}
			}
		}
		void ProjectItemRemoved(object source, ProjectItemEventArgs e)
		{
			ProjectItemRemoved(e.ProjectItem);
		}
 protected virtual void ProjectItemAdded(object sender, ProjectItemEventArgs e)
 {
     if (e.ProjectItem is FileProjectItem) {
         AddFileProjectItemToProjectBrowser(e);
     }
 }
		public UpdateProjectBrowserFileNodesVisitor(ProjectItemEventArgs projectItemEventArgs)
		{
			this.projectItemEventArgs = projectItemEventArgs;
			this.newFileAddedToProject = projectItemEventArgs.ProjectItem as FileProjectItem;
		}
Beispiel #25
0
		static void OnProjectItemRemoved(ProjectItemEventArgs e)
		{
			if (ProjectItemRemoved != null) {
				ProjectItemRemoved(null, e);
			}
		}
		void ProjectService_ProjectItemAdded(object sender, ProjectItemEventArgs e)
		{
			// TODO reimplement this!
//			if (e.ProjectItem is ReferenceProjectItem)
//				WpfToolbox.Instance.AddProjectDlls(this.Files[0]);
		}