private boolean cleanupChildrenRecursively( @NotNull final Object fromElement, final @Nullable CompileScope scope, @NotNull UUID currentSessionId) { final ErrorViewStructure structure = myPanel.getErrorViewStructure(); ErrorTreeElement[] elements = structure.getChildElements(fromElement); if (elements.length == 0) return true; boolean result = false; for (ErrorTreeElement element : elements) { if (element instanceof GroupingElement) { if (scope != null) { final VirtualFile file = ((GroupingElement) element).getFile(); if (file != null && !scope.belongs(file.getUrl())) { continue; } } if (!currentSessionId.equals(element.getData())) { structure.removeElement(element); result = true; } else { result |= cleanupChildrenRecursively(element, scope, currentSessionId); } } else { if (!currentSessionId.equals(element.getData())) { structure.removeElement(element); result = true; } } } return result; }
@Override public void clearProgress() { myPanel.clearProgressData(); }
@Override public void setProgress(String text) { myPanel.setProgressText(text); }
@Override public void setProgress(String text, float fraction) { myPanel.setProgress(text, fraction); }