@Override public boolean isElementVisible(Viewer viewer, Object element) { if (WorkbenchActivityHelper.restrictUseOf(element)) return false; // Nodes are not differentiated based on category since // categories are selectable nodes. if (isLeafMatch(viewer, element)) { return true; } ITreeContentProvider contentProvider = (ITreeContentProvider) ((TreeViewer) viewer).getContentProvider(); IPropertiesViewerNode node = (IPropertiesViewerNode) element; Object[] children = contentProvider.getChildren(node); // Will return true if any subnode of the element matches the search if (filter(viewer, element, children).length > 0) { return true; } return false; }
/** * @param inWizardCategories * the wizard category * @return whether all of the wizards in the category are enabled via * activity filtering */ private boolean allActivityEnabled( final IWizardCategory inWizardCategories) { final IWizardDescriptor[] lWizards = inWizardCategories.getWizards(); for (int i = 0; i < lWizards.length; i++) { final IWizardDescriptor lWizard = lWizards[i]; if (WorkbenchActivityHelper.filterItem(lWizard)) { return false; } } final IWizardCategory[] lChildren = inWizardCategories.getCategories(); for (int i = 0; i < lChildren.length; i++) { if (!allActivityEnabled(lChildren[i])) { return false; } } return true; }
public static ClasspathContainerDescriptor[] getDescriptors() { ArrayList<ClasspathContainerDescriptor> containers= new ArrayList<ClasspathContainerDescriptor>(); IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(JavaUI.ID_PLUGIN, ATT_EXTENSION); if (extensionPoint != null) { ClasspathContainerDescriptor defaultPage= null; String defaultPageName= ClasspathContainerDefaultPage.class.getName(); IConfigurationElement[] elements = extensionPoint.getConfigurationElements(); for (int i = 0; i < elements.length; i++) { try { ClasspathContainerDescriptor curr= new ClasspathContainerDescriptor(elements[i]); if (!WorkbenchActivityHelper.filterItem(curr)) { if (defaultPageName.equals(curr.getPageClass())) { defaultPage= curr; } else { containers.add(curr); } } } catch (CoreException e) { JavaPlugin.log(e); } } if (defaultPageName != null && containers.isEmpty()) { // default page only added of no other extensions found containers.add(defaultPage); } } return containers.toArray(new ClasspathContainerDescriptor[containers.size()]); }
/** * Returns all Java element filters which * are contributed to the given view. * @param targetId the target id * @return all contributed Java element filters for the given view */ public static FilterDescriptor[] getFilterDescriptors(String targetId) { FilterDescriptor[] filterDescs= FilterDescriptor.getFilterDescriptors(); List<FilterDescriptor> result= new ArrayList<FilterDescriptor>(filterDescs.length); for (int i= 0; i < filterDescs.length; i++) { String tid= filterDescs[i].getTargetId(); if (WorkbenchActivityHelper.filterItem(filterDescs[i])) continue; if (tid == null || tid.equals(targetId)) result.add(filterDescs[i]); } return result.toArray(new FilterDescriptor[result.size()]); }
/** * Takes an array of <code>WorkbenchWizardElement</code> and removes all * entries which fail the Expressions check. * * @param inWorkbenchWizardElements * Array of <code>WorkbenchWizardElement</code>. * @return The array minus the elements which failed the Expressions check. */ private WorkbenchWizardElement[] getWorkbenchWizardElementsExpression( final WorkbenchWizardElement[] inWorkbenchWizardElements) { final int lSize = inWorkbenchWizardElements.length; final List<WorkbenchWizardElement> outResult = new ArrayList<WorkbenchWizardElement>( lSize); for (int i = 0; i < lSize; i++) { final WorkbenchWizardElement lElement = inWorkbenchWizardElements[i]; if (!WorkbenchActivityHelper.restrictUseOf(lElement)) { outResult.add(lElement); } } return outResult.toArray(new WorkbenchWizardElement[outResult.size()]); }