예제 #1
0
 public void updateTargetsView(final DependencyViewerScope sourceScope) {
   myScope = sourceScope;
   final Wrappers._T<SearchResults<SNode>> results =
       new Wrappers._T<SearchResults<SNode>>(new SearchResults<SNode>());
   ProgressManager.getInstance()
       .run(
           new Task.Modal(myProject, "Analyzing dependencies", true) {
             public void run(@NotNull final ProgressIndicator indicator) {
               ModelAccess.instance()
                   .runReadAction(
                       new Runnable() {
                         public void run() {
                           ProgressMonitor monitor = new ProgressMonitorAdapter(indicator);
                           try {
                             monitor.start(null, 100);
                             List<SNode> nodes =
                                 myReferencesFinder.getNodes(sourceScope, monitor.subTask(20));
                             mySourceNodes = nodes;
                             results.value =
                                 (myIsMeta
                                     ? myReferencesFinder.getUsedLanguagesSearchResults(
                                         nodes, sourceScope, monitor.subTask(80))
                                     : myReferencesFinder.getTargetSearchResults(
                                         nodes, sourceScope, monitor.subTask(80)));
                           } finally {
                             monitor.done();
                           }
                         }
                       });
             }
           });
   myTargetsView.setContents(results.value);
   updateReferencesView(null);
 }