List of usage examples for org.eclipse.jface.viewers ViewerFilter select
public abstract boolean select(Viewer viewer, Object parentElement, Object element);
From source file:com.ebmwebsourcing.petals.common.internal.provisional.projectscnf.PetalsProjectContentProvider.java
License:Open Source License
@Override public void resourcesAdded(final Collection<IResource> resources) { if (!(this.viewer instanceof AbstractTreeViewer)) return;/*www .j a v a 2s .c om*/ // Compute as much things as possible outside the UI thread // Group elements to reduce the number of runnables List<IProject> projects = new ArrayList<IProject>(); Map<Object, List<IResource>> parentToResources = new HashMap<Object, List<IResource>>(); for (final IResource res : resources) { if (res instanceof IProject) { projects.add((IProject) res); } else { final Object parent = getParent(res); List<IResource> list = parentToResources.get(parent); if (list == null) list = new ArrayList<IResource>(); list.add(res); if (parent != null) parentToResources.put(parent, list); else PetalsCommonPlugin.log("Could not find the parent for " + res, IStatus.ERROR); } } // Update the viewer final AbstractTreeViewer treeViewer = (AbstractTreeViewer) this.viewer; // Projects for (final IProject p : projects) { List<PetalsProjectCategory> cats = PetalsProjectManager.INSTANCE.getCategories(p); if (cats == null) cats = Collections.emptyList(); for (final PetalsProjectCategory cat : cats) { Runnable runnable = new Runnable() { @Override public void run() { boolean visible = true; if (treeViewer.getFilters() != null) { for (int i = 0; visible && i < treeViewer.getFilters().length; i++) { ViewerFilter filter = treeViewer.getFilters()[i]; visible = filter.select(treeViewer, cat, p); } } if (visible) { treeViewer.getControl().setRedraw(false); treeViewer.add(cat, p); treeViewer.getControl().setRedraw(true); } } }; this.runnables.add(runnable); } } // Other resources for (final Map.Entry<Object, List<IResource>> entry : parentToResources.entrySet()) { Runnable runnable = new Runnable() { @Override public void run() { treeViewer.getControl().setRedraw(false); treeViewer.add(entry.getKey(), entry.getValue().toArray()); treeViewer.getControl().setRedraw(true); } }; this.runnables.add(runnable); } }
From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.jdt.CheckboxTreeAndListGroup.java
License:Open Source License
/** * Returns the result of running the given elements through the filters. * @param filters/*from w w w . j av a2 s . c o m*/ * * @param elements the elements to filter * @return only the elements which all filters accept */ protected Object[] filter(ViewerFilter[] filters, Object[] elements) { if (filters != null) { ArrayList filtered = new ArrayList(elements.length); for (Object element : elements) { boolean add = true; for (ViewerFilter filter : filters) { add = filter.select(null, null, element); if (!add) break; } if (add) filtered.add(element); } return filtered.toArray(); } return elements; }
From source file:com.google.dart.tools.ui.internal.viewsupport.ProblemTreeViewer.java
License:Open Source License
/** * All element filter tests must go through this method. Can be overridden by subclasses. * /*from w ww . j a v a 2s . c o m*/ * @param object the object to filter * @param parent the parent * @param filters the filters to apply * @return true if the element is filtered */ protected boolean isFiltered(Object object, Object parent, ViewerFilter[] filters) { for (int i = 0; i < filters.length; i++) { ViewerFilter filter = filters[i]; if (!filter.select(this, parent, object)) { return true; } } return false; }
From source file:com.google.eclipse.javascript.jstestdriver.ui.view.actions.FailureOnlyViewerFilterTest.java
License:Apache License
public void testSelect() throws Exception { ViewerFilter filter = new FailureOnlyViewerFilter(); ResultModel model = new EclipseJstdBrowserRunResult(null, "browser"); model.addTestResult(passing1);/*from w ww .j ava 2 s . co m*/ model.addTestResult(passing2); model.addTestResult(failed1); model.addTestResult(failed2); model.addTestResult(error1); model.addTestResult(error2); Iterator<? extends ResultModel> iterator = model.getChildren().iterator(); ResultModel testcase1 = iterator.next(); ResultModel testcase3 = iterator.next(); ResultModel testcase2 = iterator.next(); assertTrue(filter.select(null, null, model)); assertTrue(filter.select(null, null, testcase1)); assertTrue(filter.select(null, null, testcase2)); assertFalse(filter.select(null, null, testcase3)); assertTrue(filter.select(null, null, testcase1.getChildren().iterator().next())); iterator = testcase2.getChildren().iterator(); assertTrue(filter.select(null, null, iterator.next())); assertTrue(filter.select(null, null, iterator.next())); assertFalse(filter.select(null, null, iterator.next())); assertFalse(filter.select(null, null, testcase3.getChildren().iterator().next())); }
From source file:com.kdmanalytics.toif.ui.internal.filters.AbstractTwoToolsFilter.java
License:Open Source License
/** * Get all findings for the file, ignoring ones not accepted by the * sub-filters.//from w w w . ja va 2 s .co m * * @param file * @return * @throws CoreException */ protected List<IFindingEntry> getFindings(IFile file) throws CoreException { List<IFindingEntry> results = new LinkedList<IFindingEntry>(); IMarker[] problems = file.findMarkers(IMarker.TEXT, true, IResource.DEPTH_INFINITE); for (IMarker marker : problems) { String type = marker.getType(); if (type != null && type.startsWith("com.kdmanalytics.toif")) { IFindingEntry entry = new FindingEntry(marker); boolean accept = true; for (ViewerFilter filter : subFilters) { if (!filter.select(null, null, entry)) { accept = false; break; } } if (accept) { results.add(entry); } } } return results; }
From source file:com.kdmanalytics.toif.ui.internal.filters.AndFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { // No filters -- nothing is valid if (filterList.isEmpty()) return false; for (ViewerFilter filter : filterList) { // Return false is ANY filter rejects a value if (!filter.select(viewer, parentElement, element)) return false; }//from ww w.ja va2s. c o m return true; }
From source file:edu.uci.lighthouse.ui.views.LighthouseRelationshipContentProvider.java
License:Open Source License
protected boolean showEntity(LighthouseEntity entity) { // TODO Optimize the algorithm boolean result = false; LighthouseModel model = LighthouseModel.getInstance(); ViewerFilter[] filters = FilterManager.getInstance().getViewerFilters(); for (ViewerFilter filter : filters) { boolean selected = filter.select(viewer, model, entity); // if (selected) { result |= selected;//w ww . j a va 2 s . c o m // } } if (filters.length == 0) { result = true; } // IClassFilter[] filters = FilterManager.getInstance().getClassFilters(); // boolean selected = false; // if (filters.length > 0) { // for (IClassFilter filter : filters) { // selected |= filter.select(model, entity); // } // if (!selected) { // return true; // } // } return result; }
From source file:eu.esdihumboldt.hale.ui.util.selector.AbstractViewerSelectionDialog.java
License:Open Source License
/** * Determines if the given object matches the given filters. * // w ww . j a v a2 s .c o m * @param viewer the viewer * @param filters the viewer filters * @param candidate the object to test * @return if the object is accepted by all filters */ public static boolean acceptObject(Viewer viewer, ViewerFilter[] filters, Object candidate) { if (filters == null) return true; for (ViewerFilter filter : filters) if (!filter.select(viewer, null, candidate)) return false; return true; }
From source file:eu.esdihumboldt.hale.ui.views.mapping.AlignmentViewContentProvider.java
License:Open Source License
/** * Checks whether the cell makes it through all the filters. * //from w w w .j a va 2s .com * @param cell the cell to check * @return <code>true</code> if element is included in the filtered set, and * <code>false</code> if exclude */ private boolean select(Cell cell) { for (ViewerFilter filter : filters) if (!filter.select(null, null, cell)) return false; return true; }
From source file:eu.geclipse.ui.wizards.VoSelectionWizardPage.java
License:Open Source License
/** * Determines which VO to select initially in the viewer. *///from w ww . j a v a2s . c om private void setInitialSelection() { IGridElement defaultVo = GridModel.getVoManager().getDefault(); if (defaultVo == null) { // No default VO, take the first entry if any, null otherwise defaultVo = (IGridElement) this.tableViewer.getElementAt(0); } else { // Check if the default VO is of the requested voType boolean show = true; for (ViewerFilter filter : this.tableViewer.getFilters()) { show &= filter.select(this.tableViewer, this.voList, defaultVo); } // If it is not, then select the first of the list if any, null otherwise if (!show) { defaultVo = (IGridElement) this.tableViewer.getElementAt(0); } } setSelection(defaultVo); }