示例#1
0
 void ParserServiceParseInformationUpdated(object sender, ParseInformationEventArgs e)
 {
     WorkbenchSingleton.DebugAssertMainThread();
     foreach (TreeNode node in classBrowserTreeView.Nodes)
     {
         AbstractProjectNode prjNode = node as AbstractProjectNode;
         if (prjNode != null && e.ProjectContent.Project == prjNode.Project)
         {
             prjNode.UpdateParseInformation(e.OldCompilationUnit, e.NewCompilationUnit);
         }
     }
 }
示例#2
0
 // running on main thread, invoked by the parser thread when a compilation unit changed
 void UpdateThread()
 {
     lock (pending) {
         foreach (ParseInformationEventArgs e in pending)
         {
             foreach (TreeNode node in classBrowserTreeView.Nodes)
             {
                 AbstractProjectNode prjNode = node as AbstractProjectNode;
                 if (prjNode != null && e.ProjectContent.Project == prjNode.Project)
                 {
                     prjNode.UpdateParseInformation(e.OldCompilationUnit, e.NewCompilationUnit);
                 }
             }
         }
         pending.Clear();
     }
 }
示例#3
0
 // running on main thread, invoked by the parser thread when a compilation unit changed
 void UpdateThread()
 {
     lock (pending) {
         foreach (ICompilationUnit[] units in pending)
         {
             ICompilationUnit nonNullUnit = units[1] ?? units[0];
             foreach (TreeNode node in classBrowserTreeView.Nodes)
             {
                 AbstractProjectNode prjNode = node as AbstractProjectNode;
                 if (prjNode != null && prjNode.Project.IsFileInProject(nonNullUnit.FileName))
                 {
                     prjNode.UpdateParseInformation(units[0], units[1]);
                 }
             }
         }
         pending.Clear();
     }
 }