@Override public boolean select(Viewer viewer, Object parent, Object element) { if (!isStateModelInitialized) { initStateModel(viewer); } if (fContentService == null || fStateModel == null) { return true; } else if (element instanceof IPackageFragment) { if (isApplicable() && viewer instanceof StructuredViewer) { boolean isHierarchicalLayout= !fStateModel.getBooleanProperty(IExtensionStateConstants.Values.IS_LAYOUT_FLAT); try { IPackageFragment fragment = (IPackageFragment) element; if (isHierarchicalLayout && !fragment.isDefaultPackage() && fragment.hasSubpackages()) { return hasFilteredChildren((StructuredViewer) viewer, fragment); } } catch (JavaModelException e) { return false; } } } return doSelect(viewer, parent, element); }
private boolean hasFilteredChildren(StructuredViewer viewer, IPackageFragment fragment) { Object[] children= getRawChildren(viewer, fragment); ViewerFilter[] filters= viewer.getFilters(); for (int i= 0; i < filters.length; i++) { children= filters[i].filter(viewer, fragment, children); if (children.length == 0) return false; } return true; }
protected boolean hasFilteredChildren(StructuredViewer viewer, Object element) { Object[] children= getRawChildren(viewer, element); ViewerFilter[] filters= viewer.getFilters(); for (int i= 0; i < filters.length; i++) { children= filters[i].filter(viewer, element, children); if (children.length == 0) return false; } return true; }
public boolean select(Viewer viewer, Object parent, Object element) { if (!isStateModelInitialized) { initStateModel(viewer); } if (fContentService == null || fStateModel == null) { return true; } else if (element instanceof IPackageFragment) { if (isApplicable() && viewer instanceof StructuredViewer) { boolean isHierarchicalLayout= !fStateModel.getBooleanProperty(IExtensionStateConstants.Values.IS_LAYOUT_FLAT); try { IPackageFragment fragment = (IPackageFragment) element; if (isHierarchicalLayout && !fragment.isDefaultPackage() && fragment.hasSubpackages()) { return hasFilteredChildren((StructuredViewer) viewer, fragment); } } catch (JavaModelException e) { return false; } } } return doSelect(viewer, parent, element); }
protected boolean hasFilteredChildren(StructuredViewer viewer, Object element) { Object[] children= getRawChildren(viewer, element); ViewerFilter[] filters= viewer.getFilters(); for (int i= 0; i < filters.length; i++) { boolean hasSelectedChildren= false; // next lines are identical to ViewerFilter.filter(Viewer, Object, Object[]), but exit early when first child is found int size = children.length; for (int j = 0; j < size; ++j) { if (filters[i].select(viewer, element, children[j])) { hasSelectedChildren = true; break; } } if (!hasSelectedChildren) { return false; } } return true; }
@Override public boolean select(Viewer viewer, Object parent, Object element) { if (!isStateModelInitialized) { initStateModel(viewer); } if (fContentService == null || fStateModel == null) { return true; } else if (element instanceof IPackageFragment) { if (isApplicable() && viewer instanceof StructuredViewer) { boolean isHierarchicalLayout= !fStateModel.getBooleanProperty(IExtensionStateConstants.Values.IS_LAYOUT_FLAT); try { IPackageFragment fragment = (IPackageFragment) element; if (isHierarchicalLayout && !fragment.isDefaultPackage() && fragment.hasSubpackages()) { return hasFilteredChildren((StructuredViewer) viewer, fragment); } } catch (JavaModelException e) { return false; } } } return doSelect(viewer, parent, element); }