@Override public Object[] filter(Viewer viewer, TreePath parentPath, Object[] elements) { int size = elements.length; ArrayList<Object> out = new ArrayList<>(size); for (int i = 0; i < size; ++i) { Object element = elements[i]; if (selectTreePath(viewer, parentPath, element)) { out.add(element); } } return out.toArray(); }
fDoFilter= false; } else { getTreeViewer().addFilter(new NamePatternFilter());
fDoFilter= false; } else { getTreeViewer().addFilter(new NamePatternFilter());
fDoFilter= false; } else { getTreeViewer().addFilter(new NamePatternFilter());
treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new MemberFilter());
treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new MemberFilter());
@Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree= new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd= new GridData(GridData.FILL_BOTH); gd.heightHint= tree.getItemHeight() * 12; tree.setLayoutData(gd); final TreeViewer treeViewer= new OutlineTreeViewer(tree); // Hard-coded filters treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new MemberFilter()); fInnerLabelProvider= new OutlineLabelProvider(); fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null)); IDecoratorManager decoratorMgr= PlatformUI.getWorkbench().getDecoratorManager(); if (decoratorMgr.getEnabled("org.eclipse.jdt.ui.override.decorator")) //$NON-NLS-1$ fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null)); treeViewer.setLabelProvider(new ColoringLabelProvider(fInnerLabelProvider)); fLexicalSortingAction= new LexicalSortingAction(treeViewer); fSortByDefiningTypeAction= new SortByDefiningTypeAction(treeViewer); fShowOnlyMainTypeAction= new ShowOnlyMainTypeAction(treeViewer); fCategoryFilterActionGroup= new CategoryFilterActionGroup(treeViewer, getId(), getInputForCategories()); fOutlineContentProvider= new OutlineContentProvider(false); treeViewer.setContentProvider(fOutlineContentProvider); fOutlineSorter= new OutlineSorter(); treeViewer.setComparator(fOutlineSorter); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); treeViewer.getTree().addKeyListener(getKeyAdapter()); return treeViewer; }
@Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree= new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd= new GridData(GridData.FILL_BOTH); gd.heightHint= tree.getItemHeight() * 12; tree.setLayoutData(gd); final TreeViewer treeViewer= new OutlineTreeViewer(tree); // Hard-coded filters treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new MemberFilter()); fInnerLabelProvider= new OutlineLabelProvider(); fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null)); IDecoratorManager decoratorMgr= PlatformUI.getWorkbench().getDecoratorManager(); if (decoratorMgr.getEnabled("org.eclipse.jdt.ui.override.decorator")) //$NON-NLS-1$ fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null)); treeViewer.setLabelProvider(new ColoringLabelProvider(fInnerLabelProvider)); fLexicalSortingAction= new LexicalSortingAction(treeViewer); fSortByDefiningTypeAction= new SortByDefiningTypeAction(treeViewer); fShowOnlyMainTypeAction= new ShowOnlyMainTypeAction(treeViewer); fCategoryFilterActionGroup= new CategoryFilterActionGroup(treeViewer, getId(), getInputForCategories()); fOutlineContentProvider= new OutlineContentProvider(false); treeViewer.setContentProvider(fOutlineContentProvider); fOutlineSorter= new OutlineSorter(); treeViewer.setComparator(fOutlineSorter); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); treeViewer.getTree().addKeyListener(getKeyAdapter()); return treeViewer; }
public boolean selectTreePath(Viewer viewer, TreePath parentPath, Object element) { // Avoid endless loops, see https://bugs.eclipse.org/395202 : // Cut off children of elements that are shown repeatedly. for (int i= 0; i < parentPath.getSegmentCount() - 1; i++) { if (element.equals(parentPath.getSegment(i))) { return false; } } JavaElementPrefixPatternMatcher matcher= getMatcher(); if (matcher == null || !(viewer instanceof TreeViewer)) return true; TreeViewer treeViewer= (TreeViewer) viewer; String matchName= ((ILabelProvider) treeViewer.getLabelProvider()).getText(element); matchName= TextProcessor.deprocess(matchName); if (matchName != null && matcher.matches(matchName)) return true; return hasUnfilteredChild(treeViewer, parentPath, element); }
public boolean selectTreePath(Viewer viewer, TreePath parentPath, Object element) { // Avoid endless loops, see https://bugs.eclipse.org/395202 : // Cut off children of elements that are shown repeatedly. for (int i= 0; i < parentPath.getSegmentCount() - 1; i++) { if (element.equals(parentPath.getSegment(i))) { return false; } } JavaElementPrefixPatternMatcher matcher= getMatcher(); if (matcher == null || !(viewer instanceof TreeViewer)) return true; TreeViewer treeViewer= (TreeViewer) viewer; String matchName= ((ILabelProvider) treeViewer.getLabelProvider()).getText(element); matchName= TextProcessor.deprocess(matchName); if (matchName != null && matcher.matches(matchName)) return true; return hasUnfilteredChild(treeViewer, parentPath, element); }
private boolean hasUnfilteredChild(TreeViewer viewer, TreePath parentPath, Object element) { if (element instanceof IParent) { TreePath elementPath= parentPath.createChildPath(element); IContentProvider contentProvider= viewer.getContentProvider(); Object[] children= contentProvider instanceof ITreePathContentProvider ? ((ITreePathContentProvider) contentProvider).getChildren(elementPath) : ((ITreeContentProvider) contentProvider).getChildren(element); for (int i= 0; i < children.length; i++) if (selectTreePath(viewer, elementPath, children[i])) return true; } return false; } }
private boolean hasUnfilteredChild(TreeViewer viewer, TreePath parentPath, Object element) { if (element instanceof IParent) { TreePath elementPath= parentPath.createChildPath(element); IContentProvider contentProvider= viewer.getContentProvider(); Object[] children= contentProvider instanceof ITreePathContentProvider ? ((ITreePathContentProvider) contentProvider).getChildren(elementPath) : ((ITreeContentProvider) contentProvider).getChildren(element); for (int i= 0; i < children.length; i++) if (selectTreePath(viewer, elementPath, children[i])) return true; } return false; } }
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { return selectTreePath(viewer, new TreePath(new Object[] { parentElement }), element); }
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { return selectTreePath(viewer, new TreePath(new Object[] { parentElement }), element); }
public boolean select(Viewer viewer, Object parentElement, Object element) { StringMatcher matcher= getMatcher(); if (matcher == null || !(viewer instanceof TreeViewer)) return true; TreeViewer treeViewer= (TreeViewer) viewer; String matchName= ((ILabelProvider) treeViewer.getLabelProvider()).getText(element); if (matchName != null && matcher.match(matchName)) return true; return hasUnfilteredChild(treeViewer, element); }
@Override public Object[] filter(Viewer viewer, TreePath parentPath, Object[] elements) { int size = elements.length; ArrayList<Object> out = new ArrayList<>(size); for (int i = 0; i < size; ++i) { Object element = elements[i]; if (selectTreePath(viewer, parentPath, element)) { out.add(element); } } return out.toArray(); }
private boolean hasUnfilteredChild(TreeViewer viewer, Object element) { if (element instanceof IParent) { Object[] children= ((ITreeContentProvider) viewer.getContentProvider()).getChildren(element); for (int i= 0; i < children.length; i++) if (select(viewer, element, children[i])) return true; } return false; } }