@Override public void fillFiles(Set<PsiFile> set, boolean recursively) { super.fillFiles(set, recursively); int count = getChildCount(); Boolean isRoot = null; for (int i = 0; i < count; i++) { PackageDependenciesNode child = (PackageDependenciesNode) getChildAt(i); if (child instanceof FileNode || recursively) { child.fillFiles(set, true); } else if (child instanceof DirectoryNode) { if (isRoot == null) { isRoot = isContentOrSourceRoot(); } if (isRoot) { child.fillFiles(set, false); } } } }
private Set<PsiFile> getSelectedScope(final Tree tree) { TreePath[] paths = tree.getSelectionPaths(); if (paths == null) return EMPTY_FILE_SET; Set<PsiFile> result = new HashSet<PsiFile>(); for (TreePath path : paths) { PackageDependenciesNode node = (PackageDependenciesNode) path.getLastPathComponent(); node.fillFiles(result, !mySettings.UI_FLATTEN_PACKAGES); } return result; }